:root {
    --bg: #f4f5f7;
    --panel: #ffffff;
    --text: #1f2937;
    --muted: #6b7280;
    --line: #d9dde4;
    --primary: #e97818;
    --dark: #161a22;
    --danger: #b91c1c;
    --success: #166534;
}
* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; background: var(--bg); color: var(--text); }
a { color: inherit; text-decoration: none; }
.topbar { height: 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 28px; background: var(--dark); color: #fff; }
.brand { font-size: 22px; font-weight: 800; }
.topbar nav { display: flex; gap: 20px; align-items: center; }
.page-shell { min-height: calc(100vh - 112px); padding: 28px; }
.footer { padding: 14px 28px; background: #fff; border-top: 1px solid var(--line); color: var(--muted); }
.hero { min-height: 260px; background: linear-gradient(135deg, #222733, #3a3f4c); color: #fff; border-radius: 18px; padding: 48px; display: flex; align-items: center; margin-bottom: 28px; }
.hero h1 { font-size: 42px; margin: 0 0 8px; }
.grid { display: grid; gap: 18px; }
.cards { grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); }
.product-grid { grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); }
.card { display: block; background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 18px; box-shadow: 0 8px 20px rgba(0,0,0,.04); }
.card:hover { border-color: var(--primary); }
.card img, .product-card img { width: 100%; height: 180px; object-fit: contain; background: #f9fafb; border-radius: 12px; }
.tag { display: inline-flex; align-items: center; padding: 4px 10px; background: #fff2e6; color: #9a4a00; border-radius: 999px; font-size: 12px; font-weight: bold; margin: 8px 0; }
.button { border: 1px solid var(--line); background: #fff; color: var(--text); padding: 10px 14px; border-radius: 10px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-weight: 700; }
.button.primary { background: var(--primary); border-color: var(--primary); color: #fff; }
.button.danger { background: var(--danger); border-color: var(--danger); color: #fff; }
.button.small { padding: 6px 10px; font-size: 12px; }
.link-button { background: none; border: none; color: #fff; cursor: pointer; font: inherit; padding: 0; }
.inline-form { display: inline; }
.portal-layout { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 22px; align-items: start; }
.portal-nav { background: var(--dark); color: #fff; border-radius: 16px; padding: 16px; position: sticky; top: 18px; }
.portal-nav a { display: block; padding: 10px 12px; border-radius: 10px; color: #fff; }
.portal-nav a:hover { background: rgba(255,255,255,.12); }
.portal-title { font-size: 22px; font-weight: 800; padding: 8px 12px 16px; }
.portal-group { color: #aeb4c0; padding: 18px 12px 6px; font-size: 12px; text-transform: uppercase; font-weight: 800; }
.portal-content { min-width: 0; }
.heading-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.panel { background: var(--panel); border: 1px solid var(--line); border-radius: 16px; padding: 18px; margin-bottom: 18px; }
.form-grid { display: grid; grid-template-columns: 180px minmax(0, 1fr); gap: 12px 16px; align-items: start; }
.form-stack { display: grid; gap: 10px; }
input, select, textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line); border-radius: 10px; font: inherit; background: #fff; }
textarea { min-height: 80px; }
.check { display: flex; gap: 8px; align-items: center; }
.check input { width: auto; }
.data-table { width: 100%; border-collapse: collapse; background: #fff; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.data-table th, .data-table td { padding: 11px 12px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: middle; }
.data-table thead th { background: #f1f3f6; font-size: 13px; text-transform: uppercase; color: var(--muted); }
.data-table.compact th, .data-table.compact td { padding: 8px 10px; }
.actions { white-space: nowrap; display: flex; gap: 6px; align-items: center; }
.tiny-img { width: 54px; height: 42px; object-fit: contain; background: #f9fafb; border-radius: 6px; border: 1px solid var(--line); }
.filter-bar { display: flex; gap: 10px; margin-bottom: 18px; }
.filter-bar select { max-width: 260px; }
.auth-box { max-width: 460px; margin: 40px auto; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 24px; }
.alert { padding: 12px 14px; border-radius: 10px; margin-bottom: 16px; border: 1px solid var(--line); }
.alert.error { background: #fef2f2; color: var(--danger); border-color: #fecaca; }
.alert.success { background: #f0fdf4; color: var(--success); border-color: #bbf7d0; }
.alert.info { background: #eff6ff; color: #1d4ed8; border-color: #bfdbfe; }
.muted { color: var(--muted); }
.small { font-size: 13px; }
.placeholder-img { height: 180px; background: #eef0f3; color: var(--muted); display: flex; align-items: center; justify-content: center; border-radius: 12px; }
.placeholder-img.large { height: 390px; }
.product-detail { display: grid; grid-template-columns: minmax(280px, 480px) minmax(0, 1fr); gap: 28px; align-items: start; }
.main-product-image { width: 100%; height: 390px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 18px; }
.thumb-row { display: flex; gap: 8px; margin-top: 10px; flex-wrap: wrap; }
.thumb-row img { width: 80px; height: 70px; object-fit: contain; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.inline-panel { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; }
.inline-panel input[type="file"] { max-width: 320px; }
.inline-panel input[type="number"] { max-width: 100px; }
.picture-list { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
.picture-tile { width: 160px; background: #f9fafb; border: 1px solid var(--line); border-radius: 14px; padding: 10px; text-align: center; }
.picture-tile img { width: 100%; height: 105px; object-fit: contain; background: #fff; border-radius: 10px; }
.three-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.dashboard-cards .card h3 { margin-top: 0; }
@media (max-width: 900px) {
    .portal-layout, .product-detail { grid-template-columns: 1fr; }
    .portal-nav { position: static; }
    .form-grid { grid-template-columns: 1fr; }
    .three-cols { grid-template-columns: 1fr; }
    .topbar { height: auto; gap: 12px; flex-direction: column; align-items: flex-start; padding: 16px; }
    .topbar nav { flex-wrap: wrap; }
}

.product-type-panel {
    grid-column: 1 / -1;
    border: 1px solid var(--line);
    background: #fafafa;
    border-radius: 14px;
    padding: 16px;
    margin-top: 6px;
}
.product-type-panel h2 { margin: 0 0 12px; }
.type-field-grid {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 12px 16px;
    align-items: start;
}
@media (max-width: 900px) {
    .type-field-grid { grid-template-columns: 1fr; }
}


/* Compact product add/edit form - V1 compact form update */
.no-margin { margin: 0; }
.compact-heading h1 { margin-bottom: 4px; }
.product-edit-page .panel { padding: 14px; }
.product-form-compact { padding: 0; overflow: hidden; }
.product-quick-strip {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) minmax(160px, 1fr) minmax(160px, 1fr) minmax(140px, 1fr) minmax(140px, 1fr) minmax(160px, auto) auto;
    gap: 10px;
    align-items: end;
    padding: 14px;
    background: linear-gradient(180deg, #fff, #fbfbfc);
    border-bottom: 1px solid var(--line);
}
.field-block { display: grid; gap: 5px; min-width: 0; }
.field-block label,
.product-quick-strip label,
.compact-type-grid label { font-size: 12px; color: var(--muted); font-weight: 800; text-transform: uppercase; letter-spacing: .02em; }
.product-quick-strip input,
.product-quick-strip select,
.product-form-compact input,
.product-form-compact select,
.product-form-compact textarea { padding: 8px 10px; border-radius: 9px; }
.product-form-compact textarea { min-height: 72px; }
.toggle-block { display: grid; gap: 8px; align-self: center; padding-bottom: 4px; }
.toggle-block .check { font-size: 13px; font-weight: 700; color: var(--text); text-transform: none; letter-spacing: 0; }
.save-block { align-self: end; }
.save-block .button { min-height: 39px; white-space: nowrap; }
.form-tabs { display: flex; gap: 6px; padding: 10px 14px 0; border-bottom: 1px solid var(--line); background: #fff; }
.form-tab {
    border: 1px solid var(--line);
    border-bottom: none;
    background: #f7f8fa;
    padding: 8px 12px;
    border-radius: 10px 10px 0 0;
    cursor: pointer;
    font-weight: 800;
    color: var(--muted);
}
.form-tab.active { background: #fff; color: var(--text); border-color: var(--primary); box-shadow: inset 0 3px 0 var(--primary); }
.form-tab-panel,
.extra-tab-panel { display: none; padding: 14px; }
.form-tab-panel.active,
.extra-tab-panel.active { display: block; }
.compact-note { background: #fff8f1; border: 1px solid #fed7aa; color: #9a4a00; padding: 10px 12px; border-radius: 10px; margin-bottom: 12px; }
.compact-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.compact-summary-grid > div { border: 1px solid var(--line); border-radius: 12px; padding: 10px 12px; background: #fafafa; }
.compact-summary-grid span { display: block; font-size: 12px; color: var(--muted); font-weight: 800; text-transform: uppercase; margin-bottom: 4px; }
.compact-summary-grid strong { font-size: 16px; }
.section-title-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; }
.section-title-row h2 { margin: 0; font-size: 20px; }
.pill { display: inline-flex; align-items: center; padding: 5px 10px; border-radius: 999px; background: #f1f3f6; color: var(--muted); font-size: 12px; font-weight: 800; }
.product-form-compact .product-type-panel { border: 0; background: transparent; border-radius: 0; padding: 0; margin: 0; }
.compact-type-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 12px;
}
.compact-type-grid .wide { grid-column: span 3; }
.description-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.description-grid textarea { min-height: 140px; }
.form-actions-sticky {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 14px;
    background: #f7f8fa;
    border-top: 1px solid var(--line);
}
.after-save-panel { margin-top: 18px; }
.secondary-tabs { padding-left: 0; padding-right: 0; }
.compact-upload-panel { margin-bottom: 12px; }
.compact-picture-tile { width: 145px; }
.compact-picture-tile img { height: 88px; }
.compact-links h3 { margin: 0 0 8px; }
.compact-links .check { margin-bottom: 6px; }
.compact-info { margin-top: 16px; }
@media (max-width: 1500px) {
    .product-quick-strip { grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(150px, 1fr)); }
    .toggle-block, .save-block { grid-column: auto; }
}
@media (max-width: 1100px) {
    .product-quick-strip { grid-template-columns: 1fr 1fr; }
    .save-block { justify-self: start; }
    .compact-type-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .compact-type-grid .wide { grid-column: span 2; }
    .compact-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .description-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    .product-quick-strip,
    .compact-type-grid,
    .compact-summary-grid { grid-template-columns: 1fr; }
    .compact-type-grid .wide { grid-column: auto; }
    .form-tabs { overflow-x: auto; }
    .form-actions-sticky { flex-direction: column; align-items: stretch; }
}

/* Product form compact fields + drag rearrange update */
.product-edit-page .layout-tools {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    padding: 10px 14px;
    background: #fff;
    border-bottom: 1px solid var(--line);
}
.product-quick-strip.compact-field-layout,
.compact-type-grid.compact-field-layout {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    justify-content: flex-start;
    gap: 10px 12px;
}
.product-quick-strip.compact-field-layout {
    padding: 12px 14px;
}
.product-quick-strip.compact-field-layout .field-block,
.compact-type-grid.compact-field-layout .field-block {
    flex: 0 1 205px;
    width: 205px;
    max-width: 205px;
}
.product-quick-strip.compact-field-layout .field-block.wide {
    flex-basis: 360px;
    width: 360px;
    max-width: 420px;
}
.compact-type-grid.compact-field-layout .field-block.wide {
    flex-basis: 520px;
    width: 520px;
    max-width: 680px;
}
.product-form-compact input,
.product-form-compact select {
    min-height: 36px;
}
.product-form-compact textarea {
    min-height: 62px;
    resize: vertical;
}
.compact-type-grid.compact-field-layout .field-block:not(.wide) textarea {
    min-height: 36px;
}
.description-grid .field-block {
    width: auto;
    max-width: none;
}
.description-grid textarea {
    min-height: 120px;
}
.drag-handle {
    display: none;
    align-self: flex-start;
    width: max-content;
    padding: 2px 7px;
    border-radius: 999px;
    background: #fff2e6;
    color: #9a4a00;
    border: 1px solid #fed7aa;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    cursor: grab;
    user-select: none;
}
.product-arrange-mode .compact-field-layout .draggable-field {
    border: 1px dashed #f59e0b;
    border-radius: 12px;
    padding: 7px;
    background: #fffdf8;
    cursor: grab;
}
.product-arrange-mode .compact-field-layout .draggable-field:active {
    cursor: grabbing;
}
.product-arrange-mode .compact-field-layout .drag-handle {
    display: inline-flex;
    margin-bottom: 2px;
}
.compact-field-layout .draggable-field.dragging {
    opacity: .55;
    transform: scale(.98);
}
.product-arrange-mode #toggleFieldArrange {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}
@media (max-width: 1100px) {
    .product-quick-strip.compact-field-layout .field-block,
    .compact-type-grid.compact-field-layout .field-block {
        flex-basis: 190px;
        width: 190px;
        max-width: 220px;
    }
    .product-quick-strip.compact-field-layout .field-block.wide,
    .compact-type-grid.compact-field-layout .field-block.wide {
        flex-basis: 100%;
        width: 100%;
        max-width: none;
    }
}
@media (max-width: 700px) {
    .product-quick-strip.compact-field-layout .field-block,
    .compact-type-grid.compact-field-layout .field-block,
    .product-quick-strip.compact-field-layout .field-block.wide,
    .compact-type-grid.compact-field-layout .field-block.wide {
        flex-basis: 100%;
        width: 100%;
        max-width: none;
    }
}

/* Add/Edit Product simple no-tabs layout */
.product-simple-page .simple-product-form {
    padding: 0;
    overflow: visible;
}
.product-simple-page .simple-section {
    padding: 14px;
    border-bottom: 1px solid var(--line);
    background: #fff;
}
.product-simple-page .simple-section:last-child {
    border-bottom: 0;
}
.product-simple-page .simple-title-row {
    margin-bottom: 10px;
}
.product-simple-page .simple-title-row h2,
.product-simple-page .product-type-panel h2,
.product-simple-page .pictures-only-panel h2 {
    font-size: 18px;
}
.simple-product-grid,
.simple-type-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 12px;
    align-items: flex-end;
    justify-content: flex-start;
}
.simple-product-grid .field-block,
.simple-type-grid .field-block {
    flex: 0 0 210px;
    width: 210px;
    max-width: 210px;
}
.simple-product-grid .field-name {
    flex-basis: 380px;
    width: 380px;
    max-width: 430px;
}
.simple-product-grid .field-type {
    flex-basis: 230px;
    width: 230px;
    max-width: 230px;
}
.simple-type-grid .field-block.wide {
    flex: 0 0 540px;
    width: 540px;
    max-width: 680px;
}
.product-simple-page input,
.product-simple-page select {
    min-height: 36px;
}
.product-simple-page textarea {
    min-height: 68px;
    resize: vertical;
}
.simple-toggle-block {
    flex: 0 0 190px;
    width: 190px;
    max-width: 190px;
    align-self: center;
    padding-bottom: 2px;
}
.simple-toggle-block .check {
    font-size: 13px;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0;
}
.product-simple-page .simple-type-section .product-type-panel {
    border: 1px solid var(--line);
    background: #fafafa;
    border-radius: 14px;
    padding: 12px;
    margin: 0;
}
.product-simple-page .description-grid.simple-description-grid {
    display: grid;
    grid-template-columns: minmax(280px, 430px) minmax(360px, 680px);
    gap: 14px;
    align-items: start;
}
.product-simple-page .simple-description-grid .field-block {
    width: auto;
    max-width: none;
}
.product-simple-page .simple-description-grid textarea {
    min-height: 125px;
}
.product-simple-page .simple-actions {
    border-top: 0;
}
.product-simple-page .pictures-only-panel {
    padding: 14px;
}
.product-simple-page .compact-upload-panel input[type="file"] {
    max-width: 300px;
}
@media (max-width: 1100px) {
    .simple-product-grid .field-block,
    .simple-type-grid .field-block,
    .simple-product-grid .field-name,
    .simple-product-grid .field-type,
    .simple-toggle-block {
        flex-basis: calc(50% - 8px);
        width: calc(50% - 8px);
        max-width: none;
    }
    .simple-type-grid .field-block.wide {
        flex-basis: 100%;
        width: 100%;
        max-width: none;
    }
    .product-simple-page .description-grid.simple-description-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 700px) {
    .simple-product-grid .field-block,
    .simple-type-grid .field-block,
    .simple-product-grid .field-name,
    .simple-product-grid .field-type,
    .simple-type-grid .field-block.wide,
    .simple-toggle-block {
        flex-basis: 100%;
        width: 100%;
        max-width: none;
    }
    .product-simple-page .section-title-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Add/Edit Product - fixed 3-column layout override */
.product-simple-page .product-form-compact,
.product-simple-page .pictures-only-panel,
.product-simple-page .compact-info {
    max-width: 1180px;
}

.product-simple-page .simple-product-form {
    overflow: visible;
}

.product-simple-page .simple-product-grid,
.product-simple-page .simple-type-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(210px, 300px));
    gap: 12px 14px;
    align-items: end;
    justify-content: start;
}

.product-simple-page .simple-product-grid .field-block,
.product-simple-page .simple-type-grid .field-block,
.product-simple-page .simple-product-grid .field-name,
.product-simple-page .simple-product-grid .field-type,
.product-simple-page .simple-toggle-block {
    width: auto;
    max-width: none;
    min-width: 0;
    flex: unset;
}

.product-simple-page .simple-product-grid .field-name {
    grid-column: span 2;
}

.product-simple-page .simple-toggle-block {
    display: grid;
    gap: 7px;
    align-self: center;
    max-width: 300px;
}

.product-simple-page .simple-type-grid .field-block.wide {
    grid-column: span 2;
    width: auto;
    max-width: none;
    flex: unset;
}

.product-simple-page input,
.product-simple-page select {
    min-height: 36px;
    max-width: 100%;
}

.product-simple-page textarea {
    max-width: 100%;
}

.product-simple-page .simple-description-grid {
    display: grid;
    grid-template-columns: minmax(320px, 430px) minmax(420px, 640px);
    gap: 14px;
    align-items: start;
    justify-content: start;
}

.product-simple-page .simple-description-grid .field-block,
.product-simple-page .simple-description-grid textarea {
    width: 100%;
    max-width: none;
}

.product-simple-page .pictures-only-panel .inline-panel {
    max-width: 920px;
}

@media (max-width: 1250px) {
    .product-simple-page .simple-product-grid,
    .product-simple-page .simple-type-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
    .product-simple-page .simple-product-grid .field-name,
    .product-simple-page .simple-type-grid .field-block.wide {
        grid-column: span 2;
    }
    .product-simple-page .simple-description-grid {
        grid-template-columns: 1fr;
        max-width: 760px;
    }
}

@media (max-width: 720px) {
    .product-simple-page .simple-product-grid,
    .product-simple-page .simple-type-grid {
        grid-template-columns: 1fr;
    }
    .product-simple-page .simple-product-grid .field-name,
    .product-simple-page .simple-type-grid .field-block.wide {
        grid-column: auto;
    }
}


/* Add/Edit Product - working field rearrange */
.product-simple-page .reorder-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 10px;
    align-items: center;
    padding: 8px 0 12px;
    border-top: 1px dashed var(--line);
}

.product-simple-page .field-reorder-enabled {
    outline: 2px dashed rgba(235, 109, 32, 0.35);
    outline-offset: 6px;
    border-radius: 12px;
}

.product-simple-page .field-reorder-enabled [data-field-key] {
    cursor: grab;
    position: relative;
    user-select: none;
}

.product-simple-page .field-reorder-enabled [data-field-key] input,
.product-simple-page .field-reorder-enabled [data-field-key] select,
.product-simple-page .field-reorder-enabled [data-field-key] textarea {
    pointer-events: none;
    background: #fffdf8;
}

.product-simple-page .field-reorder-enabled [data-field-key]::after {
    content: "drag";
    position: absolute;
    top: -7px;
    right: 6px;
    background: #fff3ea;
    border: 1px solid rgba(235, 109, 32, 0.35);
    color: #a44712;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 800;
    padding: 1px 6px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

.product-simple-page .dragging-field {
    opacity: .55;
    cursor: grabbing;
    transform: scale(.985);
}


/* Database-backed lookup inputs with add-on-the-fly typing */
.product-simple-page .lookup-field {
    align-self: start;
}

.product-simple-page .lookup-field input[list] {
    width: 100%;
    background: #fff;
}

.product-simple-page .lookup-field .field-hint {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.25;
}


/* Product form smart title preview */
.product-simple-page .display-preview-block {
    align-self: end;
}
.product-title-preview {
    min-height: 36px;
    display: flex;
    align-items: center;
    padding: 8px 10px;
    border: 1px dashed var(--line);
    border-radius: 9px;
    background: #fbfbfc;
    font-weight: 800;
    color: var(--text);
}
.product-simple-page .field-hint {
    display: block;
    margin-top: 4px;
    font-size: 11px;
    line-height: 1.25;
}

/* Brands & Models dropdown and management */
.lookup-field-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}

.lookup-manage-button {
    min-width: 74px;
    text-align: center;
    white-space: nowrap;
}

.brand-manage-panel .brand-add-row {
    align-items: end;
}

.brand-add-row .field-block {
    margin-bottom: 0;
}

.small-number-field {
    max-width: 120px;
}

.inline-check {
    padding-bottom: 10px;
}

.brand-edit-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: center;
    margin: 0;
}

.brand-edit-fields {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 100px auto;
    gap: 10px;
    align-items: center;
}

.brand-edit-actions {
    display: flex;
    gap: 6px;
    justify-content: flex-end;
}

@media (max-width: 900px) {
    .brand-edit-row,
    .brand-edit-fields,
    .lookup-field-row {
        grid-template-columns: 1fr;
    }

    .brand-edit-actions {
        justify-content: flex-start;
    }
}


/* Products list cleanup: keep actions close to the row data */
.product-list-page {
    max-width: 1380px;
}

.product-list-page .heading-row {
    max-width: 1380px;
}

.product-table-card {
    max-width: 1380px;
    overflow-x: auto;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
}

.product-list-table {
    width: 100%;
    min-width: 1040px;
    border: 0;
    border-radius: 0;
}

.product-list-table th,
.product-list-table td {
    white-space: nowrap;
}

.product-list-table th:nth-child(1),
.product-list-table td:nth-child(1) { width: 90px; }
.product-list-table th:nth-child(2),
.product-list-table td:nth-child(2) { width: 150px; }
.product-list-table th:nth-child(3),
.product-list-table td:nth-child(3) { min-width: 240px; }
.product-list-table th:nth-child(4),
.product-list-table td:nth-child(4) { width: 170px; }
.product-list-table th:nth-child(5),
.product-list-table td:nth-child(5) { width: 170px; }
.product-list-table th:nth-child(6),
.product-list-table td:nth-child(6) { width: 95px; }
.product-list-table th:nth-child(7),
.product-list-table td:nth-child(7) { width: 85px; }
.product-list-table .actions-header,
.product-list-table .actions-cell {
    width: 130px;
    text-align: left;
}

.product-list-table .row-actions {
    display: flex;
    gap: 6px;
    align-items: center;
    justify-content: flex-start;
}

.product-list-table .actions-cell form {
    margin: 0;
}

@media (max-width: 900px) {
    .product-list-page { max-width: none; }
    .product-table-card { max-width: none; }
}


/* Access Rights compact layout */
.access-rights-page {
    max-width: 940px;
}
.access-role-bar {
    max-width: 520px;
    align-items: center;
}
.access-role-bar select {
    width: 260px;
}
.access-rights-card {
    width: min(940px, 100%);
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
}
.access-rights-table {
    width: 100%;
    table-layout: fixed;
    border: 0;
    border-radius: 0;
}
.access-rights-table th,
.access-rights-table td {
    padding: 10px 12px;
}
.access-rights-table th:nth-child(1),
.access-rights-table td:nth-child(1) {
    width: 46%;
}
.access-rights-table th:nth-child(2),
.access-rights-table td:nth-child(2),
.access-rights-table th:nth-child(3),
.access-rights-table td:nth-child(3),
.access-rights-table th:nth-child(4),
.access-rights-table td:nth-child(4) {
    width: 18%;
    text-align: center;
}
.access-rights-table .module-cell {
    font-weight: 700;
    color: var(--text);
    text-align: left;
}
.permission-check-cell input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0 auto;
    display: block;
}
.access-rights-actions {
    padding: 12px;
    background: #f7f8fa;
    border-top: 1px solid var(--line);
}
@media (max-width: 900px) {
    .access-rights-page,
    .access-rights-card {
        max-width: none;
        width: 100%;
    }
    .access-rights-table th:nth-child(1),
    .access-rights-table td:nth-child(1) {
        width: 40%;
    }
    .access-rights-table th:nth-child(2),
    .access-rights-table td:nth-child(2),
    .access-rights-table th:nth-child(3),
    .access-rights-table td:nth-child(3),
    .access-rights-table th:nth-child(4),
    .access-rights-table td:nth-child(4) {
        width: 20%;
    }
}


/* Product prices */
.price-field input { max-width: 220px; }
.product-card-price {
    display: inline-flex;
    align-items: center;
    margin: 4px 0 8px;
    padding: 4px 8px;
    border-radius: 999px;
    background: #fff3ea;
    color: #a44712;
    font-weight: 800;
    font-size: 13px;
}
.product-detail-price {
    display: inline-flex;
    margin: 4px 0 12px;
    padding: 6px 12px;
    border-radius: 999px;
    background: #fff3ea;
    color: #a44712;
    font-size: 20px;
    font-weight: 900;
}
.product-list-table th:nth-child(6),
.product-list-table td:nth-child(6),
.product-list-table th:nth-child(7),
.product-list-table td:nth-child(7) {
    width: 115px;
    white-space: nowrap;
}
.product-list-table th:nth-child(8),
.product-list-table td:nth-child(8),
.product-list-table th:nth-child(9),
.product-list-table td:nth-child(9) {
    width: 85px;
}

/* Partner orders */
.orders-page,
.order-create-page {
    max-width: 1380px;
}
.compact-heading {
    align-items: center;
    margin-bottom: 16px;
}
.card-lite {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 14px;
}
.alert.error {
    background: #fff0f0;
    border: 1px solid #f2b4b4;
    color: #9e1a1a;
    border-radius: 12px;
    padding: 12px 14px;
    margin-bottom: 14px;
    font-weight: 700;
}
.orders-table-card {
    max-width: 1100px;
}
.compact-table th,
.compact-table td {
    padding: 10px 12px;
}
.num {
    text-align: right;
    white-space: nowrap;
}
.pill {
    display: inline-flex;
    padding: 4px 10px;
    border-radius: 999px;
    background: #fff3ea;
    color: #a44712;
    font-weight: 800;
    font-size: 12px;
}
.order-toolbar {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    margin-bottom: 14px;
}
.order-filter-form {
    display: flex;
    gap: 10px;
    align-items: center;
    flex-wrap: wrap;
}
.order-filter-form input {
    width: 280px;
}
.order-filter-form select {
    width: 220px;
}
.instant-type-select {
    min-height: 42px;
    border-radius: 12px;
    border: 1px solid #cfd8e3;
    background: #fff;
    font-weight: 700;
    cursor: pointer;
}
.instant-type-select:focus {
    border-color: #f97316;
    box-shadow: 0 0 0 3px rgba(249,115,22,.14);
    outline: none;
}
.type-filter-form {
    flex: 1 1 620px;
}
.type-filter-search {
    position: relative;
    flex: 1 1 420px;
    min-width: 280px;
}
.type-filter-search input {
    width: 100%;
    min-height: 42px;
    padding-left: 42px;
    padding-right: 42px;
    border-radius: 999px;
    border: 1px solid #cfd8e3;
    background: #fff;
    font-weight: 700;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.9);
}
.type-filter-search input:focus {
    border-color: #f97316;
    box-shadow: 0 0 0 3px rgba(249,115,22,.14);
    outline: none;
}
.type-filter-icon {
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
    color: #64748b;
    font-size: 18px;
    font-weight: 900;
    pointer-events: none;
}
.type-filter-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border: 0;
    border-radius: 999px;
    background: #eef2f7;
    color: #334155;
    font-size: 18px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}
.type-filter-clear:hover {
    background: #fee2e2;
    color: #991b1b;
}
.order-filter-submit {
    min-height: 40px;
}
.order-no-results {
    margin-top: 10px;
    padding: 16px;
    border: 1px dashed #cbd5e1;
    border-radius: 14px;
    background: #fff;
    color: #64748b;
    font-weight: 800;
    text-align: center;
}
.view-switch {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.order-settings {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
    max-width: 760px;
}
.order-settings h2 {
    margin: 0 0 4px;
    font-size: 18px;
}
.order-vat-field {
    display: grid;
    grid-template-columns: auto 120px;
    gap: 10px;
    align-items: center;
}
.order-vat-field label {
    font-weight: 800;
}
.order-vat-field input {
    text-align: right;
    width: 120px;
}

.order-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: 18px;
    align-items: start;
}
.order-products {
    display: grid;
    gap: 10px;
}
.order-products.list-mode {
    grid-template-columns: 1fr;
}
.order-products.grid-mode {
    grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
}
.order-product-card {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 12px;
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr) 110px 70px;
    gap: 12px;
    align-items: center;
}
.order-products.grid-mode .order-product-card {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.order-product-img {
    width: 72px;
    height: 72px;
    border: 1px solid var(--line);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #f7f8fb;
    color: #7a8392;
    font-size: 11px;
    text-align: center;
}
.order-products.grid-mode .order-product-img {
    width: 100%;
    height: 135px;
}
.order-product-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}
.order-product-main h3 {
    margin: 4px 0 4px;
    font-size: 16px;
}
.order-product-price {
    text-align: right;
    white-space: nowrap;
}
.order-products.grid-mode .order-product-price {
    text-align: left;
}
.basket-panel {
    position: sticky;
    top: 16px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 16px;
}
.basket-panel h2 {
    margin-top: 0;
}
.basket-lines {
    display: grid;
    gap: 10px;
    margin: 14px 0;
}
.basket-line {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 70px 82px 34px;
    gap: 8px;
    align-items: center;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}
.basket-line-title {
    display: grid;
    gap: 2px;
}
.basket-line-title span {
    color: #697386;
    font-size: 12px;
}
.basket-line input {
    width: 70px;
    padding: 7px;
}
.basket-line-price {
    text-align: right;
    font-weight: 800;
}
.button.tiny {
    min-height: 28px;
    padding: 5px 8px;
    font-size: 11px;
}
.vat-row {
    display: grid;
    grid-template-columns: 1fr 110px;
    gap: 10px;
    align-items: center;
    margin-top: 10px;
}
.vat-row input {
    text-align: right;
}
.basket-totals {
    display: grid;
    gap: 8px;
    margin: 14px 0;
}
.basket-totals div {
    display: flex;
    justify-content: space-between;
}
.basket-total {
    font-size: 18px;
    border-top: 1px solid var(--line);
    padding-top: 10px;
}
.full-width {
    width: 100%;
    justify-content: center;
}
.order-lines-summary {
    width: 100%;
    max-width: 1100px;
}
.order-lines-summary .orders-table-card {
    width: 100%;
    max-width: none;
}
.order-totals-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(145px, 1fr));
    gap: 10px;
    width: min(620px, 100%);
    max-width: 620px;
    margin: 10px 0 18px auto;
}
.order-totals-grid .card-lite {
    display: grid;
    gap: 5px;
    min-height: 70px;
    padding: 12px 14px;
}
.order-totals-grid span {
    color: #697386;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}
.order-totals-grid strong {
    font-size: 20px;
}
.order-totals-grid .grand-total {
    border-color: #f0b27a;
    background: #fff8f1;
}
.order-totals-grid .grand-total strong {
    color: #b84c00;
    font-size: 22px;
}
.order-notes {
    max-width: 800px;
    margin-top: 14px;
}
@media (max-width: 1100px) {
    
.order-settings {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: center;
    margin-bottom: 14px;
    max-width: 760px;
}
.order-settings h2 {
    margin: 0 0 4px;
    font-size: 18px;
}
.order-vat-field {
    display: grid;
    grid-template-columns: auto 120px;
    gap: 10px;
    align-items: center;
}
.order-vat-field label {
    font-weight: 800;
}
.order-vat-field input {
    text-align: right;
    width: 120px;
}

.order-workspace {
        grid-template-columns: 1fr;
    }
    .basket-panel {
        position: static;
    }
}
@media (max-width: 760px) {
    .order-product-card {
        grid-template-columns: 64px minmax(0, 1fr);
    }
    .order-product-price,
    .order-product-card .add-to-basket {
        grid-column: 2;
        text-align: left;
    }
    .order-totals-grid {
        grid-template-columns: 1fr;
        max-width: none;
        margin-left: 0;
    }
}

.settings-form { max-width: 820px; }
.settings-form h2 { margin-top: 0; }
.alert.success { background: #eaf8ee; border: 1px solid #b9e3c3; color: #145c2a; padding: 10px 12px; border-radius: 10px; margin-bottom: 14px; }

.account-grid {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(320px, 0.85fr);
    gap: 18px;
    align-items: start;
}
.setting-check {
    align-self: end;
    min-height: 44px;
}
.email-settings-form { max-width: 1080px; }
@media (max-width: 980px) {
    .account-grid { grid-template-columns: 1fr; }
}

/* Public website landing update */
.site-brand { display: inline-flex; align-items: center; gap: 10px; }
.site-brand img { width: 130px; height: 48px; object-fit: contain; background: #fff; border-radius: 8px; padding: 4px; }
.site-brand span { font-size: 17px; font-weight: 900; }
.public-hero {
    min-height: 420px;
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(320px, .65fr);
    gap: 28px;
    align-items: stretch;
    color: #fff;
    background:
        radial-gradient(circle at 20% 10%, rgba(233,120,24,.42), transparent 32%),
        linear-gradient(135deg, #151922 0%, #252b38 58%, #10131a 100%);
    border-radius: 24px;
    padding: 48px;
    margin-bottom: 28px;
    overflow: hidden;
}
.public-hero-content { display: flex; flex-direction: column; justify-content: center; max-width: 820px; }
.hero-kicker { color: #fed7aa; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; font-size: 13px; margin-bottom: 12px; }
.public-hero h1 { font-size: clamp(36px, 5vw, 66px); line-height: 1.02; margin: 0 0 16px; }
.public-hero p { color: #d7dce6; font-size: 19px; line-height: 1.55; margin: 0 0 24px; max-width: 720px; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; }
.button.light { background: rgba(255,255,255,.11); border-color: rgba(255,255,255,.24); color: #fff; }
.hero-card-stack { display: grid; gap: 14px; align-content: center; }
.hero-logo-card { background: rgba(255,255,255,.96); color: var(--text); border-radius: 22px; padding: 24px; box-shadow: 0 20px 55px rgba(0,0,0,.25); display: grid; gap: 12px; }
.hero-logo-card img { width: 100%; max-width: 380px; height: auto; }
.hero-logo-card strong { font-size: 22px; }
.hero-logo-card span { color: var(--muted); font-weight: 700; }
.hero-mini-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.hero-mini-grid div { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.18); border-radius: 16px; padding: 16px; display: grid; gap: 4px; }
.hero-mini-grid strong { font-size: 22px; }
.hero-mini-grid span { color: #d7dce6; }
.public-section { margin: 28px 0; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 16px; margin-bottom: 16px; }
.section-heading h2 { margin: 6px 0 0; font-size: 32px; }
.category-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
.category-card { display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 14px; align-items: start; background: #fff; border: 1px solid var(--line); border-radius: 18px; padding: 18px; min-height: 160px; box-shadow: 0 8px 20px rgba(0,0,0,.04); }
.category-card:hover { border-color: var(--primary); transform: translateY(-2px); transition: .16s ease; }
.category-icon { height: 58px; width: 58px; border-radius: 16px; display: flex; align-items: center; justify-content: center; background: #fff2e6; color: #9a4a00; font-weight: 900; font-size: 15px; }
.category-card h3 { margin: 0 0 8px; }
.category-card p { color: var(--muted); margin: 0 0 10px; line-height: 1.4; }
.category-card span { color: var(--primary); font-size: 13px; font-weight: 900; }
.public-product-grid .product-card { min-height: 355px; }
.product-card-link { display: inline-flex; margin-top: 8px; color: var(--primary); font-weight: 900; }
.split-section { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(320px, .7fr); gap: 18px; }
.about-panel h2, .partner-panel h2 { margin-top: 6px; }
.about-panel p, .partner-panel p { color: var(--muted); line-height: 1.55; }
.about-points { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.about-points div { background: #f8fafc; border: 1px solid var(--line); border-radius: 14px; padding: 14px; display: grid; gap: 4px; }
.about-points span { color: var(--muted); font-size: 13px; }
.partner-panel { background: linear-gradient(180deg, #fff, #fff8f1); }
.products-hero { background: #fff; border: 1px solid var(--line); border-radius: 20px; padding: 26px; display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-bottom: 18px; }
.products-hero h1 { margin: 8px 0; font-size: 38px; }
.products-hero p { color: var(--muted); margin: 0; max-width: 780px; }
.public-filter-bar { background: #fff; border: 1px solid var(--line); border-radius: 16px; padding: 12px; align-items: center; }
.empty-state { text-align: center; padding: 36px; }
.product-detail-topline { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.public-product-detail { background: #fff; border: 1px solid var(--line); border-radius: 22px; padding: 18px; margin-bottom: 24px; }
.public-detail-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; margin-top: 24px; }
.public-detail-cta h2 { margin: 8px 0; }
.public-detail-cta p { margin: 0; color: var(--muted); }
@media (max-width: 1250px) {
    .category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .public-hero { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
    .category-grid, .split-section, .about-points { grid-template-columns: 1fr; }
    .public-hero { padding: 28px; border-radius: 18px; }
    .products-hero, .section-heading, .public-detail-cta { flex-direction: column; align-items: flex-start; }
    .site-brand img { width: 110px; height: 40px; }
}

/* Consumable Matching Models popup */
.matching-models-field .matching-models-display-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    align-items: center;
}
.matching-models-field #matchingModelsSummary {
    background: #fff;
    cursor: default;
}
.modal-overlay {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 5000;
    background: rgba(15, 23, 42, .55);
    padding: 28px;
    align-items: center;
    justify-content: center;
}
.modal-overlay.open {
    display: flex;
}
.modal-card {
    width: min(900px, 100%);
    max-height: min(780px, calc(100vh - 56px));
    overflow: auto;
    background: #fff;
    border-radius: 18px;
    border: 1px solid var(--line);
    box-shadow: 0 24px 70px rgba(0,0,0,.25);
    padding: 18px;
}
.matching-models-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(260px, 1.2fr);
    gap: 12px;
    align-items: end;
    margin-bottom: 14px;
}
.matching-add-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}
.matching-add-structured-row {
    grid-template-columns: minmax(150px, .72fr) minmax(190px, 1fr) auto;
}
.matching-model-add-help {
    margin-left: 6px;
    color: var(--muted);
    font-size: .76rem;
    font-weight: 500;
    text-transform: none;
}
.matching-models-action-message {
    margin: 0 0 10px;
    padding: 10px 12px;
    border: 1px solid #b8dfc3;
    border-radius: 10px;
    background: #effaf2;
    color: #17632c;
    font-size: 0.88rem;
    font-weight: 700;
}

.matching-models-action-message.error {
    border-color: #efb4b4;
    background: #fff2f2;
    color: #9e1b1b;
}

.matching-models-list {
    border: 1px solid var(--line);
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    max-height: 420px;
    overflow-y: auto;
}
.matching-model-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 9px 10px;
    border-bottom: 1px solid var(--line);
}
.matching-model-row:last-child {
    border-bottom: 0;
}
.matching-model-row:hover {
    background: #fbfbfc;
}
.matching-model-check {
    font-weight: 700;
}
.matching-models-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 14px;
}
@media (max-width: 720px) {
    .matching-models-field .matching-models-display-row,
    .matching-models-toolbar,
    .matching-add-row,
    .matching-add-structured-row,
    .matching-model-row {
        grid-template-columns: 1fr;
    }
    .modal-overlay {
        padding: 12px;
    }
}

/* Guided Add/Edit Product flow */
.product-simple-page .guided-product-form {
    max-width: 1180px;
    background: #f7f8fa;
    border: 1px solid var(--line);
}

.product-simple-page .guided-step {
    margin: 0;
    padding: 16px;
    background: #fff;
}

.product-simple-page .guided-step + .guided-step {
    border-top: 1px solid var(--line);
}

.guided-step-header {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin-bottom: 12px;
}

.guided-step-header h2 {
    margin: 0;
    font-size: 18px;
    line-height: 1.25;
}

.step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: var(--accent);
    color: #fff;
    font-size: 13px;
    font-weight: 900;
    flex: 0 0 28px;
    box-shadow: 0 5px 14px rgba(235, 109, 32, 0.18);
}

.small-step-number {
    width: 24px;
    height: 24px;
    font-size: 12px;
    vertical-align: middle;
    margin-right: 6px;
}

.product-simple-page .guided-basic-row {
    display: grid;
    grid-template-columns: minmax(260px, 330px) minmax(200px, 240px) auto;
    gap: 12px;
    align-items: end;
    max-width: 900px;
}

.product-simple-page .guided-basic-row .field-block,
.product-simple-page .guided-basic-row .simple-toggle-block {
    width: auto;
    max-width: none;
    min-width: 0;
    flex: unset;
}

.product-simple-page .guided-status-checks {
    align-self: center;
    padding: 10px 12px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fbfbfc;
}

.product-simple-page .guided-status-checks .check {
    margin: 0;
}

.guided-top-save {
    min-height: 38px;
    align-self: center;
    white-space: nowrap;
}

.product-simple-page .step-type-details .product-type-panel {
    background: #fbfbfc;
    border: 1px solid #e4e7ec;
    border-radius: 14px;
    padding: 14px;
}

.product-simple-page .step-type-details .product-type-panel > .section-title-row {
    margin-bottom: 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e9ebef;
}

.product-simple-page .field-order-details {
    max-width: 760px;
    margin: 0 0 12px 38px;
    border: 1px dashed var(--line);
    border-radius: 10px;
    background: #fffdf9;
}

.product-simple-page .field-order-details summary {
    cursor: pointer;
    padding: 9px 12px;
    font-weight: 800;
    color: var(--accent-dark);
    user-select: none;
}

.product-simple-page .field-order-details .reorder-toolbar {
    padding: 0 12px 12px;
    border-top: 0;
}

.product-simple-page .price-details-grid {
    max-width: 960px;
}

.product-simple-page .step-descriptions .simple-description-grid {
    max-width: 980px;
}

.product-simple-page .form-actions-sticky.simple-actions {
    background: #fff;
    border-top: 1px solid var(--line);
    padding: 12px 16px;
}

@media (max-width: 900px) {
    .product-simple-page .guided-basic-row {
        grid-template-columns: 1fr 1fr;
        max-width: none;
    }
    .product-simple-page .guided-top-save {
        grid-column: 1 / -1;
        justify-self: start;
    }
    .product-simple-page .field-order-details {
        margin-left: 0;
    }
}

@media (max-width: 650px) {
    .product-simple-page .guided-basic-row {
        grid-template-columns: 1fr;
    }
    .guided-step-header {
        gap: 8px;
    }
}


.single-picture-preview {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 10px;
    padding: 10px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #f9fafb;
}

.single-picture-preview img {
    width: 90px;
    height: 90px;
    object-fit: contain;
    border-radius: 10px;
    background: white;
    border: 1px solid #e5e7eb;
}

.consumable-picture-field input[type="file"] {
    max-width: 420px;
}

/* Product type picker / simplified separate product forms */
.product-type-picker-panel {
    max-width: 1040px;
    padding: 22px;
}
.product-type-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}
.product-type-card {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 150px;
    padding: 18px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #fff;
    color: var(--ink);
    text-decoration: none;
    box-shadow: 0 10px 24px rgba(15, 23, 42, 0.05);
    transition: transform .12s ease, border-color .12s ease, box-shadow .12s ease;
}
.product-type-card:hover {
    transform: translateY(-2px);
    border-color: var(--accent);
    box-shadow: 0 16px 34px rgba(235, 109, 32, 0.14);
}
.product-type-card strong {
    font-size: 18px;
}
.product-type-card span:last-child {
    color: var(--muted);
    font-size: 13px;
    line-height: 1.35;
}
.product-type-icon {
    width: 42px;
    height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 14px;
    background: #fff3ea;
    font-size: 23px;
}
.typed-product-form .simple-type-status-row {
    grid-template-columns: minmax(240px, 320px) minmax(220px, 260px) auto;
}
.selected-product-type-box {
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 10px 12px;
    background: #fbfbfc;
}
.selected-product-type-box label {
    display: block;
    margin-bottom: 4px;
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .05em;
    font-weight: 800;
}
.selected-product-type-box strong {
    display: block;
    font-size: 16px;
}
.change-product-type-link {
    display: inline-block;
    margin-top: 4px;
}
@media (max-width: 980px) {
    .product-type-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .typed-product-form .simple-type-status-row {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 650px) {
    .product-type-card-grid,
    .typed-product-form .simple-type-status-row {
        grid-template-columns: 1fr;
    }
}

/* Add Consumable - compact one-card layout */
.product-simple-page .compact-consumable-form {
    max-width: 1040px;
}

.product-simple-page .compact-consumable-form .step-product-type {
    padding: 12px 14px;
}

.product-simple-page .compact-consumable-form .step-type-details {
    padding: 14px;
}

.product-simple-page .compact-consumable-form .step-price-details,
.product-simple-page .compact-consumable-form .step-descriptions {
    display: none !important;
}

.product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] {
    padding: 14px;
    background: #fff;
    border-radius: 16px;
}

.product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .section-title-row {
    margin-bottom: 10px;
    padding-bottom: 8px;
    border-bottom: 1px solid var(--line);
}

.product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
    grid-template-columns: repeat(3, minmax(190px, 1fr));
    gap: 12px 14px;
    align-items: end;
}

.product-simple-page .compact-consumable-form .consumable-picture-field {
    grid-column: span 2;
}

.product-simple-page .compact-consumable-form .matching-models-field {
    grid-column: span 3;
}

.product-simple-page .compact-consumable-form .price-field {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    padding: 10px;
}


@media (max-width: 980px) {
    .product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
        grid-template-columns: repeat(2, minmax(210px, 1fr));
    }
    .product-simple-page .compact-consumable-form .matching-models-field,
    .product-simple-page .compact-consumable-form .consumable-picture-field {
        grid-column: span 2;
    }
}

@media (max-width: 650px) {
    .product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid,
    .product-simple-page .compact-consumable-form .matching-models-field,
    .product-simple-page .compact-consumable-form .consumable-picture-field {
        grid-template-columns: 1fr;
        grid-column: auto;
    }
}

/* V1 consumable cleanup: one clear card + toner colour circles */
.product-simple-page .compact-consumable-form {
    max-width: 1040px;
}

.product-simple-page .compact-consumable-form .consumable-main-strip {
    padding: 16px;
    background: linear-gradient(180deg, #fff, #fffaf6);
}

.product-simple-page .compact-consumable-form .consumable-main-header {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(190px, 240px) minmax(170px, 250px);
    gap: 16px;
    align-items: center;
}

.product-simple-page .compact-consumable-form .consumable-main-header h2 {
    margin: 0 0 4px;
    font-size: 22px;
}

.product-simple-page .compact-consumable-form .step-type-details > .guided-step-header {
    display: none;
}

.product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] {
    border: 1px solid var(--line);
    background: #fff;
    border-radius: 16px;
    padding: 16px;
    margin: 0;
}

.product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .section-title-row {
    margin-bottom: 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--line);
}

.product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(160px, 1fr)) !important;
    gap: 13px 14px;
    align-items: end;
}

.product-simple-page .compact-consumable-form [data-field-key="consumable-code"] {
    grid-column: 1 / span 1;
}

.product-simple-page .compact-consumable-form [data-field-key="consumable-type"] {
    grid-column: 2 / span 1;
}

.product-simple-page .compact-consumable-form .consumable-picture-field {
    grid-column: 3 / span 2 !important;
}

.product-simple-page .compact-consumable-form .toner-colour-field {
    grid-column: 1 / span 2;
}

.product-simple-page .compact-consumable-form [data-field-key="quality"] {
    grid-column: 3 / span 1;
}

.product-simple-page .compact-consumable-form [data-field-key="yield"] {
    grid-column: 1 / span 1;
}

.product-simple-page .compact-consumable-form [data-field-key="coverage"] {
    grid-column: 2 / span 1;
}

.product-simple-page .compact-consumable-form .matching-models-field {
    grid-column: 1 / span 4 !important;
}

.product-simple-page .compact-consumable-form [data-field-key="partner-price"] {
    grid-column: 1 / span 1;
}

.product-simple-page .compact-consumable-form [data-field-key="sale-price"] {
    grid-column: 2 / span 1;
}

.product-simple-page .compact-consumable-form .price-field {
    background: #fff7ed;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    padding: 10px;
}

.toner-color-selector {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    min-height: 38px;
}

.toner-choice {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 9px 6px 6px;
    border: 1px solid #d8dee8;
    border-radius: 999px;
    background: #fff;
    cursor: pointer;
    user-select: none;
    font-weight: 800;
    transition: border-color .12s ease, background .12s ease, box-shadow .12s ease, transform .12s ease;
}

.toner-choice:hover {
    border-color: var(--accent);
    box-shadow: 0 8px 18px rgba(15, 23, 42, .08);
    transform: translateY(-1px);
}

.toner-choice input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.toner-choice em {
    font-style: normal;
    color: #334155;
    font-size: 12px;
}

.toner-badge {
    width: 30px;
    height: 30px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    font-size: 14px;
    line-height: 1;
    border: 2px solid rgba(255,255,255,.65);
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .14);
}

.toner-k .toner-badge {
    color: #fff;
    background: #111827;
}

.toner-c .toner-badge {
    color: #fff;
    background: #00a7d8;
}

.toner-m .toner-badge {
    color: #fff;
    background: #d1007f;
}

.toner-y .toner-badge {
    color: #111827;
    background: #ffd400;
}

.toner-choice input:checked + .toner-badge {
    outline: 3px solid rgba(235, 109, 32, .32);
    outline-offset: 2px;
}

.toner-choice:has(input:checked) {
    border-color: var(--accent);
    background: #fff7ed;
    box-shadow: 0 0 0 2px rgba(235, 109, 32, .12);
}

.toner-clear-button {
    margin-top: 6px;
    max-width: 110px;
}

@media (max-width: 980px) {
    .product-simple-page .compact-consumable-form .consumable-main-header,
    .product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
        grid-template-columns: repeat(2, minmax(210px, 1fr)) !important;
    }

    .product-simple-page .compact-consumable-form .consumable-picture-field,
    .product-simple-page .compact-consumable-form .toner-colour-field,
    .product-simple-page .compact-consumable-form .matching-models-field {
        grid-column: 1 / span 2 !important;
    }

    .product-simple-page .compact-consumable-form [data-field-key="partner-price"] {
        grid-column: 1 / span 1;
    }

    .product-simple-page .compact-consumable-form [data-field-key="sale-price"] {
        grid-column: 2 / span 1;
    }
}

@media (max-width: 650px) {
    .product-simple-page .compact-consumable-form .consumable-main-header,
    .product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
        grid-template-columns: 1fr !important;
    }

    .product-simple-page .compact-consumable-form .consumable-picture-field,
    .product-simple-page .compact-consumable-form .toner-colour-field,
    .product-simple-page .compact-consumable-form .matching-models-field,
    .product-simple-page .compact-consumable-form [data-field-key="consumable-code"],
    .product-simple-page .compact-consumable-form [data-field-key="consumable-type"],
    .product-simple-page .compact-consumable-form [data-field-key="quality"],
    .product-simple-page .compact-consumable-form [data-field-key="yield"],
    .product-simple-page .compact-consumable-form [data-field-key="coverage"],
    .product-simple-page .compact-consumable-form [data-field-key="partner-price"],
    .product-simple-page .compact-consumable-form [data-field-key="sale-price"] {
        grid-column: auto !important;
    }
}


/* Consumable input formatting: uppercase code, grouped yield, Euro currency prices */
.uppercase-code-input {
    text-transform: uppercase;
}

.currency-input-wrap {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.currency-input-wrap span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    padding: 0 10px;
    border: 1px solid var(--line);
    border-right: 0;
    border-radius: 10px 0 0 10px;
    background: #fff;
    color: #9a4a00;
    font-weight: 900;
}

.currency-input-wrap input {
    border-radius: 0 10px 10px 0 !important;
    text-align: right;
}

.integer-separator-input,
.currency-euro-input {
    font-variant-numeric: tabular-nums;
}


/* V1 consumable compact layout cleanup: picture + quality aligned */
.product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
    grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) minmax(170px, .85fr) minmax(250px, 1.15fr) !important;
    gap: 13px 14px !important;
    align-items: end !important;
}

.product-simple-page .compact-consumable-form [data-field-key="consumable-code"] { grid-column: 1 / span 1 !important; }
.product-simple-page .compact-consumable-form [data-field-key="consumable-type"] { grid-column: 2 / span 1 !important; }
.product-simple-page .compact-consumable-form [data-field-key="quality"] { grid-column: 3 / span 1 !important; }
.product-simple-page .compact-consumable-form .consumable-picture-field { grid-column: 4 / span 1 !important; }
.product-simple-page .compact-consumable-form .toner-colour-field { grid-column: 1 / span 2 !important; }
.product-simple-page .compact-consumable-form [data-field-key="yield"] { grid-column: 3 / span 1 !important; }
.product-simple-page .compact-consumable-form [data-field-key="coverage"] { grid-column: 4 / span 1 !important; }
.product-simple-page .compact-consumable-form .matching-models-field { grid-column: 1 / span 4 !important; }
.product-simple-page .compact-consumable-form [data-field-key="partner-price"] { grid-column: 1 / span 1 !important; }
.product-simple-page .compact-consumable-form [data-field-key="sale-price"] { grid-column: 2 / span 1 !important; }

.product-simple-page .compact-consumable-form .consumable-picture-field input[type="file"] {
    padding: 8px 10px;
    min-height: 38px;
    font-size: 14px;
}

.product-simple-page .compact-consumable-form .consumable-picture-field .field-hint {
    font-size: 12px;
    line-height: 1.25;
}

.product-simple-page .compact-consumable-form .single-picture-preview {
    margin-top: 8px;
}

.product-simple-page .compact-consumable-form .single-picture-preview img {
    max-width: 72px;
    max-height: 72px;
    object-fit: contain;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    padding: 4px;
}

@media (max-width: 980px) {
    .product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
        grid-template-columns: repeat(2, minmax(210px, 1fr)) !important;
    }
    .product-simple-page .compact-consumable-form [data-field-key="consumable-code"],
    .product-simple-page .compact-consumable-form [data-field-key="consumable-type"],
    .product-simple-page .compact-consumable-form [data-field-key="quality"],
    .product-simple-page .compact-consumable-form .consumable-picture-field,
    .product-simple-page .compact-consumable-form [data-field-key="yield"],
    .product-simple-page .compact-consumable-form [data-field-key="coverage"],
    .product-simple-page .compact-consumable-form [data-field-key="partner-price"],
    .product-simple-page .compact-consumable-form [data-field-key="sale-price"] {
        grid-column: auto !important;
    }
    .product-simple-page .compact-consumable-form .toner-colour-field,
    .product-simple-page .compact-consumable-form .matching-models-field {
        grid-column: 1 / span 2 !important;
    }
}

@media (max-width: 650px) {
    .product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
        grid-template-columns: 1fr !important;
    }
    .product-simple-page .compact-consumable-form .toner-colour-field,
    .product-simple-page .compact-consumable-form .matching-models-field {
        grid-column: auto !important;
    }
}

/* V1 consumable colour dropdown with toner badges */
.toner-dropdown {
    position: relative;
    width: 100%;
    max-width: 340px;
}

.toner-dropdown-button {
    width: 100%;
    height: 42px;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 1px solid #d8dee8;
    background: #fff;
    border-radius: 10px;
    padding: 6px 12px 6px 8px;
    font-weight: 800;
    color: #1f2937;
    cursor: pointer;
    text-align: left;
}

.toner-dropdown-button:hover,
.toner-dropdown.open .toner-dropdown-button {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(235, 109, 32, .12);
}

.toner-dropdown-label {
    flex: 1;
}

.toner-dropdown-arrow {
    color: #64748b;
    font-size: 12px;
}

.toner-dropdown-menu {
    display: none;
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 50;
    width: 100%;
    min-width: 250px;
    background: #fff;
    border: 1px solid #d8dee8;
    border-radius: 12px;
    box-shadow: 0 18px 38px rgba(15, 23, 42, .16);
    padding: 6px;
}

.toner-dropdown.open .toner-dropdown-menu {
    display: block;
}

.toner-dropdown-option {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 10px;
    border: 0;
    background: transparent;
    border-radius: 9px;
    padding: 8px;
    cursor: pointer;
    font-weight: 800;
    color: #1f2937;
    text-align: left;
}

.toner-dropdown-option:hover,
.toner-dropdown-option.selected {
    background: #fff7ed;
}

.toner-none-badge {
    min-width: 34px;
    width: 34px;
    height: 28px;
    border-radius: 999px;
    background: #f8fafc;
    color: #475569;
    border: 1px solid #cbd5e1;
    font-size: 11px;
}

.toner-k-badge {
    color: #fff;
    background: #111827;
}

.toner-c-badge {
    color: #fff;
    background: #00a7d8;
}

.toner-m-badge {
    color: #fff;
    background: #d1007f;
}

.toner-y-badge {
    color: #111827;
    background: #ffd400;
}


/* V1 consumable alignment cleanup: no helper text, compact rows */
.product-simple-page .compact-consumable-form .field-hint {
    display: none !important;
}
.product-simple-page .compact-consumable-form .section-title-row .pill {
    display: none !important;
}
.product-simple-page .compact-consumable-form .consumable-main-header p.muted {
    display: none !important;
}
.product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
    grid-template-columns: minmax(190px, 1fr) minmax(190px, 1fr) minmax(170px, .9fr) minmax(250px, 1.1fr) !important;
    gap: 14px 14px !important;
    align-items: end !important;
}
.product-simple-page .compact-consumable-form [data-field-key="consumable-code"] { grid-column: 1 / span 1 !important; }
.product-simple-page .compact-consumable-form [data-field-key="consumable-type"] { grid-column: 2 / span 1 !important; }
.product-simple-page .compact-consumable-form [data-field-key="quality"] { grid-column: 3 / span 1 !important; }
.product-simple-page .compact-consumable-form .consumable-picture-field { grid-column: 4 / span 1 !important; }
.product-simple-page .compact-consumable-form .toner-colour-field { grid-column: 1 / span 1 !important; }
.product-simple-page .compact-consumable-form [data-field-key="yield"] { grid-column: 2 / span 1 !important; }
.product-simple-page .compact-consumable-form [data-field-key="coverage"] { grid-column: 3 / span 1 !important; }
.product-simple-page .compact-consumable-form .matching-models-field { grid-column: 1 / span 4 !important; }
.product-simple-page .compact-consumable-form [data-field-key="partner-price"] { grid-column: 1 / span 1 !important; }
.product-simple-page .compact-consumable-form [data-field-key="sale-price"] { grid-column: 2 / span 1 !important; }
.product-simple-page .compact-consumable-form .toner-dropdown {
    max-width: none !important;
}
.product-simple-page .compact-consumable-form .form-actions-sticky.simple-actions {
    justify-content: flex-end;
}
@media (max-width: 980px) {
    .product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
        grid-template-columns: repeat(2, minmax(210px, 1fr)) !important;
    }
    .product-simple-page .compact-consumable-form [data-field-key="consumable-code"],
    .product-simple-page .compact-consumable-form [data-field-key="consumable-type"],
    .product-simple-page .compact-consumable-form [data-field-key="quality"],
    .product-simple-page .compact-consumable-form .consumable-picture-field,
    .product-simple-page .compact-consumable-form .toner-colour-field,
    .product-simple-page .compact-consumable-form [data-field-key="yield"],
    .product-simple-page .compact-consumable-form [data-field-key="coverage"],
    .product-simple-page .compact-consumable-form [data-field-key="partner-price"],
    .product-simple-page .compact-consumable-form [data-field-key="sale-price"] {
        grid-column: auto !important;
    }
    .product-simple-page .compact-consumable-form .matching-models-field {
        grid-column: 1 / span 2 !important;
    }
}
@media (max-width: 650px) {
    .product-simple-page .compact-consumable-form .product-type-panel[data-product-type="Consumable"] .simple-type-grid {
        grid-template-columns: 1fr !important;
    }
    .product-simple-page .compact-consumable-form .matching-models-field {
        grid-column: auto !important;
    }
}

/* Partner order product details - partners must understand what they are ordering */
.order-product-headline {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 2px;
}
.order-code-pill {
    display: inline-flex;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    background: #eef2f7;
    color: #334155;
    font-size: 12px;
    font-weight: 800;
}
.machine-type-pill {
    background: #e0f2fe;
    color: #075985;
}
.order-product-details {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, max-content));
    gap: 6px 14px;
    margin-top: 8px;
    align-items: center;
}
.order-product-details span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 24px;
    font-size: 12px;
    color: #374151;
    background: #f8fafc;
    border: 1px solid #e5e7eb;
    border-radius: 999px;
    padding: 4px 8px;
    line-height: 1.2;
}
.order-product-details span.wide {
    grid-column: 1 / -1;
    border-radius: 10px;
    max-width: 100%;
}
.order-product-details b {
    color: #64748b;
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: .02em;
}
.order-short-description {
    margin: 8px 0 0;
}
.order-colour-detail {
    background: #fff !important;
}
.toner-colour-badge {
    width: 24px;
    height: 24px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: 900;
    line-height: 1;
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px #d8dee8;
}
.toner-colour-black { background: #111827; color: #fff; }
.toner-colour-cyan { background: #00a7d8; color: #fff; }
.toner-colour-magenta { background: #d1007f; color: #fff; }
.toner-colour-yellow { background: #ffd400; color: #111827; }
.toner-colour-none { background: #f8fafc; color: #64748b; font-size: 10px; width: 34px; }
.basket-line-title em {
    display: block;
    color: #475569;
    font-size: 12px;
    font-weight: 700;
    font-style: normal;
    line-height: 1.25;
    margin-top: 2px;
}
.order-products.grid-mode .order-product-details {
    grid-template-columns: 1fr;
}
.order-products.grid-mode .order-product-details span {
    justify-content: flex-start;
    border-radius: 10px;
}
@media (max-width: 760px) {
    .order-product-details {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
    }
    .order-product-details span {
        border-radius: 10px;
    }
}

/* Cleaner Partner order product cards */
.order-product-card-clean {
    grid-template-columns: 74px minmax(0, 1fr) 115px 72px;
    align-items: center;
}
.order-product-card-clean .order-product-main {
    min-width: 0;
}
.order-product-card-clean .order-product-headline .tag {
    background: #fff4ea;
    color: #9a4a10;
    border: 1px solid #fed7aa;
}
.order-product-card-clean .order-product-main h3 {
    margin: 5px 0 6px;
    font-size: 17px;
    line-height: 1.2;
}
.order-product-title-row {
    display: flex;
    align-items: center;
    gap: 18px;
    min-width: 0;
    max-width: 100%;
}
.order-product-title-row h3 {
    flex: 0 0 auto;
    margin: 5px 0 6px !important;
    white-space: nowrap;
}
.order-product-title-row .order-product-summary-line {
    flex: 1 1 auto;
    min-width: 0;
    margin-top: 0;
}
.order-product-summary-line {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    color: #0f172a;
    font-size: 14px;
    font-weight: 800;
    line-height: 1.35;
    white-space: nowrap;
    overflow: hidden;
    max-width: 100%;
}
.order-product-summary-line > span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    flex: 0 0 auto;
    font-weight: 800;
}
.order-product-summary-line > span + span::before {
    content: "•";
    color: #94a3b8;
    font-weight: 900;
    padding: 0 9px;
}
.order-colour-inline {
    min-width: max-content;
}
.order-colour-inline .toner-colour-badge {
    margin-right: 2px;
    flex: 0 0 auto;
}
.order-product-matching,
.order-product-notes {
    color: #475569;
    font-size: 13px;
    line-height: 1.35;
    margin-top: 6px;
    max-width: 100%;
}
.order-product-matching strong {
    color: #0f172a;
}
.order-product-notes {
    color: #64748b;
}
.order-products.grid-mode .order-product-card-clean {
    display: flex;
    flex-direction: column;
    align-items: stretch;
}
.order-products.grid-mode .order-product-card-clean .order-product-price {
    margin-top: auto;
    padding-top: 8px;
}
.order-products.grid-mode .order-product-title-row {
    display: block;
}
.order-products.grid-mode .order-product-summary-line {
    flex-wrap: wrap;
    white-space: normal;
    overflow: visible;
}
.order-products.grid-mode .order-product-summary-line > span + span::before {
    padding: 0 7px;
}
@media (max-width: 760px) {
    .order-product-card-clean {
        grid-template-columns: 64px minmax(0, 1fr);
    }
    .order-product-card-clean .order-product-price,
    .order-product-card-clean .add-to-basket {
        grid-column: 2;
        justify-self: start;
        text-align: left;
    }
    .order-product-title-row {
        display: block;
    }
    .order-product-title-row .order-product-summary-line {
        margin-top: 4px;
    }
}

/* =========================================================
   RDS Portal dashboard and navigation refresh - July 2026
   ========================================================= */
.topbar {
    height: auto;
    min-height: 76px;
    padding: 0;
    background: #141820;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.topbar-inner {
    width: 100%;
    max-width: 1700px;
    min-height: 76px;
    margin: 0 auto;
    padding: 10px 24px;
    display: grid;
    grid-template-columns: minmax(320px, auto) 1fr auto;
    gap: 24px;
    align-items: center;
}
.site-brand {
    min-width: 0;
    display: inline-flex;
    align-items: center;
    gap: 12px;
}
.site-brand-logo {
    width: 108px;
    height: 48px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 8px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 5px 16px rgba(0,0,0,.2);
    flex: 0 0 auto;
}
.site-brand-logo img,
.site-brand img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 0;
    border-radius: 0;
    background: transparent;
}
.site-brand-text {
    min-width: 0;
    display: grid;
    gap: 2px;
}
.site-brand-text strong {
    color: #fff;
    font-size: 17px;
    line-height: 1.15;
    white-space: nowrap;
}
.site-brand-text small {
    color: #aeb5c1;
    font-size: 11px;
    font-weight: 700;
    white-space: nowrap;
}
.topbar-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}
.topbar-links a {
    padding: 9px 12px;
    border-radius: 9px;
    color: #d8dce3;
    font-size: 14px;
    font-weight: 800;
}
.topbar-links a:hover {
    color: #fff;
    background: rgba(255,255,255,.08);
}
.topbar-user {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.topbar-user-avatar {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--primary);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
    flex: 0 0 auto;
}
.topbar-user-details {
    max-width: 180px;
    display: grid;
    gap: 1px;
    min-width: 0;
}
.topbar-user-details strong,
.topbar-user-details small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.topbar-user-details strong { color: #fff; font-size: 13px; }
.topbar-user-details small { color: #aeb5c1; font-size: 11px; font-weight: 700; }
.topbar-logout {
    padding: 8px 10px;
    border: 1px solid rgba(255,255,255,.2);
    border-radius: 9px;
    background: transparent;
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}
.topbar-logout:hover { border-color: var(--primary); color: #ffd8b5; }
.topbar-login { white-space: nowrap; }

.page-shell {
    width: 100%;
    max-width: 1700px;
    min-height: calc(100vh - 126px);
    margin: 0 auto;
    padding: 18px;
}
.footer {
    min-height: 50px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px max(24px, calc((100vw - 1652px) / 2));
    font-size: 12px;
}

.portal-layout {
    grid-template-columns: 232px minmax(0, 1fr);
    gap: 24px;
}
.portal-nav {
    min-height: calc(100vh - 124px);
    padding: 14px;
    top: 18px;
    border-radius: 18px;
    box-shadow: 0 16px 34px rgba(13,17,23,.12);
    display: flex;
    flex-direction: column;
}
.portal-nav-head {
    padding: 8px 10px 16px;
    border-bottom: 1px solid rgba(255,255,255,.1);
    margin-bottom: 10px;
}
.portal-title { padding: 0; font-size: 22px; }
.portal-subtitle {
    margin-top: 3px;
    color: #979fad;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.portal-nav-links { display: grid; gap: 3px; }
.portal-nav a.portal-link {
    min-height: 42px;
    padding: 8px 9px;
    display: flex;
    align-items: center;
    gap: 10px;
    border-radius: 11px;
    color: #e5e7eb;
    font-size: 13px;
    font-weight: 800;
    transition: background .14s ease, color .14s ease, transform .14s ease;
}
.portal-nav a.portal-link:hover {
    background: rgba(255,255,255,.09);
    color: #fff;
    transform: translateX(1px);
}
.portal-nav a.portal-link.active {
    background: var(--primary);
    color: #fff;
    box-shadow: 0 6px 16px rgba(233,120,24,.24);
}
.portal-link-icon {
    width: 25px;
    height: 25px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 8px;
    background: rgba(255,255,255,.09);
    color: #d8dde5;
    font-size: 10px;
    font-weight: 900;
    flex: 0 0 auto;
}
.portal-link.active .portal-link-icon {
    background: rgba(255,255,255,.2);
    color: #fff;
}
.portal-group {
    padding: 17px 9px 6px;
    color: #8f98a8;
    font-size: 10px;
    letter-spacing: .1em;
}
.portal-nav-footer {
    margin-top: auto;
    padding-top: 16px;
}
.portal-nav-footer a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 11px;
    color: #cdd2da;
    font-size: 12px;
    font-weight: 800;
}
.portal-nav-footer a:hover { border-color: rgba(233,120,24,.7); color: #fff; }

.dashboard-page { min-width: 0; }
.dashboard-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}
.dashboard-heading h1 {
    margin: 3px 0 5px;
    color: #171b23;
    font-size: clamp(28px, 3vw, 38px);
    letter-spacing: -.025em;
}
.dashboard-heading p { margin: 0; }
.dashboard-eyebrow {
    color: var(--primary);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .1em;
}
.dashboard-heading-actions {
    display: flex;
    gap: 9px;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.dashboard-heading-actions .button { min-height: 40px; }

.dashboard-stat-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(170px, 1fr));
    gap: 13px;
    margin-bottom: 18px;
}
.dashboard-stat {
    min-width: 0;
    min-height: 124px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 16px;
    border: 1px solid #dfe3e8;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(17,24,39,.045);
    transition: border .14s ease, transform .14s ease, box-shadow .14s ease;
}
.dashboard-stat:hover {
    border-color: #f0a25f;
    transform: translateY(-2px);
    box-shadow: 0 12px 24px rgba(17,24,39,.08);
}
.dashboard-stat-icon {
    width: 36px;
    height: 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    border-radius: 11px;
    background: #fff2e6;
    color: #b65300;
    font-size: 12px;
    font-weight: 900;
}
.dashboard-stat-body {
    min-width: 0;
    display: grid;
    gap: 2px;
}
.dashboard-stat-label {
    color: #697180;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.dashboard-stat-body strong {
    color: #151922;
    font-size: 27px;
    line-height: 1.15;
}
.dashboard-stat-body small {
    color: #7a8290;
    font-size: 11px;
    line-height: 1.35;
}
.dashboard-online-text { color: #177245 !important; font-size: 22px !important; }

.dashboard-main-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.75fr) minmax(300px, .75fr);
    gap: 18px;
    align-items: start;
}
.dashboard-main-grid.single-column {
    grid-template-columns: minmax(0, 680px);
}
.dashboard-panel {
    min-width: 0;
    padding: 18px;
    border: 1px solid #dfe3e8;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 8px 20px rgba(17,24,39,.045);
}
.dashboard-panel-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}
.dashboard-panel-heading.compact { margin-bottom: 12px; }
.dashboard-panel-heading h2 {
    margin: 0 0 3px;
    color: #171b23;
    font-size: 18px;
}
.dashboard-panel-heading p { margin: 0; font-size: 12px; }
.dashboard-text-link {
    color: #bd5a06;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}
.dashboard-text-link:hover { text-decoration: underline; }
.dashboard-table-wrap { overflow-x: auto; border-radius: 12px; }
.dashboard-orders-table { min-width: 760px; border: 0; }
.dashboard-orders-table thead th {
    padding: 9px 10px;
    background: #f6f7f9;
    color: #707887;
    font-size: 10px;
    letter-spacing: .05em;
}
.dashboard-orders-table tbody td { padding: 11px 10px; font-size: 12px; }
.dashboard-orders-table tbody tr:last-child td { border-bottom: 0; }
.dashboard-table-subtext {
    display: block;
    margin-top: 2px;
    color: #818895;
    font-size: 10px;
    font-weight: 500;
}
.dashboard-status {
    display: inline-flex;
    align-items: center;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    white-space: nowrap;
}
.status-pending { background: #fff7df; color: #8a5a00; }
.status-success { background: #eaf8ef; color: #17643b; }
.status-danger { background: #feeeee; color: #9a2525; }
.status-info { background: #eaf2ff; color: #24579a; }
.dashboard-empty-state {
    padding: 34px 16px !important;
    text-align: center !important;
}
.dashboard-empty-state strong,
.dashboard-empty-state span { display: block; }
.dashboard-empty-state span { margin-top: 5px; color: #7a8290; font-size: 11px; }

.dashboard-side-stack { display: grid; gap: 18px; }
.dashboard-quick-actions { display: grid; gap: 8px; }
.dashboard-quick-actions > a {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    grid-template-rows: auto auto;
    column-gap: 10px;
    padding: 10px;
    border: 1px solid #e2e5ea;
    border-radius: 12px;
    background: #fbfbfc;
}
.dashboard-quick-actions > a:hover { border-color: #f0a25f; background: #fffaf5; }
.dashboard-quick-actions > a > span {
    grid-row: 1 / span 2;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    background: #fff2e6;
    color: #b65300;
    font-size: 15px;
    font-weight: 900;
}
.dashboard-quick-actions strong { color: #20242c; font-size: 12px; }
.dashboard-quick-actions small { color: #7b8290; font-size: 10px; line-height: 1.35; }
.dashboard-system-panel { background: linear-gradient(150deg, #fff, #fbfcfd); }
.dashboard-health-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 0;
    border-top: 1px solid #eceef2;
    font-size: 12px;
}
.dashboard-health-row span { display: flex; align-items: center; gap: 8px; color: #5f6775; font-weight: 800; }
.dashboard-health-row i {
    width: 8px;
    height: 8px;
    display: inline-block;
    border-radius: 50%;
    background: #27a562;
    box-shadow: 0 0 0 4px #e5f7ec;
}
.dashboard-health-row strong { color: #17643b; }

@media (max-width: 1450px) {
    .dashboard-stat-grid { grid-template-columns: repeat(3, minmax(180px, 1fr)); }
}
@media (max-width: 1160px) {
    .topbar-inner { grid-template-columns: minmax(280px, 1fr) auto; }
    .topbar-links { display: none; }
    .dashboard-main-grid { grid-template-columns: 1fr; }
    .dashboard-side-stack { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 900px) {
    .page-shell { padding: 16px; }
    .portal-layout { grid-template-columns: 1fr; }
    .portal-nav { min-height: 0; position: static; }
    .portal-nav-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .portal-group { grid-column: 1 / -1; }
    .portal-nav-footer { margin-top: 12px; }
    .dashboard-heading { align-items: flex-start; flex-direction: column; }
    .dashboard-heading-actions { justify-content: flex-start; }
}
@media (max-width: 720px) {
    .topbar-inner { display: flex; flex-wrap: wrap; gap: 12px; }
    .site-brand { flex: 1 1 280px; }
    .site-brand-text small { display: none; }
    .topbar-user { flex: 1 1 100%; padding-top: 8px; border-top: 1px solid rgba(255,255,255,.08); }
    .topbar-user-details { max-width: none; flex: 1; }
    .footer { flex-direction: column; align-items: flex-start; }
    .dashboard-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-side-stack { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
    .site-brand-logo { width: 92px; height: 42px; }
    .site-brand-text strong { font-size: 14px; }
    .portal-nav-links { grid-template-columns: 1fr; }
    .portal-group { grid-column: auto; }
    .dashboard-stat-grid { grid-template-columns: 1fr; }
    .dashboard-heading-actions { width: 100%; }
    .dashboard-heading-actions .button { flex: 1 1 100%; }
}

/* =========================================================
   RDS public website and catalogue refresh - July 2026
   ========================================================= */
body {
    font-family: "Segoe UI", Arial, Helvetica, sans-serif;
    background: #f3f5f8;
}

.topbar-links a.active {
    color: #fff;
    background: rgba(233,120,24,.18);
    box-shadow: inset 0 0 0 1px rgba(233,120,24,.32);
}

.topbar-public .site-brand-logo {
    width: 118px;
    height: 50px;
    padding: 0;
    background: transparent;
    box-shadow: none;
}

.topbar-public .site-brand-logo img {
    filter: drop-shadow(0 2px 2px rgba(0,0,0,.28));
}

.public-home-hero {
    min-height: 520px;
    grid-template-columns: minmax(0, 1.18fr) minmax(390px, .82fr);
    gap: 42px;
    padding: 58px;
    border: 1px solid rgba(255,255,255,.08);
    background:
        radial-gradient(circle at 14% 18%, rgba(233,120,24,.34), transparent 31%),
        radial-gradient(circle at 88% 12%, rgba(255,255,255,.08), transparent 26%),
        linear-gradient(135deg, #11151d 0%, #222936 58%, #11151c 100%);
    box-shadow: 0 24px 58px rgba(20,24,32,.16);
}

.public-home-hero::after {
    content: "";
    position: absolute;
    inset: auto -130px -190px auto;
    width: 430px;
    height: 430px;
    border: 80px solid rgba(233,120,24,.08);
    border-radius: 50%;
    pointer-events: none;
}

.public-home-hero {
    position: relative;
}

.public-home-hero .public-hero-content,
.public-home-hero .hero-showcase {
    position: relative;
    z-index: 1;
}

.public-home-hero h1 {
    max-width: 850px;
    font-size: clamp(42px, 5vw, 72px);
    letter-spacing: -.035em;
}

.public-home-hero p {
    max-width: 760px;
    font-size: 20px;
}

.public-hero-primary {
    min-width: 160px;
    box-shadow: 0 12px 28px rgba(233,120,24,.24);
}

.hero-trust-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 30px;
}

.hero-trust-row span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.06);
    color: #cfd4dd;
    font-size: 12px;
    font-weight: 700;
}

.hero-trust-row strong {
    color: #fff;
    font-weight: 900;
}

.hero-showcase {
    align-self: center;
    display: grid;
    gap: 14px;
}

.hero-showcase-brand {
    display: grid;
    gap: 18px;
    padding: 26px;
    border-radius: 24px;
    background: rgba(255,255,255,.97);
    color: var(--text);
    box-shadow: 0 24px 55px rgba(0,0,0,.28);
}

.hero-showcase-brand img {
    width: 100%;
    max-width: 340px;
    max-height: 118px;
    object-fit: contain;
}

.hero-showcase-brand div {
    display: grid;
    gap: 4px;
}

.hero-showcase-brand strong {
    font-size: 22px;
}

.hero-showcase-brand span {
    color: #6d7481;
    font-size: 13px;
    font-weight: 700;
}

.hero-capability-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.hero-capability-grid > div {
    display: grid;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 10px;
    row-gap: 2px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.075);
}

.hero-capability-icon {
    grid-row: 1 / span 2;
    align-self: center;
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: rgba(233,120,24,.2);
    color: #ffd4b0;
    font-size: 10px;
    font-weight: 900;
}

.hero-capability-grid strong {
    color: #fff;
    font-size: 13px;
}

.hero-capability-grid small {
    color: #b9c0cb;
    font-size: 10px;
    line-height: 1.35;
}

.public-value-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: -8px 24px 34px;
    overflow: hidden;
    border: 1px solid #dde1e7;
    border-radius: 18px;
    background: #dde1e7;
    box-shadow: 0 12px 32px rgba(20,24,32,.06);
}

.public-value-strip > div {
    display: grid;
    gap: 3px;
    padding: 18px 20px;
    background: #fff;
}

.public-value-strip strong {
    color: #20242c;
    font-size: 14px;
}

.public-value-strip span {
    color: #737b88;
    font-size: 12px;
}

.public-section-heading {
    align-items: flex-end;
}

.public-section-heading > div > p {
    max-width: 760px;
    margin: 8px 0 0;
    color: #707887;
    line-height: 1.55;
}

.professional-category-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.professional-category-card {
    position: relative;
    grid-template-columns: 1fr;
    min-height: 285px;
    padding: 22px;
    overflow: hidden;
    border-radius: 20px;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.professional-category-card::before {
    content: "";
    position: absolute;
    width: 150px;
    height: 150px;
    right: -65px;
    top: -65px;
    border-radius: 50%;
    background: rgba(233,120,24,.07);
}

.professional-category-card:hover {
    transform: translateY(-5px);
    border-color: rgba(233,120,24,.62);
    box-shadow: 0 18px 38px rgba(26,31,40,.11);
}

.category-visual {
    width: 66px;
    height: 66px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 18px;
    background: linear-gradient(145deg, #fff2e7, #ffe5cf);
    color: #c75d08;
}

.category-visual svg {
    width: 38px;
    height: 38px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.5;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.category-copy {
    display: grid;
    align-content: start;
}

.category-overline {
    margin-bottom: 7px;
    color: #bd5c0b !important;
    font-size: 10px !important;
    font-weight: 900 !important;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.professional-category-card h3 {
    margin: 0 0 10px;
    font-size: 21px;
}

.professional-category-card p {
    min-height: 68px;
    margin-bottom: 16px;
    font-size: 13px;
}

.category-availability {
    margin-top: auto;
    color: #b35309 !important;
    font-size: 12px !important;
}

.category-arrow {
    position: absolute;
    right: 20px;
    bottom: 18px;
    color: #c85e09 !important;
    font-size: 22px !important;
    transition: transform .18s ease;
}

.professional-category-card:hover .category-arrow {
    transform: translateX(4px);
}

.public-featured-section {
    padding: 30px;
    border: 1px solid #e0e4ea;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #fafbfc);
}

.professional-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.public-product-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dfe3e9;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(20,24,32,.045);
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.public-product-card:hover {
    transform: translateY(-4px);
    border-color: rgba(233,120,24,.6);
    box-shadow: 0 18px 38px rgba(20,24,32,.1);
}

.public-card-image-wrap {
    height: 230px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 18px;
    border-bottom: 1px solid #eceff3;
    background: linear-gradient(160deg, #fbfcfd, #f1f4f8);
}

.public-card-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.catalog-placeholder {
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 12px;
    border: 1px dashed #cbd1da;
    border-radius: 14px;
    color: #8a929f;
    background: rgba(255,255,255,.62);
}

.catalog-placeholder svg {
    width: 72px;
    height: 72px;
    fill: none;
    stroke: #a7aeb9;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.catalog-placeholder span {
    color: #818996;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.catalog-placeholder-machine svg,
.catalog-placeholder-consumable svg {
    stroke: #d66b13;
}

.public-product-card-body {
    display: grid;
    min-height: 205px;
    padding: 18px;
}

.public-product-card-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    min-height: 30px;
}

.public-product-card-meta .tag {
    margin: 0;
}

.public-product-card-meta > span:not(.tag) {
    overflow: hidden;
    color: #848c98;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-product-card h3 {
    margin: 12px 0 8px;
    color: #1d222b;
    font-size: 19px;
    line-height: 1.25;
}

.public-product-card p {
    display: -webkit-box;
    overflow: hidden;
    margin: 0 0 14px;
    color: #6f7784;
    font-size: 13px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.public-product-card .product-card-link {
    align-self: end;
    justify-content: space-between;
    width: 100%;
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #edf0f3;
    font-size: 12px;
}

.public-product-card .product-card-link b {
    font-size: 17px;
}

.public-company-section {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
    gap: 20px;
    align-items: stretch;
}

.public-company-story,
.public-partner-card {
    padding: 30px;
    border: 1px solid #dfe3e9;
    border-radius: 22px;
    background: #fff;
}

.public-company-story h2,
.public-partner-card h2 {
    margin: 10px 0 12px;
    font-size: 32px;
}

.public-company-story > p,
.public-partner-card > p {
    max-width: 760px;
    color: #6f7784;
    line-height: 1.65;
}

.professional-about-points {
    margin-top: 24px;
}

.public-partner-card {
    color: #fff;
    border-color: #1d222d;
    background:
        radial-gradient(circle at 100% 0%, rgba(233,120,24,.34), transparent 38%),
        linear-gradient(150deg, #171b24, #272e3b);
    box-shadow: 0 18px 42px rgba(20,24,32,.14);
}

.public-partner-card > p {
    color: #cdd3dc;
}

.public-partner-eyebrow {
    color: #ffbd86;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.public-partner-card ul {
    display: grid;
    gap: 9px;
    padding: 0;
    margin: 22px 0 26px;
    list-style: none;
}

.public-partner-card li {
    position: relative;
    padding-left: 24px;
    color: #e3e7ed;
    font-size: 13px;
    font-weight: 700;
}

.public-partner-card li::before {
    content: "✓";
    position: absolute;
    left: 0;
    color: #ff9c4d;
    font-weight: 900;
}

.professional-products-hero {
    min-height: 250px;
    padding: 34px;
    color: #fff;
    border-color: #202632;
    background:
        radial-gradient(circle at 86% 12%, rgba(233,120,24,.35), transparent 30%),
        linear-gradient(140deg, #151922, #293140);
    box-shadow: 0 18px 42px rgba(20,24,32,.12);
}

.professional-products-hero h1 {
    max-width: 850px;
    color: #fff;
    font-size: clamp(36px, 4vw, 54px);
    letter-spacing: -.025em;
}

.professional-products-hero p {
    color: #cfd4dd;
    line-height: 1.6;
}

.professional-products-hero .tag {
    color: #ffd3ae;
    background: rgba(233,120,24,.18);
}

.catalogue-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.catalogue-summary span {
    padding: 8px 11px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    color: #cfd4dd;
    background: rgba(255,255,255,.06);
    font-size: 11px;
    font-weight: 700;
}

.catalogue-summary strong {
    color: #fff;
}

.public-catalogue-tools {
    margin: 18px 0 22px;
    padding: 16px;
    border: 1px solid #dfe3e9;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(20,24,32,.04);
}

.public-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    margin-bottom: 14px;
}

.public-search-box {
    position: relative;
}

.public-search-box > svg {
    position: absolute;
    left: 15px;
    top: 50%;
    width: 20px;
    height: 20px;
    transform: translateY(-50%);
    fill: none;
    stroke: #858e9a;
    stroke-width: 2;
    stroke-linecap: round;
}

.public-search-box input {
    min-height: 48px;
    padding-left: 46px;
    padding-right: 44px;
    border-radius: 13px;
    background: #f9fafc;
}

.public-search-box input:focus {
    border-color: #ef974f;
    outline: 0;
    box-shadow: 0 0 0 3px rgba(233,120,24,.13);
}

.public-search-clear {
    position: absolute;
    right: 10px;
    top: 50%;
    width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transform: translateY(-50%);
    border-radius: 50%;
    color: #606875;
    background: #e9edf2;
    font-size: 18px;
    line-height: 1;
}

.product-type-tabs {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 8px;
}

.product-type-tabs a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid #e0e4ea;
    border-radius: 11px;
    color: #555e6c;
    background: #fafbfc;
    font-size: 12px;
    font-weight: 800;
}

.product-type-tabs a:hover,
.product-type-tabs a.active {
    color: #a64808;
    border-color: rgba(233,120,24,.45);
    background: #fff4ea;
}

.product-type-tabs strong {
    min-width: 24px;
    padding: 3px 6px;
    border-radius: 999px;
    color: #555e6c;
    background: #e8ebef;
    font-size: 10px;
    text-align: center;
}

.product-type-tabs a.active strong {
    color: #fff;
    background: var(--primary);
}

.catalogue-results-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 16px;
}

.catalogue-results-heading h2 {
    margin: 0 0 4px;
    font-size: 28px;
}

.catalogue-results-heading p {
    margin: 0;
    color: #747c89;
    font-size: 13px;
}

.catalogue-product-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.professional-empty-state {
    max-width: 720px;
    margin: 34px auto;
    padding: 48px 32px;
    border-style: dashed;
}

.professional-empty-state p {
    max-width: 520px;
    margin: 0 auto 20px;
    color: #707887;
}

.empty-state-icon {
    width: 76px;
    height: 76px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 12px;
    border-radius: 22px;
    color: #d46a12;
    background: #fff1e5;
}

.empty-state-icon svg {
    width: 42px;
    height: 42px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.public-breadcrumb {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 2px 0 16px;
    color: #7a828f;
    font-size: 12px;
}

.public-breadcrumb a:hover {
    color: var(--primary);
}

.public-breadcrumb strong {
    color: #343b46;
}

.professional-product-detail {
    grid-template-columns: minmax(360px, 46%) minmax(0, 1fr);
    gap: 42px;
    padding: 28px;
    border-radius: 24px;
    box-shadow: 0 14px 36px rgba(20,24,32,.06);
}

.public-product-gallery {
    min-width: 0;
}

.public-main-image-frame {
    height: 480px;
    padding: 24px;
    border: 1px solid #e0e4ea;
    border-radius: 20px;
    background: linear-gradient(160deg, #fcfdfe, #f2f5f8);
}

.public-main-image-frame .main-product-image {
    height: 100%;
    border: 0;
    background: transparent;
    mix-blend-mode: multiply;
}

.public-thumbnail-row {
    display: flex;
    gap: 9px;
    margin-top: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
}

.public-thumbnail {
    width: 76px;
    height: 68px;
    flex: 0 0 auto;
    padding: 5px;
    border: 1px solid #dfe3e9;
    border-radius: 11px;
    background: #fff;
    cursor: pointer;
}

.public-thumbnail.active,
.public-thumbnail:hover {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(233,120,24,.12);
}

.public-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.public-product-gallery > .public-card-image-wrap {
    height: 480px;
    border: 1px solid #e0e4ea;
    border-radius: 20px;
}

.public-product-information {
    align-self: center;
    min-width: 0;
}

.public-product-title-meta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.public-product-title-meta .tag {
    margin: 0;
}

.public-product-title-meta > span:not(.tag) {
    color: #7b8390;
    font-size: 12px;
    font-weight: 800;
}

.public-product-information h1 {
    margin: 15px 0 12px;
    color: #1a1f27;
    font-size: clamp(34px, 4vw, 54px);
    line-height: 1.08;
    letter-spacing: -.03em;
}

.public-product-lead {
    margin: 0;
    color: #4f5866;
    font-size: 19px;
    font-weight: 650;
    line-height: 1.5;
}

.public-product-description {
    margin-top: 16px;
    color: #6d7582;
    font-size: 14px;
    line-height: 1.7;
    white-space: pre-line;
}

.public-product-identity-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
    margin: 24px 0;
}

.public-product-identity-grid > div {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 12px;
    border: 1px solid #e2e6eb;
    border-radius: 12px;
    background: #f8fafc;
}

.public-product-identity-grid span {
    color: #858d99;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.public-product-identity-grid strong {
    overflow: hidden;
    color: #303741;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.public-product-actions,
.public-detail-cta-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}

.public-price-note {
    margin: 12px 0 0;
    color: #838b97;
    font-size: 11px;
    font-weight: 700;
}

.public-specification-panel {
    margin: 24px 0;
    overflow: hidden;
    border: 1px solid #dfe3e9;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(20,24,32,.045);
}

.public-specification-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    padding: 22px 24px;
    border-bottom: 1px solid #e8ebef;
    background: linear-gradient(180deg, #fff, #fbfcfd);
}

.public-specification-heading h2 {
    margin: 7px 0 0;
    font-size: 28px;
}

.public-specification-heading > span {
    color: #858d99;
    font-size: 11px;
    font-weight: 800;
}

.public-specification-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    background: #e8ebef;
}

.public-specification-grid > div {
    display: grid;
    grid-template-columns: minmax(130px, .45fr) minmax(0, 1fr);
    gap: 18px;
    padding: 16px 20px;
    background: #fff;
}

.public-specification-grid > div.wide {
    grid-column: 1 / -1;
}

.public-specification-grid dt {
    color: #7a828f;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.public-specification-grid dd {
    min-width: 0;
    margin: 0;
    color: #303741;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.5;
    white-space: pre-line;
}

.public-specification-grid dd a {
    color: #b45309;
    text-decoration: underline;
}

.professional-detail-cta {
    padding: 28px;
    color: #fff;
    border-color: #1e2530;
    border-radius: 22px;
    background:
        radial-gradient(circle at 96% 4%, rgba(233,120,24,.35), transparent 32%),
        linear-gradient(145deg, #151922, #29313e);
}

.professional-detail-cta h2 {
    color: #fff;
}

.professional-detail-cta p {
    max-width: 760px;
    color: #ccd2db;
    line-height: 1.55;
}

.professional-detail-cta .tag {
    color: #ffd0a9;
    background: rgba(233,120,24,.18);
}

.professional-detail-cta .button:not(.primary) {
    color: #fff;
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.07);
}

.public-login-shell {
    min-height: 690px;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(390px, .65fr);
    gap: 42px;
    align-items: center;
    padding: 54px;
    overflow: hidden;
    border-radius: 24px;
    color: #fff;
    background:
        radial-gradient(circle at 9% 13%, rgba(233,120,24,.34), transparent 30%),
        radial-gradient(circle at 94% 90%, rgba(255,255,255,.07), transparent 24%),
        linear-gradient(135deg, #11151d, #252d3a 65%, #12161e);
    box-shadow: 0 24px 58px rgba(20,24,32,.16);
}

.public-login-intro h1 {
    max-width: 760px;
    margin: 12px 0 16px;
    font-size: clamp(40px, 5vw, 66px);
    line-height: 1.06;
    letter-spacing: -.035em;
}

.public-login-intro > p {
    max-width: 720px;
    margin: 0;
    color: #d1d6df;
    font-size: 18px;
    line-height: 1.65;
}

.public-login-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 28px 0;
}

.public-login-benefits > div {
    display: grid;
    gap: 5px;
    padding: 15px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 14px;
    background: rgba(255,255,255,.06);
}

.public-login-benefits strong {
    font-size: 13px;
}

.public-login-benefits span {
    color: #bdc4ce;
    font-size: 11px;
    line-height: 1.45;
}

.public-login-back {
    color: #ffbf8b;
    font-size: 12px;
    font-weight: 800;
}

.professional-auth-box {
    width: 100%;
    max-width: 480px;
    margin: 0;
    padding: 26px;
    border: 0;
    border-radius: 22px;
    color: var(--text);
    box-shadow: 0 25px 60px rgba(0,0,0,.28);
}

.professional-auth-brand {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 22px;
    padding-bottom: 18px;
    border-bottom: 1px solid #e8ebef;
}

.professional-auth-brand img {
    width: 105px;
    height: 48px;
    object-fit: contain;
}

.professional-auth-brand div {
    display: grid;
    gap: 3px;
}

.professional-auth-brand strong {
    font-size: 19px;
}

.professional-auth-brand span {
    color: #7a828f;
    font-size: 11px;
    font-weight: 700;
}

.professional-login-form label {
    color: #59616e;
    font-size: 12px;
    font-weight: 800;
}

.professional-login-form input {
    min-height: 47px;
    border-radius: 12px;
    background: #fafbfc;
}

.professional-login-button {
    min-height: 47px;
    margin-top: 5px;
}

.professional-forgot-link {
    color: #a84e0b;
    font-size: 12px;
    font-weight: 800;
    text-align: center;
}

.professional-auth-note {
    display: grid;
    gap: 3px;
    margin-top: 20px;
    padding: 13px;
    border: 1px solid #e1e5ea;
    border-radius: 12px;
    background: #f8fafc;
}

.professional-auth-note strong {
    font-size: 12px;
}

.professional-auth-note span {
    color: #737b88;
    font-size: 10px;
    line-height: 1.45;
}

.professional-footer {
    max-width: none;
    min-height: 72px;
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 28px;
    padding-top: 16px;
    padding-bottom: 16px;
    color: #727a87;
    background: #fff;
}

.professional-footer-brand {
    display: grid;
    gap: 2px;
}

.professional-footer-brand strong {
    color: #303741;
    font-size: 13px;
}

.professional-footer nav {
    display: flex;
    gap: 16px;
    align-items: center;
}

.professional-footer a {
    font-weight: 800;
}

.professional-footer a:hover {
    color: var(--primary);
}

@media (max-width: 1450px) {
    .professional-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .catalogue-product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 1160px) {
    .topbar-authenticated .topbar-links { display: none; }
    .topbar-public .topbar-links { display: flex; }
    .public-home-hero,
    .public-login-shell { grid-template-columns: 1fr; }
    .public-home-hero { padding: 42px; }
    .hero-showcase { max-width: 760px; }
    .public-company-section { grid-template-columns: 1fr; }
    .professional-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .product-type-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
    .public-value-strip { grid-template-columns: 1fr; margin-left: 0; margin-right: 0; }
    .professional-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .professional-product-detail { grid-template-columns: 1fr; gap: 26px; }
    .public-main-image-frame,
    .public-product-gallery > .public-card-image-wrap { height: 400px; }
    .public-product-identity-grid { grid-template-columns: 1fr 1fr; }
    .public-login-shell { padding: 34px; }
    .public-login-benefits { grid-template-columns: 1fr; }
    .professional-footer { grid-template-columns: 1fr; gap: 10px; }
}

@media (max-width: 720px) {
    .topbar-public .topbar-inner { display: grid; grid-template-columns: 1fr auto; }
    .topbar-public .site-brand { min-width: 0; }
    .topbar-public .site-brand-logo { width: 94px; height: 42px; }
    .topbar-public .topbar-links {
        grid-column: 1 / -1;
        justify-content: flex-start;
        order: 3;
        width: 100%;
        padding-top: 8px;
        border-top: 1px solid rgba(255,255,255,.08);
    }
    .topbar-public .topbar-login { align-self: center; }
    .public-home-hero,
    .public-login-shell { padding: 28px; border-radius: 18px; }
    .public-home-hero h1,
    .public-login-intro h1 { font-size: 40px; }
    .hero-capability-grid { grid-template-columns: 1fr; }
    .professional-category-grid,
    .professional-product-grid,
    .catalogue-product-grid { grid-template-columns: 1fr; }
    .professional-category-card { min-height: 250px; }
    .public-featured-section { padding: 20px; }
    .public-search-form { grid-template-columns: 1fr; }
    .product-type-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalogue-results-heading,
    .public-specification-heading { align-items: flex-start; flex-direction: column; }
    .public-main-image-frame,
    .public-product-gallery > .public-card-image-wrap { height: 330px; }
    .public-product-identity-grid { grid-template-columns: 1fr; }
    .public-specification-grid { grid-template-columns: 1fr; }
    .public-specification-grid > div,
    .public-specification-grid > div.wide { grid-column: auto; grid-template-columns: 1fr; gap: 6px; }
    .professional-detail-cta { align-items: flex-start; }
}

@media (max-width: 520px) {
    .topbar-public .site-brand-text { display: none; }
    .topbar-public .topbar-login { padding: 8px 10px; font-size: 12px; }
    .public-home-hero,
    .public-login-shell { padding: 22px; }
    .public-home-hero h1,
    .public-login-intro h1 { font-size: 34px; }
    .public-home-hero p,
    .public-login-intro > p { font-size: 16px; }
    .hero-trust-row { display: grid; }
    .hero-showcase-brand { padding: 20px; }
    .product-type-tabs { grid-template-columns: 1fr; }
    .professional-products-hero { padding: 24px; }
    .professional-products-hero .button { width: 100%; }
    .professional-product-detail { padding: 18px; }
    .public-main-image-frame,
    .public-product-gallery > .public-card-image-wrap { height: 280px; }
    .public-product-information h1 { font-size: 34px; }
    .public-product-actions .button,
    .public-detail-cta-actions .button { width: 100%; }
    .public-company-story,
    .public-partner-card { padding: 22px; }
    .professional-auth-box { padding: 20px; }
}

/* Final public header/category tuning */
.topbar-public .site-brand-logo {
    padding: 4px 7px;
    background: #fff;
    box-shadow: 0 5px 16px rgba(0,0,0,.2);
}

.topbar-public .site-brand-logo img {
    filter: none;
}

@media (max-width: 1450px) and (min-width: 1201px) {
    .professional-category-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

@media (max-width: 1200px) {
    .professional-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* =========================================================
   RDS PUBLIC PRODUCT SHOWCASE - EQUIPMENT + SOFTWARE ONLY
   ========================================================= */

.showcase-home-hero {
    min-height: 540px;
}

.showcase-product-map .hero-showcase-brand {
    border: 1px solid rgba(233,120,24,.22);
}

.showcase-value-strip strong {
    color: #20242c;
}

.showcase-categories-section,
.showcase-featured-section,
.showcase-solutions-section,
.showcase-company-section {
    scroll-margin-top: 100px;
}

.showcase-category-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.showcase-category-card {
    position: relative;
    min-height: 270px;
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    align-items: start;
    gap: 22px;
    padding: 28px;
    overflow: hidden;
    border: 1px solid #dfe3e9;
    border-radius: 22px;
    background:
        radial-gradient(circle at 100% 0%, rgba(233,120,24,.09), transparent 36%),
        #fff;
    box-shadow: 0 9px 26px rgba(20,24,32,.045);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.showcase-category-card::before {
    content: "";
    position: absolute;
    right: -70px;
    bottom: -85px;
    width: 200px;
    height: 200px;
    border: 42px solid rgba(233,120,24,.055);
    border-radius: 50%;
}

.showcase-category-card:hover {
    transform: translateY(-5px);
    border-color: rgba(233,120,24,.62);
    box-shadow: 0 20px 42px rgba(26,31,40,.11);
}

.showcase-category-card .category-visual {
    position: relative;
    z-index: 1;
    width: 82px;
    height: 82px;
    border-radius: 22px;
}

.showcase-category-card .category-visual svg {
    width: 46px;
    height: 46px;
}

.showcase-category-card .category-copy {
    position: relative;
    z-index: 1;
    min-width: 0;
    min-height: 210px;
}

.showcase-category-card h3 {
    margin: 0 0 10px;
    color: #20242c;
    font-size: 25px;
    line-height: 1.18;
}

.showcase-category-card p {
    max-width: 620px;
    margin: 0 0 20px;
    color: #6f7784;
    font-size: 14px;
    line-height: 1.58;
}

.showcase-category-card .category-availability {
    margin-top: auto;
    padding-top: 14px;
    border-top: 1px solid #edf0f3;
    color: #ad5008 !important;
    font-weight: 850;
}

.showcase-category-card .category-arrow {
    z-index: 2;
    right: 24px;
    bottom: 20px;
}

.showcase-featured-section {
    padding: 30px;
    border: 1px solid #e0e4ea;
    border-radius: 24px;
    background: linear-gradient(180deg, #fff, #fafbfc);
}

.showcase-product-grid {
    align-items: stretch;
}

.showcase-product-card .public-product-card-body {
    min-height: 235px;
}

.showcase-product-card .public-product-card-meta .tag {
    max-width: 72%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.showcase-spec-line {
    margin: 0 0 11px;
    color: #ac510b;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.45;
}

.showcase-solutions-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}

.showcase-solutions-grid article {
    position: relative;
    min-height: 190px;
    padding: 24px;
    overflow: hidden;
    border: 1px solid #dfe3e9;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 22px rgba(20,24,32,.04);
}

.showcase-solutions-grid article::after {
    content: "";
    position: absolute;
    right: -30px;
    bottom: -30px;
    width: 96px;
    height: 96px;
    border-radius: 50%;
    background: rgba(233,120,24,.065);
}

.showcase-solutions-grid article > span {
    display: inline-flex;
    width: 35px;
    height: 35px;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    background: #fff0e3;
    color: #b9560b;
    font-size: 10px;
    font-weight: 900;
}

.showcase-solutions-grid h3 {
    margin: 18px 0 8px;
    color: #20242c;
    font-size: 19px;
}

.showcase-solutions-grid p {
    margin: 0;
    color: #727a87;
    font-size: 13px;
    line-height: 1.58;
}

.showcase-contact-card .showcase-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.showcase-contact-card .button:not(.primary) {
    color: #fff;
    border-color: rgba(255,255,255,.22);
    background: rgba(255,255,255,.07);
}

.showcase-products-hero {
    position: relative;
    overflow: hidden;
    padding: 34px;
    background:
        radial-gradient(circle at 100% 0%, rgba(233,120,24,.1), transparent 36%),
        #fff;
}

.showcase-products-hero::after {
    content: "";
    position: absolute;
    right: -75px;
    bottom: -105px;
    width: 230px;
    height: 230px;
    border: 48px solid rgba(233,120,24,.055);
    border-radius: 50%;
    pointer-events: none;
}

.showcase-products-hero > * {
    position: relative;
    z-index: 1;
}

.showcase-catalogue-tools {
    border-color: #dfe3e9;
}

.showcase-category-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.showcase-category-tabs a span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.showcase-results-heading h2 {
    max-width: 900px;
}

.showcase-catalogue-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-top: 28px;
    padding: 22px 24px;
    border: 1px solid #dfe3e9;
    border-radius: 18px;
    background: #fff;
}

.showcase-catalogue-note > div {
    display: grid;
    gap: 4px;
}

.showcase-catalogue-note strong {
    color: #252b34;
    font-size: 14px;
}

.showcase-catalogue-note span {
    color: #747c88;
    font-size: 12px;
    line-height: 1.5;
}

.showcase-product-detail .public-product-title-meta .tag {
    max-width: 100%;
}

.showcase-product-actions {
    flex-wrap: wrap;
}

.showcase-specification-panel {
    border-color: #dce1e7;
}

.showcase-detail-cta {
    margin-bottom: 4px;
}

.showcase-topbar-links {
    gap: 4px;
}

.showcase-topbar-links a {
    padding-left: 11px;
    padding-right: 11px;
}

@media (max-width: 1240px) {
    .showcase-topbar-links a {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 12px;
    }

    .showcase-category-grid {
        grid-template-columns: 1fr 1fr;
    }

    .showcase-solutions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .showcase-category-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .showcase-category-grid {
        grid-template-columns: 1fr;
    }

    .showcase-category-card {
        min-height: 240px;
    }

    .showcase-solutions-grid {
        grid-template-columns: 1fr 1fr;
    }

    .showcase-catalogue-note {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 720px) {
    .showcase-category-card {
        grid-template-columns: 1fr;
        gap: 16px;
        padding: 23px;
    }

    .showcase-category-card .category-copy {
        min-height: 0;
    }

    .showcase-category-card .category-arrow {
        position: static;
        margin-top: 8px;
    }

    .showcase-solutions-grid {
        grid-template-columns: 1fr;
    }

    .showcase-category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .showcase-contact-card .showcase-contact-actions,
    .showcase-contact-card .button,
    .showcase-catalogue-note .button {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .showcase-category-tabs {
        grid-template-columns: 1fr;
    }

    .showcase-featured-section {
        padding: 20px;
    }
}

/* =========================================================
   RDS public homepage - Proposal 2 Modern & Minimal
   ========================================================= */
.topbar-public.mm-public-header {
    position: relative;
    z-index: 50;
    min-height: 82px;
    color: #111827;
    background: rgba(255,255,255,.98);
    border-bottom: 1px solid #e7ebef;
    box-shadow: 0 3px 16px rgba(31,41,55,.035);
}

.topbar-public.mm-public-header .topbar-inner {
    max-width: 1500px;
    min-height: 82px;
    padding: 12px 28px;
    grid-template-columns: minmax(235px, auto) 1fr auto;
    gap: 18px;
}

.topbar-public.mm-public-header .site-brand {
    gap: 11px;
}

.topbar-public.mm-public-header .site-brand-logo {
    width: 98px;
    height: 42px;
    filter: none;
}

.topbar-public.mm-public-header .site-brand-logo img {
    filter: none;
}

.topbar-public.mm-public-header .site-brand-text {
    gap: 1px;
}

.topbar-public.mm-public-header .site-brand-text strong {
    color: #111827;
    font-size: 14px;
    letter-spacing: -.01em;
}

.topbar-public.mm-public-header .site-brand-text small {
    color: #6b7280;
    font-size: 9px;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.topbar-public.mm-public-header .topbar-links {
    gap: 2px;
}

.topbar-public.mm-public-header .topbar-links a {
    position: relative;
    padding: 10px 10px;
    border-radius: 7px;
    color: #1f2937;
    background: transparent;
    box-shadow: none;
    font-size: 12px;
    font-weight: 750;
}

.topbar-public.mm-public-header .topbar-links a:hover {
    color: #e97818;
    background: #fff7f0;
}

.topbar-public.mm-public-header .topbar-links a.active {
    color: #e97818;
    background: transparent;
    box-shadow: none;
}

.topbar-public.mm-public-header .topbar-links a.active::after {
    content: "";
    position: absolute;
    left: 10px;
    right: 10px;
    bottom: 3px;
    height: 2px;
    border-radius: 999px;
    background: #e97818;
}

.topbar-public.mm-public-header .topbar-login {
    min-height: 38px;
    padding: 9px 15px;
    border-radius: 8px;
    box-shadow: 0 7px 18px rgba(233,120,24,.16);
    font-size: 12px;
}

body.rds-modern-minimal-home {
    background: #fff;
    color: #111827;
}

body.rds-modern-minimal-home .page-shell {
    max-width: 1500px;
    padding: 0 28px 50px;
}

.mm-hero {
    position: relative;
    min-height: 565px;
    display: grid;
    grid-template-columns: minmax(390px, .86fr) minmax(520px, 1.14fr);
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #e4e9ee;
    border-top: 0;
    background: #fff;
    box-shadow: 0 20px 55px rgba(17,24,39,.055);
}

.mm-hero-copy {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 62px 34px 62px 56px;
    background: linear-gradient(90deg, #fff 0%, rgba(255,255,255,.98) 74%, rgba(255,255,255,.78) 100%);
}

.mm-eyebrow {
    margin-bottom: 18px;
    color: #e97818;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.mm-hero-title {
    display: grid;
    gap: 0;
    margin: 0 0 20px;
    color: #121826;
    font-size: clamp(48px, 5.3vw, 78px);
    font-weight: 820;
    line-height: .99;
    letter-spacing: -.055em;
}

.mm-hero-title > span {
    display: block;
}

.mm-orange-dot {
    color: #e97818;
}

.mm-hero-copy > p {
    max-width: 500px;
    margin: 0 0 28px;
    color: #4b5563;
    font-size: 17px;
    line-height: 1.62;
}

.mm-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.mm-button-dark,
.mm-button-outline,
.mm-button-orange {
    min-height: 45px;
    gap: 12px;
    border-radius: 8px;
    padding: 11px 18px;
}

.mm-button-dark {
    color: #fff;
    border-color: #111827;
    background: #111827;
    box-shadow: 0 10px 22px rgba(17,24,39,.14);
}

.mm-button-dark:hover {
    color: #fff;
    border-color: #263244;
    background: #263244;
}

.mm-button-outline {
    color: #111827;
    border-color: #9ca3af;
    background: #fff;
}

.mm-button-outline:hover {
    color: #e97818;
    border-color: #e97818;
    background: #fffaf6;
}

.mm-button-orange {
    color: #fff;
    border-color: #e97818;
    background: #e97818;
    box-shadow: 0 10px 24px rgba(233,120,24,.2);
}

.mm-button-orange:hover {
    color: #fff;
    border-color: #d8670f;
    background: #d8670f;
}

.mm-hero-visual {
    position: relative;
    min-width: 0;
    overflow: hidden;
    background: linear-gradient(135deg, #f8fbfd, #edf3f7);
}

.mm-office-backdrop {
    position: absolute;
    inset: 0;
    background: url('/images/home/office-lines.svg') center / cover no-repeat;
}

.mm-hero-visual::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(255,255,255,.85) 0%, rgba(255,255,255,.12) 32%, rgba(255,255,255,0) 68%);
}

.mm-hero-product {
    position: absolute;
    z-index: 2;
    right: 4%;
    bottom: 5%;
    width: min(72%, 590px);
    height: 82%;
    display: flex;
    align-items: flex-end;
    justify-content: center;
}

.mm-hero-product img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center bottom;
    filter: drop-shadow(0 28px 28px rgba(31,41,55,.22));
}

.mm-hero-placeholder {
    width: 82%;
    height: 82%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #64748b;
    filter: drop-shadow(0 22px 24px rgba(31,41,55,.14));
}

.mm-hero-placeholder svg {
    width: 100%;
    max-height: 100%;
    fill: #f8fafc;
    stroke: currentColor;
    stroke-width: 3;
}

.mm-hero-product-caption {
    position: absolute;
    z-index: 4;
    right: 24px;
    bottom: 22px;
    max-width: 260px;
    display: none;
    gap: 2px;
    padding: 10px 13px;
    border: 1px solid rgba(255,255,255,.76);
    border-radius: 10px;
    background: rgba(255,255,255,.78);
    backdrop-filter: blur(12px);
    box-shadow: 0 10px 28px rgba(31,41,55,.08);
}

.mm-hero-product-caption span {
    color: #e97818;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.mm-hero-product-caption strong {
    color: #111827;
    font-size: 12px;
}

.mm-trust-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border: 1px solid #e4e8ed;
    border-top: 0;
    background: #fff;
}

.mm-trust-strip article {
    min-height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 13px;
    padding: 17px 20px;
    border-right: 1px solid #e8ebef;
}

.mm-trust-strip article:last-child {
    border-right: 0;
}

.mm-line-icon {
    width: 34px;
    height: 34px;
    color: #111827;
}

.mm-line-icon svg,
.mm-solution-icon svg,
.mm-why-grid article > span svg {
    width: 100%;
    height: 100%;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mm-trust-strip article > div {
    display: grid;
    gap: 1px;
}

.mm-trust-strip strong {
    color: #111827;
    font-size: 13px;
}

.mm-trust-strip article > div > span {
    color: #6b7280;
    font-size: 11px;
}

.mm-section {
    padding: 40px 20px 6px;
    scroll-margin-top: 98px;
}

.mm-section-heading {
    margin-bottom: 22px;
}

.mm-section-heading-centered {
    text-align: center;
}

.mm-section-heading h2 {
    margin: 0;
    color: #111827;
    font-size: clamp(25px, 2.4vw, 35px);
    line-height: 1.15;
    letter-spacing: -.025em;
}

.mm-category-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.mm-category-card {
    min-width: 0;
    min-height: 365px;
    display: flex;
    flex-direction: column;
    overflow: hidden;
    padding: 22px 20px 18px;
    border: 1px solid #e1e5e9;
    border-radius: 13px;
    color: #111827;
    background: linear-gradient(180deg, #fff, #fafbfc);
    box-shadow: 0 9px 25px rgba(31,41,55,.035);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.mm-category-card:hover {
    transform: translateY(-5px);
    border-color: rgba(233,120,24,.55);
    box-shadow: 0 18px 38px rgba(31,41,55,.09);
}

.mm-category-title-row {
    min-height: 70px;
    display: flex;
    align-items: flex-start;
    gap: 11px;
}

.mm-category-title-row h3,
.mm-category-copy h3 {
    min-width: 0;
    min-height: 0;
    margin: 0;
    font-size: 20px;
    line-height: 1.16;
    letter-spacing: -.02em;
}

.mm-category-mode-badge {
    display: inline-flex;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    margin-top: -2px;
    border: 1px solid rgba(88, 97, 111, .18);
    border-radius: 50%;
    background: rgba(255, 255, 255, .98);
    box-shadow: 0 3px 9px rgba(25, 32, 44, .13);
}

.mm-category-mode-icon {
    position: relative;
    display: block;
    width: 25px;
    height: 25px;
    overflow: hidden;
    border-radius: 50%;
}

.mm-category-mode-badge.is-colour .mm-category-mode-icon {
    background: conic-gradient(
        #ec168c 0 25%,
        #15171a 25% 50%,
        #ffd21c 50% 75%,
        #13a9e1 75% 100%
    );
}

.mm-category-mode-badge.is-mono .mm-category-mode-icon {
    background: conic-gradient(
        #b9bec6 0 25%,
        #242932 25% 50%,
        #777f8a 50% 75%,
        #d9dde2 75% 100%
    );
}

.mm-category-mode-icon::before,
.mm-category-mode-icon::after {
    content: "";
    position: absolute;
    z-index: 1;
    background: rgba(255, 255, 255, .95);
}

.mm-category-mode-icon::before {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
}

.mm-category-mode-icon::after {
    top: 50%;
    right: 0;
    left: 0;
    height: 2px;
    transform: translateY(-50%);
}

.mm-mini-rule {
    width: 22px;
    height: 3px;
    display: block;
    margin-top: 12px;
    border-radius: 999px;
    background: #e97818;
}

.mm-category-image {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 14px 4px 4px;
    background: #fff;
}

.mm-category-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 13px 14px rgba(31,41,55,.12));
}

.mm-category-placeholder {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #687383;
}

.mm-category-placeholder svg {
    width: 120px;
    height: 120px;
    fill: #f8fafc;
    stroke: currentColor;
    stroke-width: 2.3;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.mm-category-card > p {
    min-height: 48px;
    margin: 8px 0 12px;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.5;
}

.mm-card-link {
    margin-top: auto;
    color: #e97818;
    font-size: 12px;
    font-weight: 850;
}

.mm-card-link b {
    margin-left: 6px;
    transition: margin-left .18s ease;
}

.mm-category-card:hover .mm-card-link b {
    margin-left: 10px;
}

.mm-solutions-section {
    padding-top: 34px;
}

.mm-solutions-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.mm-solutions-grid article {
    min-height: 126px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 10px;
    padding: 17px 10px;
    border: 1px solid #e2e6ea;
    border-radius: 11px;
    text-align: center;
    background: #fff;
    box-shadow: 0 7px 20px rgba(31,41,55,.025);
}

.mm-solution-icon {
    width: 34px;
    height: 34px;
    color: #111827;
}

.mm-solutions-grid strong {
    color: #111827;
    font-size: 12px;
    line-height: 1.28;
}

.mm-featured-section {
    padding-top: 40px;
}

.mm-featured-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 14px;
}

.mm-featured-card {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e2e6ea;
    border-radius: 11px;
    background: #fff;
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.mm-featured-card:hover {
    transform: translateY(-4px);
    border-color: rgba(233,120,24,.55);
    box-shadow: 0 14px 30px rgba(31,41,55,.08);
}

.mm-featured-card .public-card-image-wrap {
    height: 150px;
    padding: 14px 12px 4px;
    border-bottom: 0;
    background: #fff;
}

.mm-featured-card .public-card-image-wrap img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.mm-featured-card .catalog-placeholder {
    height: 100%;
    min-height: 0;
    border: 0;
    background: #f8fafc;
}

.mm-featured-copy {
    min-height: 104px;
    display: grid;
    align-content: start;
    gap: 4px;
    padding: 9px 12px 14px;
}

.mm-featured-copy strong {
    overflow: hidden;
    color: #111827;
    font-size: 12px;
    line-height: 1.35;
}

.mm-featured-copy > span {
    color: #4b5563;
    font-size: 10px;
    line-height: 1.35;
}

.mm-featured-copy small {
    color: #7a828e;
    font-size: 9px;
    line-height: 1.4;
}

.mm-centered-action {
    display: flex;
    justify-content: center;
    margin-top: 18px;
}

.mm-why-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid #e2e6ea;
    border-radius: 12px;
    background: #fff;
}

.mm-why-grid article {
    min-height: 126px;
    display: grid;
    grid-template-columns: 46px 1fr;
    align-items: center;
    gap: 14px;
    padding: 22px;
    border-right: 1px solid #e6e9ed;
}

.mm-why-grid article:last-child {
    border-right: 0;
}

.mm-why-grid article > span {
    width: 42px;
    height: 42px;
    color: #e97818;
}

.mm-why-grid article > div {
    display: grid;
    gap: 5px;
}

.mm-why-grid strong {
    color: #111827;
    font-size: 13px;
}

.mm-why-grid p {
    margin: 0;
    color: #6b7280;
    font-size: 11px;
    line-height: 1.45;
}

.mm-expertise-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    margin: 38px 20px 0;
    padding: 24px 28px;
    border: 1px solid #e2e6ea;
    border-radius: 13px;
    background: linear-gradient(100deg, #f8fafc, #fff);
}

.mm-expertise-cta > div {
    max-width: 760px;
}

.mm-expertise-cta h2 {
    margin: 0 0 5px;
    color: #111827;
    font-size: 24px;
    letter-spacing: -.02em;
}

.mm-expertise-cta p {
    margin: 0;
    color: #5f6875;
    font-size: 13px;
    line-height: 1.5;
}

.mm-public-footer {
    color: #4b5563;
    border-top: 1px solid #e4e8ec;
    background: #fbfcfd;
}

.mm-footer-main {
    width: 100%;
    max-width: 1500px;
    display: grid;
    grid-template-columns: 1.35fr repeat(4, minmax(130px, .8fr));
    gap: 40px;
    margin: 0 auto;
    padding: 42px 28px 34px;
}

.mm-footer-main section {
    display: grid;
    align-content: start;
    gap: 9px;
}

.mm-footer-brand img {
    width: 110px;
    height: 44px;
    object-fit: contain;
    object-position: left center;
}

.mm-footer-brand strong {
    color: #111827;
    font-size: 10px;
    line-height: 1.35;
    text-transform: uppercase;
}

.mm-footer-brand p {
    max-width: 230px;
    margin: 3px 0 0;
    color: #6b7280;
    font-size: 11px;
    line-height: 1.55;
}

.mm-footer-main h2 {
    margin: 0 0 7px;
    color: #111827;
    font-size: 13px;
}

.mm-footer-main a,
.mm-footer-main span {
    color: #5f6875;
    font-size: 11px;
    line-height: 1.45;
}

.mm-footer-main a:hover {
    color: #e97818;
}

.mm-footer-bottom {
    width: 100%;
    max-width: 1500px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin: 0 auto;
    padding: 17px 28px 22px;
    border-top: 1px solid #e4e8ec;
    color: #7a828e;
    font-size: 10px;
}

.mm-footer-bottom nav {
    display: flex;
    gap: 18px;
}

.homepage-settings-form {
    border-color: rgba(233,120,24,.3);
    box-shadow: 0 10px 26px rgba(233,120,24,.055);
}

.settings-section-heading {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 18px;
}

.settings-section-heading h2 {
    margin: 4px 0;
}

.homepage-settings-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.homepage-settings-grid label {
    display: grid;
    align-content: start;
    gap: 6px;
    color: #4b5563;
    font-size: 12px;
    font-weight: 800;
}

.homepage-settings-grid textarea {
    min-height: 92px;
    resize: vertical;
}

.homepage-settings-wide {
    grid-column: span 2;
}

.field-help {
    color: #7a828e;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.4;
}

.settings-actions-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: 18px;
}

@media (max-width: 1260px) {
    .topbar-public.mm-public-header .topbar-inner {
        grid-template-columns: auto 1fr auto;
        gap: 12px;
    }

    .topbar-public.mm-public-header .site-brand-text {
        display: none;
    }

    .topbar-public.mm-public-header .topbar-links a {
        padding-left: 8px;
        padding-right: 8px;
        font-size: 11px;
    }

    .mm-hero {
        grid-template-columns: minmax(360px, .9fr) minmax(440px, 1.1fr);
    }

    .mm-hero-copy {
        padding-left: 42px;
    }

    .mm-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-category-copy h3 {
        min-height: 48px;
    }

    .mm-solutions-grid,
    .mm-featured-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mm-footer-main {
        grid-template-columns: 1.3fr repeat(2, 1fr);
    }
}

@media (max-width: 980px) {
    .topbar-public.mm-public-header .topbar-inner {
        display: flex;
        flex-wrap: wrap;
    }

    .topbar-public.mm-public-header .site-brand {
        flex: 1 1 auto;
    }

    .topbar-public.mm-public-header .topbar-links {
        order: 3;
        width: 100%;
        justify-content: flex-start;
        overflow-x: auto;
        padding-top: 7px;
        border-top: 1px solid #edf0f2;
    }

    .mm-hero {
        min-height: 760px;
        grid-template-columns: 1fr;
        grid-template-rows: auto 390px;
    }

    .mm-hero-copy {
        padding: 48px 40px 34px;
        background: #fff;
    }

    .mm-hero-title {
        font-size: clamp(46px, 9vw, 68px);
    }

    .mm-hero-visual::before {
        background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,255,255,0) 36%);
    }

    .mm-hero-product {
        right: 8%;
        width: 65%;
        height: 92%;
    }

    .mm-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-trust-strip article:nth-child(2) {
        border-right: 0;
    }

    .mm-trust-strip article:nth-child(-n+2) {
        border-bottom: 1px solid #e8ebef;
    }

    .mm-why-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-why-grid article:nth-child(2) {
        border-right: 0;
    }

    .mm-why-grid article:nth-child(-n+2) {
        border-bottom: 1px solid #e6e9ed;
    }

    .mm-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-footer-brand {
        grid-column: 1 / -1;
    }

    .homepage-settings-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    body.rds-modern-minimal-home .page-shell {
        padding: 0 12px 34px;
    }

    .topbar-public.mm-public-header .topbar-inner {
        padding: 10px 14px;
    }

    .topbar-public.mm-public-header .topbar-links {
        gap: 0;
    }

    .topbar-public.mm-public-header .topbar-links a {
        flex: 0 0 auto;
        padding: 9px 8px;
    }

    .topbar-public.mm-public-header .topbar-login {
        padding: 8px 11px;
    }

    .mm-hero {
        min-height: 690px;
        grid-template-rows: auto 310px;
    }

    .mm-hero-copy {
        padding: 38px 24px 28px;
    }

    .mm-eyebrow {
        font-size: 10px;
    }

    .mm-hero-title {
        font-size: clamp(43px, 14vw, 61px);
    }

    .mm-hero-copy > p {
        font-size: 15px;
    }

    .mm-hero-actions,
    .mm-hero-actions .button {
        width: 100%;
    }

    .mm-hero-product {
        right: 4%;
        width: 84%;
    }

    .mm-trust-strip {
        grid-template-columns: 1fr;
    }

    .mm-trust-strip article,
    .mm-trust-strip article:nth-child(2) {
        justify-content: flex-start;
        border-right: 0;
        border-bottom: 1px solid #e8ebef;
    }

    .mm-trust-strip article:last-child {
        border-bottom: 0;
    }

    .mm-section {
        padding: 34px 4px 4px;
    }

    .mm-category-grid,
    .mm-solutions-grid,
    .mm-featured-grid,
    .mm-why-grid {
        grid-template-columns: 1fr;
    }

    .mm-category-card {
        min-height: 330px;
    }

    .mm-category-copy h3 {
        min-height: 0;
    }

    .mm-solutions-grid article {
        min-height: 96px;
        grid-template-columns: 40px 1fr;
        justify-items: start;
        text-align: left;
        padding: 17px 20px;
    }

    .mm-featured-card {
        display: grid;
        grid-template-columns: 140px 1fr;
    }

    .mm-featured-card .public-card-image-wrap {
        height: 140px;
    }

    .mm-featured-copy {
        align-content: center;
    }

    .mm-why-grid article,
    .mm-why-grid article:nth-child(2) {
        border-right: 0;
        border-bottom: 1px solid #e6e9ed;
    }

    .mm-why-grid article:last-child {
        border-bottom: 0;
    }

    .mm-expertise-cta {
        align-items: flex-start;
        flex-direction: column;
        margin: 32px 4px 0;
        padding: 22px;
    }

    .mm-expertise-cta .button {
        width: 100%;
    }

    .mm-footer-main {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 34px 20px 28px;
    }

    .mm-footer-brand {
        grid-column: auto;
    }

    .mm-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        padding: 16px 20px 22px;
    }

    .homepage-settings-grid {
        grid-template-columns: 1fr;
    }

    .homepage-settings-wide {
        grid-column: auto;
    }

    .settings-actions-row {
        align-items: stretch;
        flex-direction: column;
    }
}

/* ==========================================================
   RDS homepage refinement + Request a Quote workflow
   ========================================================== */

/* Keep the Proposal 2 direction, but remove the oversized boxed hero. */
body.rds-modern-minimal-home .mm-hero {
    min-height: 470px;
    grid-template-columns: minmax(360px, .92fr) minmax(460px, 1.08fr);
    overflow: visible;
    border: 0;
    background: transparent;
    box-shadow: none;
}

body.rds-modern-minimal-home .mm-hero-copy {
    padding: 70px 42px 58px 30px;
    background: transparent;
}

body.rds-modern-minimal-home .mm-hero-visual {
    min-height: 470px;
    overflow: visible;
    background: transparent;
}

body.rds-modern-minimal-home .mm-office-backdrop {
    inset: 36px 0 20px 8%;
    border-radius: 48% 52% 42% 58% / 46% 44% 56% 54%;
    background:
        radial-gradient(circle at 50% 48%, rgba(231,238,244,.92), rgba(244,247,249,.5) 58%, rgba(255,255,255,0) 74%),
        url('/images/home/office-lines.svg') center / cover no-repeat;
    opacity: .78;
}

body.rds-modern-minimal-home .mm-hero-visual::before {
    display: none;
}

body.rds-modern-minimal-home .mm-hero-product {
    right: 3%;
    bottom: 2%;
    width: min(80%, 590px);
    height: 91%;
}

body.rds-modern-minimal-home .mm-hero-product img {
    filter: drop-shadow(0 24px 22px rgba(31,41,55,.18));
}

body.rds-modern-minimal-home .mm-hero-actions {
    gap: 10px;
}

body.rds-modern-minimal-home .mm-button-dark,
body.rds-modern-minimal-home .mm-button-outline {
    min-height: 44px;
    border-radius: 6px;
    padding: 10px 18px;
    box-shadow: none;
    font-weight: 800;
}

body.rds-modern-minimal-home .mm-button-dark {
    border-color: #e97818;
    background: #e97818;
}

body.rds-modern-minimal-home .mm-button-dark:hover {
    border-color: #cf6511;
    background: #cf6511;
}

body.rds-modern-minimal-home .mm-button-outline {
    border-color: #c7cdd4;
    background: #fff;
}

body.rds-modern-minimal-home .mm-button-outline:hover {
    color: #111827;
    border-color: #111827;
    background: #fff;
}

/* Public catalogue heading: compact, content-first, no hero banner. */
.public-products-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 32px;
    padding: 34px 0 24px;
    border-bottom: 1px solid #e5e7eb;
}

.public-products-heading > div {
    max-width: 880px;
}

.public-products-heading h1 {
    margin: 8px 0 10px;
    color: #111827;
    font-size: clamp(31px, 4vw, 48px);
    line-height: 1.08;
    letter-spacing: -.035em;
}

.public-products-heading p {
    max-width: 760px;
    margin: 0;
    color: #5b6472;
    font-size: 16px;
    line-height: 1.65;
}

.public-products-heading .catalogue-summary {
    margin-top: 18px;
}

/* Quote page */
.quote-page-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 36px;
    padding: 24px 0 28px;
    border-bottom: 1px solid #e5e7eb;
}

.quote-page-heading > div:first-child {
    max-width: 780px;
}

.quote-page-heading h1 {
    margin: 8px 0 10px;
    color: #111827;
    font-size: clamp(34px, 4vw, 50px);
    line-height: 1.05;
    letter-spacing: -.035em;
}

.quote-page-heading p {
    margin: 0;
    color: #5b6472;
    font-size: 16px;
    line-height: 1.65;
}

.quote-response-note {
    width: 260px;
    flex: 0 0 auto;
    display: grid;
    gap: 4px;
    padding: 16px 18px;
    border-left: 4px solid #e97818;
    background: #fff7ed;
}

.quote-response-note strong {
    color: #111827;
    font-size: 14px;
}

.quote-response-note span {
    color: #6b7280;
    font-size: 12px;
    line-height: 1.45;
}

.quote-page-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 28px;
    align-items: start;
    padding: 30px 0 12px;
}

.quote-form-card,
.quote-contact-card,
.quote-success-card {
    border: 1px solid #e1e5ea;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 14px 34px rgba(17,24,39,.045);
}

.quote-form-card {
    overflow: hidden;
}

.quote-request-form {
    display: grid;
}

.quote-form-section {
    padding: 28px 30px;
    border-bottom: 1px solid #e8ebef;
}

.quote-section-title {
    display: flex;
    align-items: flex-start;
    gap: 13px;
    margin-bottom: 22px;
}

.quote-section-title > span {
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #111827;
    font-size: 13px;
    font-weight: 900;
}

.quote-section-title h2 {
    margin: 0 0 3px;
    color: #111827;
    font-size: 20px;
}

.quote-section-title p {
    margin: 0;
    color: #6b7280;
    font-size: 13px;
}

.quote-request-form label {
    display: grid;
    gap: 7px;
    color: #374151;
    font-size: 13px;
    font-weight: 800;
}

.quote-request-form input,
.quote-request-form select,
.quote-request-form textarea {
    width: 100%;
    border: 1px solid #cfd5dc;
    border-radius: 7px;
    background: #fff;
    color: #111827;
    font: inherit;
    font-weight: 500;
}

.quote-request-form input,
.quote-request-form select {
    min-height: 44px;
    padding: 10px 12px;
}

.quote-request-form textarea {
    min-height: 132px;
    padding: 11px 12px;
    resize: vertical;
}

.quote-request-form input:focus,
.quote-request-form select:focus,
.quote-request-form textarea:focus {
    outline: 0;
    border-color: #e97818;
    box-shadow: 0 0 0 3px rgba(233,120,24,.12);
}

.quote-product-select {
    max-width: 720px;
}

.quote-selected-product {
    max-width: 720px;
    display: grid;
    grid-template-columns: 116px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-top: 16px;
    padding: 14px;
    border: 1px solid #e3e7eb;
    border-radius: 9px;
    background: #fafbfc;
}

.quote-selected-image {
    height: 94px;
    overflow: hidden;
    border-radius: 7px;
    background: #fff;
}

.quote-selected-image .public-card-image-wrap {
    height: 100%;
    min-height: 0;
    padding: 8px;
    border: 0;
    background: #fff;
}

.quote-selected-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.quote-selected-product > div:last-child {
    min-width: 0;
    display: grid;
    gap: 4px;
}

.quote-selected-product span {
    color: #e97818;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.quote-selected-product strong {
    color: #111827;
    font-size: 17px;
}

.quote-selected-product small {
    color: #6b7280;
    line-height: 1.45;
}

.quote-selected-product a {
    width: fit-content;
    margin-top: 3px;
    color: #d9650b;
    font-size: 12px;
    font-weight: 800;
}

.quote-fields-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.quote-message-field {
    grid-column: 1 / -1;
}

.quote-message-field small {
    color: #8b929d;
    font-weight: 600;
}

.quote-quantity-field {
    max-width: 180px;
}

.quote-submit-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 22px 30px;
    background: #fafbfc;
}

.quote-submit-row p {
    max-width: 520px;
    margin: 0;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.5;
}

.quote-submit-button {
    min-width: 190px;
    min-height: 45px;
    border-radius: 6px;
}

.quote-contact-card {
    position: sticky;
    top: 92px;
    padding: 24px;
}

.quote-contact-card h2 {
    margin: 10px 0 10px;
    color: #111827;
    font-size: 22px;
}

.quote-contact-card > p {
    margin: 0;
    color: #6b7280;
    font-size: 13px;
    line-height: 1.6;
}

.quote-contact-list {
    display: grid;
    gap: 13px;
    margin: 22px 0;
    padding: 18px 0;
    border-top: 1px solid #e5e7eb;
    border-bottom: 1px solid #e5e7eb;
}

.quote-contact-list > div {
    display: grid;
    gap: 3px;
}

.quote-contact-list span {
    color: #8b929d;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.quote-contact-list a,
.quote-contact-list strong {
    color: #111827;
    font-size: 14px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.quote-contact-points {
    display: grid;
    gap: 9px;
    color: #4b5563;
    font-size: 12px;
    font-weight: 700;
}

.quote-success-card {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 22px;
    margin: 34px 0;
    padding: 34px;
}

.quote-success-icon {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #198754;
    font-size: 28px;
    font-weight: 900;
}

.quote-success-card h2 {
    margin: 9px 0 8px;
    color: #111827;
    font-size: 26px;
}

.quote-success-card p {
    margin: 0;
    color: #5b6472;
    line-height: 1.65;
}

.quote-success-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 20px;
}

.quote-honeypot {
    position: absolute !important;
    left: -10000px !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
}

.field-validation-error,
.validation-summary {
    color: #b42318;
    font-size: 12px;
    font-weight: 700;
}

.validation-summary:empty {
    display: none;
}

.validation-summary ul {
    margin: 0 0 18px;
    padding: 12px 16px 12px 32px;
    border: 1px solid #f1b8b3;
    border-radius: 7px;
    background: #fff4f2;
}

@media (max-width: 980px) {
    body.rds-modern-minimal-home .mm-hero {
        min-height: 700px;
        grid-template-columns: 1fr;
        grid-template-rows: auto 330px;
    }

    body.rds-modern-minimal-home .mm-hero-copy {
        padding: 48px 38px 20px;
    }

    body.rds-modern-minimal-home .mm-hero-visual {
        min-height: 330px;
    }

    body.rds-modern-minimal-home .mm-office-backdrop {
        inset: 0 8% 0;
    }

    body.rds-modern-minimal-home .mm-hero-product {
        right: 12%;
        width: 72%;
        height: 100%;
    }

    .quote-page-grid {
        grid-template-columns: 1fr;
    }

    .quote-contact-card {
        position: static;
    }
}

@media (max-width: 720px) {
    .public-products-heading,
    .quote-page-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 18px;
    }

    .public-products-heading .button,
    .quote-response-note {
        width: 100%;
    }

    .quote-page-heading {
        padding-top: 18px;
    }

    .quote-page-grid {
        padding-top: 20px;
    }

    .quote-form-section {
        padding: 22px 18px;
    }

    .quote-fields-grid {
        grid-template-columns: 1fr;
    }

    .quote-message-field {
        grid-column: auto;
    }

    .quote-quantity-field {
        max-width: none;
    }

    .quote-submit-row {
        align-items: stretch;
        flex-direction: column;
        padding: 18px;
    }

    .quote-submit-button {
        width: 100%;
    }

    .quote-selected-product {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .quote-success-card {
        grid-template-columns: 1fr;
        padding: 24px 20px;
    }

    body.rds-modern-minimal-home .mm-hero {
        min-height: 640px;
        grid-template-rows: auto 280px;
    }

    body.rds-modern-minimal-home .mm-hero-copy {
        padding: 38px 18px 16px;
    }

    body.rds-modern-minimal-home .mm-hero-visual {
        min-height: 280px;
    }

    body.rds-modern-minimal-home .mm-hero-product {
        right: 4%;
        width: 88%;
    }
}

/* Compact public specifications + product datasheet upload/download */
.compact-public-specifications {
    width: min(100%, 1320px);
    margin: 18px auto 22px;
    border-radius: 14px;
    box-shadow: none;
}

.compact-specification-heading {
    align-items: center;
    padding: 14px 18px;
    background: #fff;
}

.compact-specification-heading h2 {
    margin: 0;
    font-size: 21px;
    line-height: 1.2;
}

.compact-specification-heading p {
    margin: 4px 0 0;
    color: #7a828f;
    font-size: 12px;
}

.compact-specification-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1px;
}

.compact-specification-grid > div {
    display: block;
    min-height: 72px;
    padding: 12px 16px;
}

.compact-specification-grid > div.wide {
    grid-column: span 2;
}

.compact-specification-grid dt {
    margin: 0 0 6px;
    font-size: 10px;
    line-height: 1.2;
}

.compact-specification-grid dd {
    font-size: 14px;
    line-height: 1.35;
}

.datasheet-download-button {
    color: #fff;
    border-color: #172033;
    background: #172033;
}

.datasheet-download-button:hover {
    color: #fff;
    border-color: #2a354b;
    background: #2a354b;
}

.machine-datasheet-field {
    margin-top: 4px;
}

.datasheet-upload-box {
    display: grid;
    grid-template-columns: minmax(250px, 420px) minmax(240px, 1fr);
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px dashed #cfd5de;
    border-radius: 12px;
    background: #fff;
}

.datasheet-upload-box input[type="file"] {
    width: 100%;
    max-width: none;
}

.current-datasheet-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #dde2e8;
    border-radius: 12px;
    background: #f8fafc;
}

.current-datasheet-row > div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.current-datasheet-row strong {
    font-size: 12px;
}

.current-datasheet-row span {
    overflow: hidden;
    color: #667085;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.remove-datasheet-check {
    margin: 0;
    white-space: nowrap;
}

@media (max-width: 1180px) {
    .compact-specification-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 850px) {
    .compact-specification-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .compact-specification-grid > div.wide {
        grid-column: 1 / -1;
    }

    .datasheet-upload-box {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 560px) {
    .compact-specification-grid {
        grid-template-columns: 1fr;
    }

    .compact-specification-grid > div,
    .compact-specification-grid > div.wide {
        grid-column: auto;
        min-height: 0;
        padding: 11px 14px;
    }

    .current-datasheet-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .current-datasheet-row .button {
        width: 100%;
    }
}

/* ========================================================================== 
   RDS public product page – compact sales-focused redesign
   ========================================================================== */
.rds-product-breadcrumb {
    width: min(100%, 1180px);
    margin: 0 auto 14px;
}

.rds-product-hero-card {
    display: grid;
    grid-template-columns: minmax(360px, 46%) minmax(0, 1fr);
    gap: 38px;
    align-items: center;
    width: min(100%, 1180px);
    margin: 0 auto 20px;
    padding: 26px;
    border: 1px solid #dde2e8;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(24, 31, 42, .055);
}

.rds-product-gallery,
.rds-product-summary {
    min-width: 0;
}

.rds-product-main-image-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 360px;
    padding: 18px;
    overflow: hidden;
    border: 1px solid #e2e6eb;
    border-radius: 14px;
    background: linear-gradient(155deg, #fff 0%, #f6f8fa 100%);
}

.rds-product-main-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    mix-blend-mode: multiply;
}

.rds-product-placeholder-frame .public-card-image-wrap {
    width: 100%;
    height: 100%;
    border: 0;
    background: transparent;
}

.rds-product-placeholder-frame .public-card-image-wrap img,
.rds-product-placeholder-frame .catalog-placeholder {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rds-product-thumbnail-row {
    display: flex;
    gap: 8px;
    margin-top: 10px;
    overflow-x: auto;
    padding: 2px 1px 4px;
}

.rds-product-thumbnail {
    width: 62px;
    height: 58px;
    flex: 0 0 auto;
    padding: 4px;
    border: 1px solid #dfe4ea;
    border-radius: 9px;
    background: #fff;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.rds-product-thumbnail:hover,
.rds-product-thumbnail.active {
    border-color: #e97818;
    box-shadow: 0 0 0 2px rgba(233, 120, 24, .11);
}

.rds-product-thumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rds-product-summary {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.rds-product-summary h1 {
    margin: 0;
    color: #1b2230;
    font-size: clamp(34px, 3.5vw, 48px);
    line-height: 1.04;
    letter-spacing: -.035em;
}

.rds-product-summary h1.rds-product-utax-title {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 11px;
    flex-wrap: wrap;
}

.rds-product-utax-logo {
    display: block;
    width: auto;
    height: 40px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: left center;
}

.rds-product-utax-title > span {
    min-width: 0;
}

.rds-product-subtitle {
    margin: 12px 0 0;
    color: #596270;
    font-size: 17px;
    font-weight: 650;
    line-height: 1.5;
}

.rds-product-highlight-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin: 22px 0 0;
}

.rds-product-highlight-grid > div {
    min-width: 0;
    padding: 10px 11px;
    border: 1px solid #e1e5ea;
    border-radius: 10px;
    background: #f8fafc;
}

.rds-product-highlight-grid dt {
    margin: 0 0 4px;
    color: #8a929e;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .065em;
    text-transform: uppercase;
}

.rds-product-highlight-grid dd {
    overflow: hidden;
    margin: 0;
    color: #2d3541;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rds-product-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 22px;
}

.rds-product-summary-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #e7ebef;
}

.rds-product-summary-footer .rds-product-contact-note {
    min-width: 0;
    flex: 1 1 auto;
    margin: 0;
    padding: 0;
    border: 0;
}

.rds-machine-order-panel {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.rds-machine-order-price {
    min-width: 108px;
    text-align: right;
}

.rds-machine-order-add {
    min-height: 43px;
    padding: 9px 14px;
    font-size: 12px;
}

.rds-product-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 43px;
    padding: 9px 16px;
    border: 1px solid transparent;
    border-radius: 8px;
    font-size: 13px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    transition: transform .15s ease, background-color .15s ease, border-color .15s ease;
}

.rds-product-button:hover {
    transform: translateY(-1px);
}

.rds-product-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rds-product-button-primary {
    color: #fff;
    border-color: #e66e0b;
    background: #e66e0b;
    box-shadow: 0 6px 14px rgba(230, 110, 11, .16);
}

.rds-product-button-primary:hover {
    color: #fff;
    border-color: #cc5c03;
    background: #cc5c03;
}

.rds-product-button-secondary {
    color: #263141;
    border-color: #cbd2da;
    background: #fff;
}

.rds-product-button-secondary:hover {
    color: #172033;
    border-color: #98a3af;
    background: #f8fafc;
}

.rds-product-small-links {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 14px;
    color: #a0a7b0;
    font-size: 12px;
    font-weight: 750;
}

.rds-product-small-links a {
    color: #606a77;
}

.rds-product-small-links a:hover {
    color: #e66e0b;
}

.rds-product-contact-note {
    margin-top: 15px;
    padding-top: 13px;
    border-top: 1px solid #edf0f3;
    color: #7c8591;
    font-size: 11px;
    line-height: 1.5;
}

.rds-product-overview-section,
.rds-product-specification-section,
.rds-related-products-section {
    width: min(100%, 1180px);
    margin: 20px auto 0;
}

.rds-product-overview-section {
    display: grid;
    grid-template-columns: minmax(190px, .34fr) minmax(0, 1fr);
    gap: 32px;
    padding: 24px 26px;
    border: 1px solid #e0e4e9;
    border-radius: 15px;
    background: #fff;
}

.rds-product-section-heading > span,
.rds-product-specification-heading > div > span,
.rds-related-products-heading > div > span {
    color: #e66e0b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.rds-product-section-heading h2,
.rds-product-specification-heading h2,
.rds-related-products-heading h2 {
    margin: 5px 0 0;
    color: #202735;
    font-size: 23px;
    line-height: 1.15;
}

.rds-product-overview-copy {
    color: #626c79;
    font-size: 14px;
    line-height: 1.75;
    white-space: pre-line;
}

.rds-product-specification-section {
    padding: 20px;
    border: 1px solid #e0e4e9;
    border-radius: 15px;
    background: #f7f9fb;
}

.rds-product-specification-heading,
.rds-related-products-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 14px;
}

.rds-related-products-heading > a {
    color: #5f6874;
    font-size: 12px;
    font-weight: 800;
}

.rds-related-products-heading > a:hover {
    color: #e66e0b;
}

.rds-product-spec-download {
    display: inline-flex;
    min-height: 42px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 10px 15px;
    border: 1.5px solid #ef7a25;
    border-radius: 10px;
    color: #b94f0c;
    background: #fff;
    box-shadow: 0 4px 12px rgba(230, 110, 11, .08);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-decoration: none;
    transition: color .16s ease, background .16s ease, border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}

.rds-product-spec-download svg {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rds-product-spec-download:hover,
.rds-product-spec-download:focus-visible {
    border-color: #df6714;
    color: #fff;
    background: #e66e0b;
    box-shadow: 0 8px 18px rgba(230, 110, 11, .2);
    transform: translateY(-1px);
}

.rds-product-specification-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
    margin: 0;
}

.rds-product-specification-grid > div {
    min-width: 0;
    min-height: 68px;
    padding: 11px 13px;
    border: 1px solid #e1e5ea;
    border-radius: 10px;
    background: #fff;
}

.rds-product-specification-grid > div.wide {
    grid-column: span 2;
}

.rds-product-specification-grid dt {
    margin: 0 0 6px;
    color: #8a929e;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.rds-product-specification-grid dd {
    margin: 0;
    color: #2f3743;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.rds-product-specification-grid dd a {
    color: #e66e0b;
}

.rds-related-products-section {
    margin-bottom: 12px;
    padding: 22px 0 4px;
}

.rds-related-products-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.rds-related-product-card {
    display: flex;
    min-width: 0;
    flex-direction: column;
    overflow: hidden;
    border: 1px solid #e0e4e9;
    border-radius: 13px;
    color: inherit;
    background: #fff;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.rds-related-product-card:hover {
    transform: translateY(-2px);
    border-color: #d0d6dd;
    box-shadow: 0 9px 22px rgba(23, 32, 51, .07);
}

.rds-related-product-card .public-card-image-wrap {
    height: 170px;
    padding: 15px;
    border: 0;
    border-bottom: 1px solid #edf0f3;
    border-radius: 0;
    background: linear-gradient(155deg, #fff, #f7f9fb);
}

.rds-related-product-card .public-card-image-wrap img,
.rds-related-product-card .catalog-placeholder {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rds-related-product-body {
    display: flex;
    min-height: 150px;
    flex: 1;
    flex-direction: column;
    padding: 14px;
}

.rds-related-product-body > span {
    color: #e66e0b;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.rds-related-product-body h3 {
    margin: 7px 0 6px;
    color: #252d39;
    font-size: 15px;
    line-height: 1.25;
}

.rds-related-product-body p {
    margin: 0;
    color: #727b87;
    font-size: 11px;
    line-height: 1.45;
}

.rds-related-product-body b {
    margin-top: auto;
    padding-top: 12px;
    color: #e66e0b;
    font-size: 11px;
}


/* Partner-only compatible accessories on public machine detail pages */
.rds-compatible-accessories-section {
    position: relative;
    width: min(100%, 1180px);
    margin: 20px auto 0;
    padding: 22px;
    border: 1px solid #e0e4e9;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(22, 31, 45, .045);
}

/* Machine pages use the former Related Products position for partner-only accessories. */
.rds-compatible-accessories-section.rds-compatible-accessories-related-slot {
    margin-bottom: 12px;
    padding: 22px 0 4px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.rds-compatible-accessories-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
}

.rds-compatible-accessories-heading > div > span {
    color: #e66e0b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.rds-compatible-accessories-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 5px;
}

.rds-compatible-accessories-title-row h2 {
    margin: 0;
    color: #202735;
    font-size: 23px;
    line-height: 1.15;
}

.rds-compatible-accessories-title-row b {
    min-width: 27px;
    height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    color: #9b4a08;
    background: #fff0e3;
    font-size: 11px;
    font-weight: 900;
}

.rds-compatible-accessories-heading p {
    margin: 7px 0 0;
    color: #747d89;
    font-size: 12px;
    line-height: 1.5;
}

.rds-compatible-accessories-heading p strong {
    color: #4a5360;
}

.rds-compatible-accessories-order-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid #d6dbe1;
    border-radius: 8px;
    color: #4b5563;
    background: #f8fafc;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}

.rds-compatible-accessories-order-link:hover {
    color: #b65300;
    border-color: #eda469;
    background: #fff9f4;
}

.rds-compatible-accessory-groups {
    display: grid;
    gap: 22px;
}

.rds-compatible-accessory-group {
    display: grid;
    gap: 11px;
}

.rds-compatible-accessory-group > h3 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
    color: #394250;
    font-size: 14px;
    font-weight: 900;
}

.rds-compatible-accessory-group > h3::before {
    content: "";
    width: 4px;
    height: 18px;
    border-radius: 999px;
    background: #e66e0b;
}

.rds-compatible-accessory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.rds-compatible-accessory-card {
    min-width: 0;
    display: grid;
    grid-template-rows: 150px minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid #e1e5ea;
    border-radius: 13px;
    background: #fff;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.rds-compatible-accessory-card:hover {
    transform: translateY(-2px);
    border-color: #d0d6dd;
    box-shadow: 0 9px 22px rgba(23, 32, 51, .07);
}

.rds-compatible-accessory-image {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 15px;
    border-bottom: 1px solid #edf0f3;
    background: linear-gradient(155deg, #fff, #f7f9fb);
}

.rds-compatible-accessory-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rds-compatible-accessory-placeholder {
    width: 74px;
    height: 74px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px dashed #cbd2da;
    border-radius: 18px;
    color: #9aa3af;
    background: #fff;
}

.rds-compatible-accessory-placeholder svg {
    width: 39px;
    height: 39px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rds-compatible-accessory-body {
    min-width: 0;
    padding: 14px 15px 12px;
}

.rds-compatible-accessory-badges {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.rds-compatible-accessory-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 4px 8px;
    border-radius: 999px;
    color: #68717e;
    background: #f0f3f6;
    font-size: 9px;
    font-weight: 850;
    line-height: 1.2;
}

.rds-compatible-accessory-badges .rds-compatible-accessory-code {
    color: #9b4a08;
    background: #fff0e3;
}

.rds-compatible-accessory-badges .rds-compatible-accessory-optional-badge {
    color: #2f6475;
    background: #eaf5f8;
}

.rds-compatible-accessory-body h4 {
    margin: 10px 0 0;
    color: #252d39;
    font-size: 16px;
    line-height: 1.3;
}

.rds-compatible-accessory-description {
    margin: 7px 0 0;
    color: #727b87;
    font-size: 11px;
    line-height: 1.5;
}

.rds-compatible-accessory-specifications {
    margin-top: 10px;
    padding-top: 10px;
    border-top: 1px solid #edf0f3;
    color: #596371;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.55;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.rds-compatible-accessory-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 15px 14px;
    border-top: 1px solid #edf0f3;
    background: #fbfcfd;
}

.rds-compatible-accessory-public-footer {
    align-items: center;
    justify-content: flex-start;
    background: #fbfcfd;
}

.rds-compatible-accessory-public-note {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    color: #687381;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.45;
}

.rds-compatible-accessory-public-note svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    color: #df6c13;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rds-compatible-accessory-price {
    min-width: 0;
    display: grid;
    gap: 3px;
}

.rds-compatible-accessory-price span {
    color: #8a929e;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.rds-compatible-accessory-price strong {
    color: #202735;
    font-size: 15px;
    line-height: 1.25;
}

.rds-compatible-accessory-price strong.price-on-request {
    color: #6d7580;
    font-size: 12px;
}

.rds-compatible-accessory-add {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 12px;
    border: 1px solid #e66e0b;
    border-radius: 8px;
    color: #fff;
    background: #e66e0b;
    font: inherit;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.15;
    cursor: pointer;
    transition: transform .15s ease, background-color .15s ease, border-color .15s ease;
}

.rds-compatible-accessory-add:hover {
    transform: translateY(-1px);
    border-color: #cc5c03;
    background: #cc5c03;
}

.rds-compatible-accessory-add:disabled {
    cursor: default;
}

.rds-compatible-accessory-add.is-added {
    border-color: #238452;
    background: #238452;
}

.rds-compatible-accessory-add svg {
    width: 17px;
    height: 17px;
    flex: 0 0 auto;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rds-compatible-accessory-toast {
    position: fixed;
    z-index: 1200;
    right: 22px;
    bottom: 22px;
    max-width: min(420px, calc(100vw - 32px));
    padding: 12px 15px;
    border: 1px solid #b9ddc9;
    border-radius: 10px;
    color: #155c38;
    background: #ecf8f1;
    box-shadow: 0 14px 34px rgba(20, 38, 29, .15);
    font-size: 12px;
    font-weight: 800;
    opacity: 0;
    pointer-events: none;
    transform: translateY(12px);
    transition: opacity .18s ease, transform .18s ease;
}

.rds-compatible-accessory-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1050px) {
    .rds-product-hero-card {
        grid-template-columns: minmax(310px, 43%) minmax(0, 1fr);
        gap: 26px;
        padding: 22px;
    }

    .rds-product-main-image-frame {
        height: 330px;
    }

    .rds-product-highlight-grid,
    .rds-product-specification-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .rds-related-products-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 780px) {
    .rds-product-hero-card {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .rds-product-main-image-frame {
        height: 320px;
    }

    .rds-product-summary h1 {
        font-size: 38px;
    }

    .rds-product-overview-section {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .rds-product-highlight-grid,
    .rds-product-specification-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rds-product-specification-grid > div.wide {
        grid-column: span 2;
    }
}

@media (max-width: 520px) {
    .rds-product-hero-card {
        padding: 16px;
        border-radius: 14px;
    }

    .rds-product-main-image-frame {
        height: 270px;
        padding: 12px;
    }

    .rds-product-summary h1 {
        font-size: 33px;
    }

    .rds-product-summary h1.rds-product-utax-title {
        gap: 8px;
    }

    .rds-product-utax-logo {
        width: auto;
        height: 34px;
    }

    .rds-product-highlight-grid,
    .rds-product-specification-grid,
    .rds-related-products-grid {
        grid-template-columns: 1fr;
    }

    .rds-product-specification-grid > div.wide {
        grid-column: auto;
    }

    .rds-product-actions {
        flex-direction: column;
    }

    .rds-product-button {
        width: 100%;
    }

    .rds-product-summary-footer,
    .rds-machine-order-panel {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .rds-machine-order-panel {
        gap: 8px;
    }

    .rds-machine-order-price {
        min-width: 0;
        text-align: left;
    }

    .rds-machine-order-add {
        width: 100%;
    }

    .rds-product-overview-section,
    .rds-product-specification-section {
        padding: 18px;
    }

    .rds-product-specification-heading,
    .rds-related-products-heading {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* ========================================================================== 
   RDS product gallery – simple whole-image hover enlargement
   ========================================================================== */
.rds-product-gallery {
    position: relative;
    z-index: 2;
}

.rds-product-summary {
    position: relative;
    z-index: 1;
}

.rds-product-main-image-frame {
    position: relative;
    height: 330px;
}

.rds-product-hover-enlarge {
    overflow: visible;
    isolation: isolate;
}

.rds-product-hover-enlarge .rds-product-main-image {
    position: relative;
    z-index: 1;
    transform: scale(1);
    transform-origin: center center;
    transition: transform .24s ease, filter .24s ease;
    user-select: none;
    pointer-events: none;
    will-change: transform;
}

@media (hover: hover) and (pointer: fine) {
    .rds-product-hover-enlarge:hover {
        z-index: 12;
    }

    .rds-product-hover-enlarge:hover .rds-product-main-image {
        z-index: 20;
        transform: scale(1.18);
        filter: drop-shadow(0 18px 22px rgba(24, 31, 42, .18));
    }
}

@media (max-width: 780px) {
    .rds-product-main-image-frame {
        height: 300px;
    }
}

@media (max-width: 520px) {
    .rds-product-main-image-frame {
        height: 260px;
    }
}

/* ========================================================================== 
   Product form – multi-image selection before first save
   ========================================================================== */
.product-picture-selection-section {
    overflow: visible;
}

.multi-picture-upload-box {
    display: grid;
    gap: 8px;
    padding: 16px;
    border: 1px dashed #cbd2da;
    border-radius: 12px;
    background: #f8fafc;
}

.multi-picture-upload-box input[type="file"] {
    width: 100%;
}

.selected-product-picture-preview {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.selected-product-picture-preview:empty {
    display: none;
}

.selected-upload-picture {
    position: relative;
    display: grid;
    grid-template-rows: 118px auto;
    min-width: 0;
    padding: 7px;
    overflow: hidden;
    border: 1px solid #dce2e8;
    border-radius: 11px;
    color: #2c3441;
    background: #fff;
    cursor: pointer;
    text-align: left;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.selected-upload-picture:hover {
    border-color: #e97818;
    transform: translateY(-1px);
}

.selected-upload-picture.is-main {
    border-color: #e97818;
    box-shadow: 0 0 0 2px rgba(233, 120, 24, .14);
}

.selected-upload-picture img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 7px;
    background: linear-gradient(155deg, #fff, #f2f5f8);
}

.selected-upload-picture-name {
    overflow: hidden;
    padding: 7px 2px 1px;
    font-size: 10px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.selected-upload-picture-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    display: none;
    padding: 4px 7px;
    border-radius: 999px;
    color: #fff;
    background: #e66e0b;
    box-shadow: 0 4px 10px rgba(0, 0, 0, .13);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.selected-upload-picture.is-main .selected-upload-picture-badge {
    display: inline-flex;
}

.existing-picture-summary {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 9px;
    margin-top: 14px;
}

.existing-picture-summary .picture-tile {
    margin: 0;
}

@media (max-width: 1050px) {
    .selected-product-picture-preview {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .existing-picture-summary {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .selected-product-picture-preview,
    .existing-picture-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

/* Dedicated homepage hero upload */
body.rds-modern-minimal-home .mm-hero-product.mm-hero-uploaded-image {
    inset: 0;
    width: 100%;
    height: 100%;
    border-radius: 0;
    overflow: hidden;
}

body.rds-modern-minimal-home .mm-hero-product.mm-hero-uploaded-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    filter: none;
}

.homepage-hero-upload-block {
    display: grid;
    gap: 12px;
}

.homepage-hero-current {
    display: grid;
    grid-template-columns: minmax(180px, 300px) 1fr;
    gap: 16px;
    align-items: center;
    padding: 12px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #f8fafc;
}

.homepage-hero-current img {
    width: 100%;
    height: 150px;
    object-fit: cover;
    border-radius: 8px;
    background: #fff;
}

.homepage-hero-current > div {
    display: grid;
    gap: 8px;
    align-content: center;
}

.homepage-hero-current a {
    color: #d9650b;
    font-size: 12px;
    font-weight: 800;
}

.homepage-remove-hero {
    display: flex !important;
    align-items: center;
    gap: 8px;
}

@media (max-width: 760px) {
    .homepage-hero-current {
        grid-template-columns: 1fr;
    }
}

/* Order review, status and email actions */
.alert.warning {
    background: #fff7ed;
    color: #9a3412;
    border-color: #fed7aa;
}

.order-status {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 10px;
    border-radius: 999px;
    border: 1px solid #d1d5db;
    background: #f3f4f6;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .02em;
}

.order-status.pending {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #9a3412;
}

.order-status.accepted {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.order-status.deleted {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.order-row-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.order-row-actions form {
    margin: 0;
}

.button.success-button,
.success-button {
    border-color: #16803a;
    background: #16803a;
    color: #fff;
}

.button.success-button:hover,
.success-button:hover {
    border-color: #126b31;
    background: #126b31;
    color: #fff;
}

.button.danger-button,
.danger-button {
    border-color: #b42318;
    background: #b42318;
    color: #fff;
}

.button.danger-button:hover,
.danger-button:hover {
    border-color: #912018;
    background: #912018;
    color: #fff;
}

.danger-tag {
    border-color: #fecaca !important;
    background: #fef2f2 !important;
    color: #991b1b !important;
}

.order-title-line {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.order-title-line h1 {
    margin: 0;
}

.order-management-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 18px;
    padding: 18px 20px;
    border-left: 4px solid #e97818;
}

.order-management-card h2 {
    margin: 5px 0;
    font-size: 20px;
}

.order-management-card p {
    margin: 0;
}

.order-management-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.order-management-actions form {
    margin: 0;
}

.order-status-note {
    display: grid;
    gap: 5px;
    margin: 0 0 18px;
    padding: 14px 16px;
    border-radius: 10px;
    border: 1px solid #d1d5db;
    line-height: 1.45;
}

.order-status-note.accepted-note {
    border-color: #bbf7d0;
    background: #f0fdf4;
    color: #166534;
}

.order-status-note.deleted-note {
    border-color: #fecaca;
    background: #fef2f2;
    color: #991b1b;
}

.order-action-dialog {
    width: min(560px, calc(100vw - 28px));
    padding: 0;
    border: 0;
    border-radius: 14px;
    box-shadow: 0 24px 70px rgba(17,24,39,.32);
}

.order-action-dialog::backdrop {
    background: rgba(17,24,39,.58);
    backdrop-filter: blur(2px);
}

.order-action-dialog form {
    display: grid;
    gap: 16px;
    padding: 22px;
}

.order-action-dialog label {
    display: grid;
    gap: 7px;
    color: #374151;
    font-size: 12px;
    font-weight: 800;
}

.order-action-dialog textarea {
    width: 100%;
    min-height: 120px;
    resize: vertical;
}

.order-dialog-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.order-dialog-head h2 {
    margin: 6px 0 0;
}

.dialog-close {
    display: inline-grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid #d1d5db;
    border-radius: 999px;
    background: #fff;
    color: #111827;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
}

@media (max-width: 860px) {
    .order-management-card {
        align-items: stretch;
        flex-direction: column;
    }

    .order-management-actions {
        justify-content: flex-start;
    }
}

/* Software product fields: multi-select platforms and PDF documents */
.software-field-grid .software-multiselect {
    position: relative;
    width: 100%;
}

.software-field-grid .software-multiselect > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: #111827;
    cursor: pointer;
    list-style: none;
    font-weight: 700;
}

.software-field-grid .software-multiselect > summary::-webkit-details-marker {
    display: none;
}

.software-field-grid .software-multiselect[open] > summary {
    border-color: var(--orange);
    box-shadow: 0 0 0 3px rgba(234, 98, 23, .12);
}

.software-multiselect-menu {
    position: absolute;
    z-index: 120;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    display: grid;
    gap: 2px;
    padding: 8px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(17, 24, 39, .18);
}

.software-platform-option {
    display: flex;
    align-items: center;
    gap: 9px;
    padding: 9px 10px;
    border-radius: 7px;
    color: #1f2937;
    font-weight: 700;
    cursor: pointer;
}

.software-platform-option:hover {
    background: #f6f7f9;
}

.software-platform-option input {
    width: 17px;
    height: 17px;
    accent-color: var(--orange);
}

.software-document-field {
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #fbfbfc;
}

.current-document-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 9px;
    padding: 9px 10px;
    border: 1px solid #dbe1e8;
    border-radius: 8px;
    background: #fff;
}

.current-document-row a {
    min-width: 0;
    overflow: hidden;
    color: #b94b0c;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rds-product-document-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px 14px;
}

/* User management search, table and popup editor */
.user-page-heading {
    align-items: center;
}

.user-search-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    padding: 14px;
}

.user-search-form {
    display: flex;
    align-items: center;
    gap: 8px;
    width: min(720px, 100%);
}

.user-search-input-wrap {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 220px;
    padding: 0 11px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fff;
}

.user-search-input-wrap:focus-within {
    border-color: var(--orange);
    box-shadow: 0 0 0 3px rgba(234, 98, 23, .12);
}

.user-search-input-wrap input {
    min-height: 42px;
    padding: 8px 0;
    border: 0;
    outline: 0;
    box-shadow: none;
}

.user-list-panel {
    padding: 0;
    overflow: hidden;
}

.user-data-table {
    margin: 0;
}

.user-data-table td,
.user-data-table th {
    vertical-align: middle;
}

.user-role-badge,
.user-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
}

.user-role-badge {
    background: #eef2f7;
    color: #374151;
}

.user-status-badge.active {
    background: #dcfce7;
    color: #166534;
}

.user-status-badge.inactive {
    background: #f3f4f6;
    color: #6b7280;
}

.user-row-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 7px;
    white-space: nowrap;
}

.user-management-dialog {
    width: min(720px, calc(100vw - 28px));
    max-height: calc(100vh - 36px);
    padding: 0;
    overflow: auto;
    border: 0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(17, 24, 39, .34);
}

.user-management-dialog::backdrop {
    background: rgba(17, 24, 39, .58);
    backdrop-filter: blur(2px);
}

.user-management-dialog > form {
    display: grid;
    gap: 18px;
    padding: 22px;
}

.user-dialog-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.user-dialog-head h2 {
    margin: 4px 0 0;
}

.dialog-eyebrow {
    color: var(--orange);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.danger-text {
    color: #b42318;
}

.user-dialog-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.user-dialog-grid .wide {
    grid-column: 1 / -1;
}

.user-active-check {
    grid-column: 1 / -1;
    width: fit-content;
    padding: 9px 12px;
    border: 1px solid var(--line);
    border-radius: 9px;
    background: #fafafa;
}

.user-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    padding-top: 4px;
    border-top: 1px solid #eef0f3;
}

.user-delete-dialog {
    width: min(560px, calc(100vw - 28px));
}

.user-delete-warning {
    margin: 0;
    padding: 14px;
    border: 1px solid #fecaca;
    border-radius: 10px;
    background: #fff7f7;
    color: #7f1d1d;
    line-height: 1.55;
}

.compact-empty-state {
    padding: 38px 20px;
}

@media (max-width: 760px) {
    .user-page-heading,
    .user-search-panel,
    .user-search-form {
        align-items: stretch;
        flex-direction: column;
    }

    .user-search-input-wrap {
        min-width: 0;
    }

    .user-dialog-grid {
        grid-template-columns: 1fr;
    }

    .user-dialog-grid .wide,
    .user-active-check {
        grid-column: auto;
    }

    .current-document-row {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Orders: active/history, search, delivery workflow, printing */
.order-list-heading {
    margin-bottom: 14px;
}

.orders-toolbar {
    display: grid;
    gap: 14px;
    margin-bottom: 16px;
    padding: 14px;
}

.order-view-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e5e7eb;
}

.order-view-tab {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 8px 14px;
    border: 1px solid #d8dde5;
    border-radius: 8px;
    background: #fff;
    color: #3f4753;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.order-view-tab:hover {
    border-color: #e97818;
    color: #b84e00;
}

.order-view-tab.active {
    border-color: #e97818;
    background: #fff4e9;
    color: #a84200;
    box-shadow: inset 0 -2px 0 #e97818;
}

.order-search-form,
.list-search-form {
    display: flex;
    align-items: center;
    gap: 9px;
}

.list-search-panel {
    margin-bottom: 16px;
    padding: 13px 14px;
}

.list-search-input-wrap {
    position: relative;
    display: flex;
    flex: 1 1 420px;
    min-width: 250px;
}

.list-search-input-wrap > span {
    position: absolute;
    z-index: 1;
    left: 13px;
    top: 50%;
    color: #7a8492;
    font-size: 18px;
    transform: translateY(-50%);
    pointer-events: none;
}

.list-search-input-wrap input {
    width: 100%;
    min-height: 42px;
    padding-left: 40px;
    border-radius: 8px;
}

.list-result-count {
    margin-left: auto;
    white-space: nowrap;
}

.table-card-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px 12px;
    border-bottom: 1px solid #e8ebef;
}

.table-card-title-row h2,
.table-card-title-row p {
    margin: 0;
}

.table-card-title-row h2 {
    font-size: 18px;
}

.table-card-title-row p {
    margin-top: 3px;
}

.table-empty-message {
    padding: 28px 16px !important;
    text-align: center;
}

.order-status.completed {
    border-color: #bae6fd;
    background: #f0f9ff;
    color: #075985;
}

.button.complete-button,
.complete-button {
    border-color: #0f6f8f;
    background: #0f6f8f;
    color: #fff;
}

.button.complete-button:hover,
.complete-button:hover {
    border-color: #0b5a74;
    background: #0b5a74;
    color: #fff;
}

.order-status-note.completed-note {
    border-color: #bae6fd;
    background: #f0f9ff;
    color: #075985;
}

.order-heading-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.print-order-button::before {
    content: "🖨";
    margin-right: 7px;
}

.order-customer-print-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(200px, .6fr);
    gap: 12px;
    margin-bottom: 12px;
}

.order-customer-card {
    display: grid;
    align-content: center;
    gap: 4px;
    min-height: 92px;
}

.order-customer-card strong {
    font-size: 16px;
}

.order-info-label {
    color: #7a8492;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.print-only {
    display: none;
}

/* Compact My Account summary with focused edit dialogs */
.my-account-page {
    max-width: 1040px;
}

.account-summary-card {
    display: grid;
    grid-template-columns: minmax(240px, .8fr) minmax(360px, 1.25fr) auto;
    align-items: center;
    gap: 24px;
    padding: 22px;
    border: 1px solid #dfe4ea;
    border-radius: 16px;
    background:
        linear-gradient(120deg, rgba(233,120,24,.09), transparent 35%),
        #fff;
    box-shadow: 0 12px 28px rgba(17,24,39,.06);
}

.account-summary-main {
    display: flex;
    align-items: center;
    gap: 16px;
    min-width: 0;
}

.account-avatar {
    display: grid;
    place-items: center;
    flex: 0 0 62px;
    width: 62px;
    height: 62px;
    border-radius: 18px;
    background: #141923;
    color: #fff;
    font-size: 24px;
    font-weight: 900;
    box-shadow: inset 0 -4px 0 #e97818;
}

.account-summary-identity {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.account-summary-identity h2 {
    margin: 0;
    overflow-wrap: anywhere;
    font-size: 22px;
}

.account-eyebrow {
    color: #d9650b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.account-role-pill {
    width: fit-content;
    padding: 3px 9px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 10px;
    font-weight: 900;
}

.account-contact-summary {
    display: grid;
    grid-template-columns: minmax(190px, 1.4fr) repeat(2, minmax(120px, .8fr));
    gap: 10px;
}

.account-summary-field {
    display: grid;
    align-content: center;
    gap: 5px;
    min-width: 0;
    min-height: 64px;
    padding: 11px 12px;
    border: 1px solid #e4e8ed;
    border-radius: 10px;
    background: #f8f9fb;
}

.account-summary-field span,
.account-dialog-readonly span {
    color: #7a8492;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.account-summary-field strong {
    overflow-wrap: anywhere;
    font-size: 12px;
}

.account-summary-actions {
    display: grid;
    gap: 9px;
    min-width: 170px;
}

.account-summary-actions .button {
    width: 100%;
    white-space: nowrap;
}

.account-security-note {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 14px;
    padding: 13px 15px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #f8fafc;
    color: #667080;
}

.account-security-note > div:last-child {
    display: grid;
    gap: 2px;
}

.account-security-note strong {
    color: #303846;
    font-size: 12px;
}

.account-security-note span {
    font-size: 11px;
}

.account-security-icon {
    display: grid;
    place-items: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #eaf8ee;
    color: #16803a;
    font-weight: 900;
}

.account-edit-dialog {
    width: min(620px, calc(100vw - 28px));
    max-height: calc(100vh - 32px);
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(17,24,39,.34);
}

.account-edit-dialog::backdrop {
    background: rgba(17,24,39,.62);
    backdrop-filter: blur(3px);
}

.account-edit-dialog form {
    display: grid;
    gap: 18px;
    max-height: calc(100vh - 32px);
    padding: 22px;
    overflow-y: auto;
}

.account-dialog-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #edf0f3;
}

.account-dialog-head h2,
.account-dialog-head p {
    margin: 0;
}

.account-dialog-head h2 {
    margin-top: 5px;
    font-size: 22px;
}

.account-dialog-head p {
    margin-top: 5px;
    color: #707987;
    font-size: 12px;
    line-height: 1.5;
}

.account-section-number {
    color: #e97818;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
}

.account-dialog-alert {
    margin: 0;
}

.account-dialog-readonly {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.account-dialog-readonly > div {
    display: grid;
    gap: 4px;
    padding: 11px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 9px;
    background: #f7f8fa;
}

.account-dialog-readonly strong {
    font-size: 13px;
}

.account-dialog-fields,
.account-dialog-fields label {
    display: grid;
    gap: 7px;
}

.account-dialog-fields label {
    color: #303846;
    font-size: 12px;
    font-weight: 800;
}

.account-dialog-fields label > small {
    color: #7a8492;
    font-size: 10px;
    font-weight: 500;
}

.account-password-dialog {
    width: min(540px, calc(100vw - 28px));
}

.account-password-help {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 12px;
    border: 1px solid #e5e7eb;
    border-radius: 9px;
    background: #fafafa;
    color: #667080;
    font-size: 11px;
}

.account-password-help a {
    color: #c45100;
    font-weight: 900;
}

.account-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding-top: 2px;
}

@media (max-width: 1000px) {
    .account-summary-card {
        grid-template-columns: 1fr;
    }

    .account-summary-actions {
        display: flex;
        min-width: 0;
    }

    .account-summary-actions .button {
        width: auto;
    }
}

@media (max-width: 760px) {
    .order-search-form,
    .list-search-form,
    .order-details-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .list-search-input-wrap {
        min-width: 0;
    }

    .list-result-count {
        margin-left: 0;
        width: fit-content;
    }

    .order-heading-actions {
        justify-content: stretch;
    }

    .order-heading-actions > * {
        flex: 1 1 auto;
        text-align: center;
    }

    .account-summary-card {
        gap: 18px;
        padding: 18px;
    }

    .account-contact-summary {
        grid-template-columns: 1fr;
    }

    .account-summary-actions,
    .account-dialog-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .account-summary-actions .button,
    .account-dialog-actions .button {
        width: 100%;
    }

    .account-security-note,
    .account-password-help {
        align-items: flex-start;
    }

    .account-password-help {
        flex-direction: column;
    }

    .account-edit-dialog,
    .account-password-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        border-radius: 14px;
    }

    .account-edit-dialog form {
        max-height: calc(100dvh - 16px);
        padding: 18px;
    }

    .account-dialog-readonly,
    .account-dialog-fields .two-col {
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        size: A4 portrait;
        margin: 12mm;
    }

    html,
    body {
        width: 100%;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        color: #000 !important;
        font-size: 10pt;
    }

    .topbar,
    .portal-nav,
    .professional-footer,
    .no-print,
    dialog {
        display: none !important;
    }

    .page-shell,
    .portal-layout,
    .portal-content,
    .order-details-page,
    .order-lines-summary {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .print-only {
        display: flex !important;
    }

    .order-print-header {
        align-items: center;
        gap: 12px;
        padding-bottom: 8mm;
        border-bottom: 2px solid #111827;
    }

    .order-print-header img {
        width: 42mm;
        max-height: 16mm;
        object-fit: contain;
    }

    .order-print-header > div {
        display: grid;
        gap: 2px;
    }

    .order-print-header strong {
        font-size: 14pt;
    }

    .order-print-header span {
        font-size: 8pt;
        color: #555;
    }

    .order-print-title {
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        margin: 7mm 0 5mm;
    }

    .order-print-title > div {
        display: grid;
        gap: 2px;
    }

    .order-print-title span,
    .order-info-label {
        font-size: 7.5pt !important;
        color: #666 !important;
        font-weight: 700;
        text-transform: uppercase;
    }

    .order-print-title h1 {
        margin: 0;
        font-size: 20pt;
    }

    .order-customer-print-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 3mm !important;
        margin-bottom: 4mm !important;
    }

    .order-totals-grid {
        display: grid !important;
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
        gap: 3mm !important;
        max-width: none !important;
        margin: 3mm 0 4mm !important;
    }

    .card-lite,
    .table-card,
    .order-status-note {
        break-inside: avoid;
        border: 1px solid #b7bdc7 !important;
        border-radius: 0 !important;
        background: #fff !important;
        box-shadow: none !important;
    }

    .card-lite {
        min-height: 0 !important;
        padding: 3.5mm !important;
    }

    .order-totals-grid .card-lite strong {
        font-size: 11pt;
    }

    .order-totals-grid .grand-total {
        background: #fff8f1 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .table-card-title-row {
        padding: 3mm 0 !important;
        border: 0 !important;
    }

    .table-card-title-row p {
        display: none;
    }

    .responsive-table {
        overflow: visible !important;
    }

    .order-print-table {
        width: 100% !important;
        border-collapse: collapse !important;
        font-size: 8.5pt;
    }

    .order-print-table th,
    .order-print-table td {
        padding: 2.4mm !important;
        border: 1px solid #aeb4bd !important;
        color: #000 !important;
    }

    .order-print-table th {
        background: #eef0f3 !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    .order-notes {
        margin-top: 4mm;
    }

    .order-print-footer {
        justify-content: space-between;
        margin-top: 8mm;
        padding-top: 3mm;
        border-top: 1px solid #b7bdc7;
        color: #666;
        font-size: 7.5pt;
    }
}

/* RDS software public page: clear download action and readable system-requirements modal. */
.rds-product-button-as-control {
    appearance: none;
    font-family: inherit;
    cursor: pointer;
}

body.rds-modal-open {
    overflow: hidden;
}

.rds-software-requirements-modal[hidden] {
    display: none !important;
}

.rds-software-requirements-modal {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: grid;
    place-items: center;
    padding: 24px;
    opacity: 0;
    transition: opacity .16s ease;
}

.rds-software-requirements-modal.is-open {
    opacity: 1;
}

.rds-software-requirements-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    border: 0;
    background: rgba(17, 24, 39, .72);
    backdrop-filter: blur(3px);
    cursor: pointer;
}

.rds-software-requirements-dialog {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    width: min(920px, 100%);
    max-height: min(88vh, 860px);
    overflow: hidden;
    border: 1px solid #dce1e7;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(17, 24, 39, .32);
    transform: translateY(10px) scale(.985);
    transition: transform .16s ease;
}

.rds-software-requirements-modal.is-open .rds-software-requirements-dialog {
    transform: translateY(0) scale(1);
}

.rds-software-requirements-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 26px 20px;
    border-bottom: 1px solid #e5e8ec;
    background: linear-gradient(180deg, #fff 0%, #fbfcfd 100%);
}

.rds-software-requirements-dialog-header > div {
    min-width: 0;
}

.rds-software-requirements-dialog-header span {
    color: #e66e0b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.rds-software-requirements-dialog-header h2 {
    margin: 5px 0 7px;
    color: #1f2734;
    font-size: clamp(25px, 3vw, 34px);
    line-height: 1.1;
}

.rds-software-requirements-dialog-header p {
    margin: 0;
    color: #67717e;
    font-size: 15px;
    line-height: 1.55;
}

.rds-software-requirements-close {
    flex: 0 0 auto;
    display: inline-grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 1px solid #d6dce3;
    border-radius: 50%;
    color: #303846;
    background: #fff;
    font-family: inherit;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: border-color .15s ease, background-color .15s ease, transform .15s ease;
}

.rds-software-requirements-close:hover {
    border-color: #b9c1ca;
    background: #f5f7f9;
    transform: rotate(2deg);
}

.rds-software-requirements-dialog-body {
    min-height: 0;
    overflow-y: auto;
    padding: 24px 26px 28px;
    background: #f5f7fa;
}

.rds-software-requirements-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.rds-software-requirement-card {
    min-width: 0;
    padding: 20px 21px;
    border: 1px solid #dde3e9;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(32, 39, 53, .045);
}

.rds-software-requirement-card:only-child {
    grid-column: 1 / -1;
}

.rds-software-requirement-card h3 {
    margin: 0 0 10px;
    color: #263040;
    font-size: 17px;
    font-weight: 850;
    line-height: 1.3;
}

.rds-software-requirement-card p {
    margin: 0;
    color: #4f5a68;
    font-size: 16px;
    line-height: 1.78;
    white-space: pre-line;
    overflow-wrap: anywhere;
}

.rds-software-requirement-card.important {
    grid-column: 1 / -1;
    border-color: #efc29d;
    background: #fff8f1;
}

.rds-software-requirement-card.important h3 {
    color: #b95005;
}

.rds-software-requirements-dialog-footer {
    display: flex;
    justify-content: flex-end;
    padding: 16px 26px;
    border-top: 1px solid #e5e8ec;
    background: #fff;
}

.rds-software-requirements-dialog-footer .rds-product-button {
    min-width: 110px;
    cursor: pointer;
    font-family: inherit;
}

@media (max-width: 760px) {
    .rds-software-requirements-modal {
        padding: 0;
    }

    .rds-software-requirements-dialog {
        width: 100%;
        height: 100%;
        max-height: none;
        border: 0;
        border-radius: 0;
    }

    .rds-software-requirements-dialog-header {
        padding: 20px 18px 17px;
    }

    .rds-software-requirements-dialog-header h2 {
        font-size: 26px;
    }

    .rds-software-requirements-dialog-header p {
        font-size: 14px;
    }

    .rds-software-requirements-dialog-body {
        padding: 18px;
    }

    .rds-software-requirements-grid {
        grid-template-columns: 1fr;
    }

    .rds-software-requirement-card,
    .rds-software-requirement-card.important,
    .rds-software-requirement-card:only-child {
        grid-column: auto;
    }

    .rds-software-requirement-card p {
        font-size: 15px;
        line-height: 1.72;
    }

    .rds-software-requirements-dialog-footer {
        padding: 14px 18px;
    }
}

/* =========================================================
   Public Products catalogue readability + controls refresh
   Keeps the public catalogue controls clear and professional.
   ========================================================= */
body.rds-public-catalogue-page .public-products-heading {
    align-items: center;
    gap: 36px;
}

body.rds-public-catalogue-page .public-products-heading > div {
    min-width: 0;
}


body.rds-public-catalogue-page .catalogue-quote-button {
    min-width: 214px;
    min-height: 48px;
    flex: 0 0 auto;
    gap: 10px;
    padding: 0 10px 0 16px;
    border-color: #171c24;
    border-radius: 10px;
    color: #fff;
    background: #171c24;
    box-shadow: 0 9px 22px rgba(17, 24, 39, .14);
    font-size: 13px;
    font-weight: 850;
    transition: transform .16s ease, border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

body.rds-public-catalogue-page .catalogue-quote-button > svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: #ff9a48;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.rds-public-catalogue-page .catalogue-quote-button b {
    width: 27px;
    height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-left: auto;
    border-radius: 8px;
    color: #fff;
    background: rgba(255, 255, 255, .1);
    font-size: 15px;
    line-height: 1;
}

body.rds-public-catalogue-page .catalogue-quote-button:hover {
    border-color: #e97818;
    background: #e97818;
    box-shadow: 0 11px 24px rgba(233, 120, 24, .22);
    transform: translateY(-1px);
}

body.rds-public-catalogue-page .catalogue-quote-button:hover > svg {
    stroke: #fff;
}

body.rds-public-catalogue-page .public-catalogue-tools {
    margin: 18px 0 22px;
    padding: 14px;
    border-color: #dce2e8;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 9px 24px rgba(17, 24, 39, .055);
}

body.rds-public-catalogue-page .public-search-form {
    gap: 10px;
    margin-bottom: 12px;
}

body.rds-public-catalogue-page .public-search-box input {
    min-height: 50px;
    padding-left: 47px;
    border-color: #d7dde4;
    border-radius: 10px;
    color: #1f2937;
    background: #f8fafc;
    font-size: 14px;
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease;
}

body.rds-public-catalogue-page .public-search-box input::placeholder {
    color: #7b8491;
    opacity: 1;
}

body.rds-public-catalogue-page .public-search-box input:hover {
    border-color: #bec6cf;
    background: #fff;
}

body.rds-public-catalogue-page .public-search-box input:focus {
    border-color: #e97818;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(233, 120, 24, .12);
}

body.rds-public-catalogue-page .public-search-box > svg {
    left: 16px;
    width: 19px;
    height: 19px;
    stroke: #6f7885;
}

body.rds-public-catalogue-page .catalogue-search-button {
    min-width: 124px;
    min-height: 50px;
    gap: 8px;
    padding: 0 19px;
    border-radius: 10px;
    box-shadow: 0 7px 17px rgba(233, 120, 24, .18);
    font-size: 13px;
    font-weight: 850;
    transition: transform .16s ease, background .16s ease, box-shadow .16s ease;
}

body.rds-public-catalogue-page .catalogue-search-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

body.rds-public-catalogue-page .catalogue-search-button:hover {
    border-color: #cf6511;
    background: #cf6511;
    box-shadow: 0 9px 20px rgba(207, 101, 17, .21);
    transform: translateY(-1px);
}

body.rds-public-catalogue-page .showcase-category-tabs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 9px;
}

body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab {
    min-height: 52px;
    gap: 10px;
    padding: 7px 9px;
    border: 1px solid #e0e5ea;
    border-radius: 10px;
    color: #394250;
    background: #f7f9fb;
    box-shadow: none;
    font-size: 12px;
    font-weight: 800;
    transition: transform .15s ease, border-color .15s ease, color .15s ease, background .15s ease, box-shadow .15s ease;
}

body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab:hover {
    color: #9e4508;
    border-color: #efaa73;
    background: #fffaf6;
    box-shadow: 0 5px 13px rgba(17, 24, 39, .055);
    transform: translateY(-1px);
}

body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab.active {
    color: #fff;
    border-color: #171c24;
    background: #171c24;
    box-shadow: 0 7px 17px rgba(17, 24, 39, .15);
}

body.rds-public-catalogue-page .showcase-category-tabs .category-tab-label {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 9px;
    overflow: visible;
    color: inherit;
    white-space: nowrap;
}

body.rds-public-catalogue-page .showcase-category-tabs .category-tab-label > span:last-child {
    min-width: 0;
    overflow: hidden;
    color: inherit;
    text-overflow: ellipsis;
    white-space: nowrap;
}

body.rds-public-catalogue-page .showcase-category-tabs .category-tab-icon {
    width: 31px;
    height: 31px;
    flex: 0 0 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    border-radius: 8px;
    color: #596371;
    background: #e9edf1;
}

body.rds-public-catalogue-page .showcase-category-tabs .category-tab-icon svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab:hover .category-tab-icon {
    color: #cf650f;
    background: #ffead8;
}

body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab.active .category-tab-icon {
    color: #ff9a48;
    background: rgba(255, 255, 255, .1);
}

body.rds-public-catalogue-page .showcase-category-tabs .category-tab-count,
body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab.active .category-tab-count {
    min-width: 27px;
    padding: 4px 7px;
    border-radius: 999px;
    color: #505966;
    background: #e7ebef;
    font-size: 10px;
    font-weight: 900;
    line-height: 1.15;
    text-align: center;
}

body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab.active .category-tab-count {
    color: #fff;
    background: #e97818;
}

body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab:focus-visible,
body.rds-public-catalogue-page .catalogue-quote-button:focus-visible,
body.rds-public-catalogue-page .catalogue-search-button:focus-visible {
    outline: 3px solid rgba(233, 120, 24, .27);
    outline-offset: 2px;
}

body.rds-public-catalogue-page .catalogue-results-heading .button {
    border-color: #cfd5dc;
    border-radius: 9px;
    color: #303947;
    background: #fff;
}

body.rds-public-catalogue-page .catalogue-results-heading .button:hover {
    color: #a84b0a;
    border-color: #e97818;
    background: #fff8f1;
}

@media (max-width: 1120px) {
    body.rds-public-catalogue-page .public-products-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 18px;
    }

    body.rds-public-catalogue-page .catalogue-quote-button {
        min-width: 214px;
    }
}

@media (max-width: 820px) {
    body.rds-public-catalogue-page .showcase-category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {

    body.rds-public-catalogue-page .catalogue-quote-button {
        width: 100%;
    }

    body.rds-public-catalogue-page .public-search-form {
        grid-template-columns: 1fr;
    }

    body.rds-public-catalogue-page .catalogue-search-button {
        width: 100%;
    }

    body.rds-public-catalogue-page .showcase-category-tabs {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   RDS responsive mobile layout - July 2026
   Phone-only presentation rules. Business logic is unchanged.
   ========================================================= */
.mobile-nav-toggle,
.portal-mobile-toggle {
    display: none;
}

.mobile-header-actions {
    display: none;
}

.site-basket-trigger-header-mobile {
    display: none;
}

.mobile-nav-toggle {
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 5px;
    padding: 0;
    border: 1px solid currentColor;
    border-radius: 10px;
    color: inherit;
    background: transparent;
    cursor: pointer;
}

.mobile-nav-toggle > span {
    width: 20px;
    height: 2px;
    display: block;
    border-radius: 999px;
    background: currentColor;
    transition: transform .18s ease, opacity .18s ease;
}

.topbar.mobile-nav-open .mobile-nav-toggle > span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.topbar.mobile-nav-open .mobile-nav-toggle > span:nth-child(2) {
    opacity: 0;
}

.topbar.mobile-nav-open .mobile-nav-toggle > span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.portal-mobile-toggle {
    width: 100%;
    min-height: 46px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 11px;
    color: #fff;
    background: rgba(255,255,255,.06);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
}

.portal-mobile-toggle strong {
    color: #ffb06e;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .04em;
}

@media (max-width: 760px) {
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    html {
        scroll-padding-top: 74px;
    }

    body {
        min-width: 0;
        -webkit-text-size-adjust: 100%;
    }

    img,
    svg,
    video,
    canvas {
        max-width: 100%;
    }

    .page-shell {
        width: 100%;
        max-width: 100%;
        min-height: calc(100vh - 64px);
        padding: 14px 12px 28px;
    }

    .button,
    .rds-product-button {
        min-height: 44px;
    }

    input:not([type="checkbox"]):not([type="radio"]),
    select,
    textarea {
        max-width: 100%;
        font-size: 16px;
    }

    /* Compact phone header with a real expandable menu. */
    .topbar,
    .topbar-public.mm-public-header {
        min-height: 64px;
    }

    .topbar-inner,
    .topbar-public.mm-public-header .topbar-inner {
        min-height: 64px;
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) auto !important;
        align-items: center;
        gap: 10px;
        padding: 10px 12px;
    }

    .site-brand,
    .topbar-public.mm-public-header .site-brand {
        min-width: 0;
        max-width: 100%;
        grid-column: 1;
        grid-row: 1;
    }

    .site-brand-logo,
    .topbar-public.mm-public-header .site-brand-logo {
        width: 88px;
        height: 40px;
        padding: 4px 7px;
        border-radius: 9px;
    }

    .site-brand-text,
    .topbar-public.mm-public-header .site-brand-text {
        display: none !important;
    }

    .mobile-header-actions {
        display: inline-flex;
        grid-column: 2;
        grid-row: 1;
        align-items: center;
        justify-self: end;
        gap: 8px;
    }

    .mobile-header-actions .mobile-nav-toggle {
        display: inline-flex;
        grid-column: auto;
        grid-row: auto;
        justify-self: auto;
    }

    .site-basket-trigger-header-mobile {
        min-width: 44px;
        width: 44px;
        min-height: 44px;
        height: 44px;
        display: inline-flex;
        justify-content: center;
        gap: 0;
        padding: 0;
        border-color: #cfd5dc;
        background: #fff;
        box-shadow: none;
    }

    .site-basket-trigger-header-mobile svg {
        width: 19px;
        height: 19px;
    }

    .site-basket-trigger-header-mobile b {
        position: absolute;
        top: -5px;
        right: -5px;
        min-width: 20px;
        height: 20px;
        padding: 0 4px;
        font-size: 10px;
    }

    .topbar-public.mm-public-header .mobile-nav-toggle {
        color: #222b37;
        border-color: #cfd5dc;
        background: #fff;
    }

    .topbar-authenticated .mobile-nav-toggle {
        color: #fff;
        border-color: rgba(255,255,255,.24);
        background: rgba(255,255,255,.05);
    }

    .topbar .topbar-links,
    .topbar-public.mm-public-header .topbar-links {
        grid-column: 1 / -1;
        grid-row: 2;
        order: initial;
        width: 100%;
        max-height: none;
        margin: 0;
        padding: 8px 0 0;
        overflow: visible;
        border-top: 1px solid rgba(255,255,255,.1);
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 3px;
    }

    .topbar-public.mm-public-header .topbar-links {
        border-top-color: #e7ebef;
    }

    body.mobile-menu-ready .topbar:not(.mobile-nav-open) .topbar-links,
    body.mobile-menu-ready .topbar:not(.mobile-nav-open) .topbar-user,
    body.mobile-menu-ready .topbar:not(.mobile-nav-open) .topbar-login {
        display: none !important;
    }

    body.mobile-menu-ready .topbar.mobile-nav-open .topbar-links {
        display: flex !important;
    }

    .topbar .topbar-links a,
    .topbar-public.mm-public-header .topbar-links a {
        width: 100%;
        min-height: 44px;
        display: flex;
        align-items: center;
        padding: 10px 12px;
        border-radius: 9px;
        font-size: 14px;
    }

    .topbar-public.mm-public-header .topbar-links a.active::after {
        display: none;
    }

    .topbar-public.mm-public-header .topbar-links a.active {
        color: #b95306;
        background: #fff3e8;
    }

    .topbar-user,
    .topbar-login {
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
        margin: 0;
    }

    body.mobile-menu-ready .topbar.mobile-nav-open .topbar-user {
        display: flex !important;
    }

    body.mobile-menu-ready .topbar.mobile-nav-open .topbar-login {
        display: inline-flex !important;
    }

    .topbar-user {
        padding: 10px 0 0;
        border-top: 1px solid rgba(255,255,255,.1);
    }

    .topbar-user-details {
        max-width: none;
        flex: 1 1 auto;
    }

    .topbar-login,
    .topbar-public.mm-public-header .topbar-login {
        min-height: 44px;
        justify-content: center;
        padding: 10px 14px;
    }

    /* Portal navigation becomes a compact expandable phone menu. */
    .portal-layout {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .portal-nav {
        position: static;
        min-height: 0;
        margin: 0;
        padding: 10px;
        border-radius: 14px;
    }

    .portal-nav-head {
        display: none;
    }

    .portal-mobile-toggle {
        display: flex;
    }

    body.mobile-menu-ready .portal-nav:not(.portal-menu-open) .portal-nav-links,
    body.mobile-menu-ready .portal-nav:not(.portal-menu-open) .portal-nav-footer {
        display: none !important;
    }

    .portal-nav.portal-menu-open .portal-nav-links {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 4px;
        margin-top: 8px;
    }

    .portal-nav.portal-menu-open .portal-nav-footer {
        display: block !important;
        margin-top: 10px;
        padding-top: 10px;
    }

    .portal-group {
        grid-column: auto !important;
        padding: 13px 9px 5px;
    }

    .portal-nav a.portal-link {
        min-height: 44px;
    }

    /* Public homepage. */
    body.rds-modern-minimal-home .page-shell {
        padding: 0 12px 30px;
    }

    body.rds-modern-minimal-home .mm-hero,
    .mm-hero {
        min-height: 0;
        grid-template-columns: 1fr;
        grid-template-rows: auto 250px;
        overflow: hidden;
        border-radius: 0 0 16px 16px;
    }

    body.rds-modern-minimal-home .mm-hero-copy,
    .mm-hero-copy {
        padding: 32px 20px 24px;
    }

    .mm-eyebrow {
        margin-bottom: 12px;
        font-size: 10px;
    }

    .mm-hero-title {
        margin-bottom: 16px;
        font-size: clamp(38px, 12vw, 52px);
        line-height: 1;
        letter-spacing: -.045em;
    }

    .mm-hero-copy > p {
        margin-bottom: 22px;
        font-size: 15px;
        line-height: 1.55;
    }

    .mm-hero-actions,
    .mm-hero-actions .button {
        width: 100%;
    }

    .mm-hero-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
    }

    body.rds-modern-minimal-home .mm-hero-visual,
    .mm-hero-visual {
        min-height: 250px;
    }

    body.rds-modern-minimal-home .mm-office-backdrop {
        inset: 0;
    }

    body.rds-modern-minimal-home .mm-hero-product,
    .mm-hero-product {
        right: 4%;
        bottom: 2%;
        width: 92%;
        height: 98%;
    }

    .mm-trust-strip {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        border-radius: 0 0 14px 14px;
        overflow: hidden;
    }

    .mm-trust-strip article,
    .mm-trust-strip article:nth-child(2) {
        min-width: 0;
        min-height: 76px;
        justify-content: flex-start;
        gap: 10px;
        padding: 13px 12px;
        border-right: 1px solid #e8ebef;
        border-bottom: 1px solid #e8ebef;
    }

    .mm-trust-strip article:nth-child(2n) {
        border-right: 0;
    }

    .mm-trust-strip article:nth-last-child(-n + 2) {
        border-bottom: 0;
    }

    .mm-line-icon {
        width: 30px;
        height: 30px;
        flex: 0 0 30px;
    }

    .mm-trust-strip strong {
        font-size: 12px;
    }

    .mm-trust-strip article > div > span {
        font-size: 10px;
    }

    .mm-section {
        padding: 32px 0 2px;
    }

    .mm-section-heading {
        margin-bottom: 17px;
    }

    .mm-section-heading h2 {
        font-size: 27px;
    }

    .mm-category-grid,
    .mm-featured-grid,
    .mm-why-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .mm-category-card {
        min-height: 0;
        padding: 18px 17px 16px;
    }

    .mm-category-copy h3 {
        min-height: 0;
        font-size: 20px;
    }

    .mm-category-image {
        height: 165px;
        padding-top: 8px;
    }

    .mm-category-card > p {
        min-height: 0;
    }

    .mm-solutions-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .mm-solutions-grid article {
        min-height: 112px;
        display: grid;
        grid-template-columns: 1fr;
        justify-items: center;
        align-content: center;
        gap: 8px;
        padding: 14px 8px;
        text-align: center;
    }

    .mm-featured-card {
        display: grid;
        grid-template-columns: 118px minmax(0, 1fr);
    }

    .mm-featured-card .public-card-image-wrap {
        height: 126px;
        padding: 10px;
    }

    .mm-featured-copy {
        min-height: 126px;
        align-content: center;
        padding: 12px;
    }

    .mm-why-grid article,
    .mm-why-grid article:nth-child(2) {
        min-height: 0;
        padding: 18px;
        border-right: 0;
        border-bottom: 1px solid #e6e9ed;
    }

    .mm-why-grid article:last-child {
        border-bottom: 0;
    }

    .mm-expertise-cta {
        align-items: stretch;
        flex-direction: column;
        gap: 16px;
        margin: 30px 0 0;
        padding: 20px 18px;
    }

    .mm-expertise-cta .button {
        width: 100%;
    }

    .mm-footer-main {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 26px 18px;
        padding: 30px 18px 26px;
    }

    .mm-footer-brand {
        grid-column: 1 / -1;
    }

    .mm-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding: 16px 18px 20px;
    }

    .mm-footer-bottom nav {
        flex-wrap: wrap;
        gap: 8px 16px;
    }

    /* Public product catalogue. */
    body.rds-public-catalogue-page .page-shell {
        padding: 18px 12px 30px;
    }

    body.rds-public-catalogue-page .public-products-heading {
        align-items: stretch;
        gap: 16px;
    }

    body.rds-public-catalogue-page .public-products-heading h1 {
        font-size: 29px;
        line-height: 1.08;
    }

    body.rds-public-catalogue-page .public-products-heading p {
        font-size: 14px;
        line-height: 1.55;
    }

    body.rds-public-catalogue-page .catalogue-quote-button {
        width: 100%;
        min-width: 0;
    }

    body.rds-public-catalogue-page .public-catalogue-tools {
        margin: 14px 0 18px;
        padding: 10px;
        border-radius: 12px;
    }

    body.rds-public-catalogue-page .public-search-form {
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.rds-public-catalogue-page .catalogue-search-button {
        width: 100%;
    }

    body.rds-public-catalogue-page .showcase-category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px;
    }

    body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab {
        min-width: 0;
        min-height: 52px;
    }

    .catalogue-results-heading,
    .showcase-results-heading {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .catalogue-results-heading .button,
    .showcase-results-heading .button {
        width: 100%;
    }

    .catalogue-product-grid,
    .professional-product-grid,
    .showcase-product-grid {
        grid-template-columns: 1fr !important;
        gap: 14px;
    }

    .showcase-product-card .public-card-image-wrap,
    .public-product-card .public-card-image-wrap {
        height: 220px;
    }

    .showcase-catalogue-note {
        align-items: stretch;
        flex-direction: column;
        gap: 14px;
    }

    .showcase-catalogue-note .button {
        width: 100%;
    }

    /* Public product details and software requirements. */
    .rds-product-breadcrumb {
        margin-bottom: 10px;
        font-size: 12px;
    }

    .rds-product-hero-card {
        gap: 18px;
        padding: 14px;
        border-radius: 14px;
    }

    .rds-product-main-image-frame {
        height: 280px;
        padding: 12px;
    }

    .rds-product-summary h1 {
        font-size: 32px;
    }

    .rds-product-subtitle {
        font-size: 15px;
    }

    .rds-product-overview-section,
    .rds-product-specification-section {
        padding: 16px;
    }

    .rds-product-overview-copy {
        font-size: 13px;
        line-height: 1.65;
    }

    .rds-software-requirements-dialog {
        width: calc(100% - 20px);
        max-height: calc(100dvh - 20px);
        margin: 10px auto;
        border-radius: 14px;
    }

    .rds-software-requirements-dialog-header,
    .rds-software-requirements-dialog-body,
    .rds-software-requirements-dialog-footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    /* Public quote and login pages. */
    .quote-page-heading {
        padding-top: 8px;
    }

    .quote-page-heading h1 {
        font-size: 30px;
    }

    .quote-page-grid {
        gap: 16px;
        padding-top: 16px;
    }

    .quote-form-section,
    .quote-contact-card {
        padding: 18px 16px;
    }

    .quote-selected-product {
        grid-template-columns: 80px minmax(0, 1fr);
    }

    .quote-submit-row {
        padding: 16px;
    }

    .public-login-shell {
        grid-template-columns: 1fr !important;
        gap: 24px;
        margin: 4px auto 18px;
        padding: 20px 16px !important;
        border-radius: 16px !important;
    }

    .public-login-intro h1 {
        font-size: 31px;
        line-height: 1.08;
    }

    .public-login-benefits {
        gap: 10px;
    }

    .auth-box,
    .professional-auth-box {
        width: 100%;
        max-width: none;
        padding: 20px 16px;
    }

    /* Partner portal content. */
    .dashboard-heading {
        gap: 14px;
        margin-bottom: 16px;
    }

    .dashboard-heading h1 {
        font-size: 30px;
    }

    .dashboard-heading-actions,
    .dashboard-heading-actions .button {
        width: 100%;
    }

    .dashboard-heading-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .dashboard-stat-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
    }

    .dashboard-stat {
        min-height: 112px;
        padding: 13px;
    }

    .dashboard-stat-body strong {
        font-size: 23px;
    }

    .dashboard-panel {
        padding: 14px;
        border-radius: 14px;
    }

    .dashboard-panel-heading {
        align-items: flex-start;
        flex-direction: column;
        gap: 7px;
    }

    .dashboard-table-wrap,
    .table-scroll,
    .responsive-table {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }

    .form-actions,
    .toolbar-actions,
    .page-actions {
        flex-wrap: wrap;
    }

    .form-actions .button,
    .toolbar-actions .button,
    .page-actions .button {
        flex: 1 1 100%;
    }

    .footer,
    .professional-footer {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
        padding: 16px 14px;
    }
}

@media (max-width: 480px) {
    .mm-trust-strip article {
        padding: 12px 10px;
    }

    .mm-solutions-grid {
        grid-template-columns: 1fr;
    }

    .mm-solutions-grid article {
        min-height: 88px;
        grid-template-columns: 38px minmax(0, 1fr);
        justify-items: start;
        gap: 12px;
        padding: 14px 16px;
        text-align: left;
    }

    .mm-featured-card {
        grid-template-columns: 104px minmax(0, 1fr);
    }

    .mm-featured-card .public-card-image-wrap,
    .mm-featured-copy {
        height: 116px;
        min-height: 116px;
    }

    .mm-footer-main {
        grid-template-columns: 1fr;
    }

    .mm-footer-brand {
        grid-column: auto;
    }

    body.rds-public-catalogue-page .showcase-category-tabs {
        grid-template-columns: 1fr;
    }

    .rds-product-main-image-frame {
        height: 245px;
    }

    .rds-product-highlight-grid,
    .rds-product-specification-grid,
    .rds-related-products-grid {
        grid-template-columns: 1fr;
    }

    .rds-product-specification-grid > div.wide {
        grid-column: auto;
    }

    .rds-product-actions {
        flex-direction: column;
    }

    .rds-product-button {
        width: 100%;
    }

    .dashboard-stat-grid {
        grid-template-columns: 1fr;
    }
}

@media (hover: none) and (pointer: coarse) {
    .button,
    .rds-product-button,
    .category-filter-tab,
    .portal-link,
    .topbar-links a {
        touch-action: manipulation;
    }
}

/* =========================================================
   RDS public header branding - Option 2
   Larger logo mark with sharp HTML company name and tagline.
   Desktop-only override; mobile navigation rules remain unchanged.
   ========================================================= */
@media (min-width: 901px) {
    .topbar-public.mm-public-header {
        min-height: 88px;
    }

    .topbar-public.mm-public-header .topbar-inner {
        min-height: 88px;
        grid-template-columns: minmax(350px, auto) 1fr auto;
        padding-top: 13px;
        padding-bottom: 13px;
    }

    .topbar-public.mm-public-header .site-brand {
        gap: 14px;
        min-width: 350px;
    }

    .topbar-public.mm-public-header .site-brand-logo {
        width: 118px;
        height: 54px;
        padding: 4px 8px;
        border-radius: 10px;
        flex: 0 0 118px;
    }

    .topbar-public.mm-public-header .site-brand-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
    }

    .topbar-public.mm-public-header .site-brand-text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 2px;
        white-space: nowrap;
    }

    .topbar-public.mm-public-header .site-brand-text strong {
        font-size: 19px;
        line-height: 1.1;
        font-weight: 900;
        letter-spacing: -.02em;
    }

    .topbar-public.mm-public-header .site-brand-text small {
        font-size: 10px;
        line-height: 1.2;
        font-weight: 750;
        letter-spacing: .045em;
    }
}

/* Orders list action alignment */
.orders-table-card .actions-header {
    width: 148px;
    min-width: 148px;
    text-align: center;
}

.orders-table-card .order-row-actions {
    width: 148px;
    min-width: 148px;
    padding-left: 12px;
    padding-right: 12px;
    text-align: center;
    vertical-align: middle;
}

.orders-table-card .order-row-actions .order-actions-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 6px;
    min-height: 34px;
}

.orders-table-card .order-row-actions form {
    margin: 0;
}

.orders-table-card .order-row-actions .order-open-button {
    min-width: 102px;
    min-height: 34px;
    padding: 7px 13px;
    border-color: #1f2937;
    border-radius: 8px;
    background: #1f2937;
    color: #fff;
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
    box-shadow: 0 3px 8px rgba(17, 24, 39, .14);
}

.orders-table-card .order-row-actions .order-open-button:hover,
.orders-table-card .order-row-actions .order-open-button:focus-visible {
    border-color: #e97818;
    background: #e97818;
    color: #fff;
}

@media (max-width: 760px) {
    .orders-table-card .actions-header,
    .orders-table-card .order-row-actions {
        width: 120px;
        min-width: 120px;
    }

    .orders-table-card .order-row-actions .order-open-button {
        min-width: 92px;
    }
}

/* Partner and customer dashboard role cleanup */

.external-dashboard .partner-dashboard-heading {
    margin-bottom: 18px;
}

.external-dashboard .partner-dashboard-grid {
    grid-template-columns: minmax(0, 1.8fr) minmax(290px, .7fr);
}

.external-dashboard .partner-orders-table {
    min-width: 620px;
}

.external-dashboard .partner-orders-table th:last-child,
.external-dashboard .partner-orders-table td:last-child {
    width: 112px;
    text-align: center;
}

.external-dashboard .partner-orders-table .button {
    min-width: 88px;
}

.external-dashboard .partner-dashboard-actions {
    grid-template-columns: 1fr;
}

@media (max-width: 1160px) {
    .external-dashboard .partner-dashboard-grid {
        grid-template-columns: 1fr;
    }
}

/* =========================================================
   RDS PUBLIC HEADER — OPTION 2 EXACT BRANDING
   Prominent RDS mark + orange divider + sharp HTML branding.
   This final override intentionally sits at the end of site.css.
   ========================================================= */
.site-brand-divider {
    display: none;
}

@media (min-width: 1200px) {
    .topbar-public.mm-public-header {
        min-height: 94px;
    }

    .topbar-public.mm-public-header .topbar-inner {
        min-height: 94px;
        max-width: 1500px;
        grid-template-columns: minmax(410px, auto) 1fr auto;
        gap: 24px;
        padding: 14px 28px;
    }

    .topbar-public.mm-public-header .site-brand {
        min-width: 410px;
        gap: 15px;
    }

    .topbar-public.mm-public-header .site-brand-logo {
        width: 132px;
        height: 60px;
        flex: 0 0 132px;
        padding: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .topbar-public.mm-public-header .site-brand-logo img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        filter: none;
    }

    .topbar-public.mm-public-header .site-brand-divider {
        display: block;
        width: 2px;
        height: 42px;
        flex: 0 0 2px;
        border-radius: 999px;
        background: #e97818;
    }

    .topbar-public.mm-public-header .site-brand-text {
        display: flex;
        flex-direction: column;
        justify-content: center;
        gap: 4px;
        white-space: nowrap;
    }

    .topbar-public.mm-public-header .site-brand-text strong {
        color: #111827;
        font-size: 22px;
        line-height: 1.05;
        font-weight: 900;
        letter-spacing: -.025em;
    }

    .topbar-public.mm-public-header .site-brand-text small {
        color: #667085;
        font-size: 10.5px;
        line-height: 1.15;
        font-weight: 800;
        letter-spacing: .055em;
        text-transform: uppercase;
    }
}

@media (min-width: 901px) and (max-width: 1199px) {
    .topbar-public.mm-public-header {
        min-height: 86px;
    }

    .topbar-public.mm-public-header .topbar-inner {
        min-height: 86px;
        grid-template-columns: minmax(315px, auto) 1fr auto;
        gap: 14px;
        padding: 12px 18px;
    }

    .topbar-public.mm-public-header .site-brand {
        min-width: 315px;
        gap: 11px;
    }

    .topbar-public.mm-public-header .site-brand-logo {
        width: 108px;
        height: 52px;
        flex: 0 0 108px;
        padding: 0;
        border-radius: 0;
        background: transparent;
        box-shadow: none;
    }

    .topbar-public.mm-public-header .site-brand-divider {
        display: block;
        width: 2px;
        height: 34px;
        flex: 0 0 2px;
        border-radius: 999px;
        background: #e97818;
    }

    .topbar-public.mm-public-header .site-brand-text strong {
        font-size: 17px;
        line-height: 1.05;
    }

    .topbar-public.mm-public-header .site-brand-text small {
        font-size: 8.5px;
        line-height: 1.15;
    }
}

@media (max-width: 900px) {
    .topbar-public.mm-public-header .site-brand-divider {
        display: none !important;
    }
}



/* Signed-in password reset account summary */
.password-reset-box .registered-reset-email {
    display: grid;
    gap: 4px;
    padding: 13px 14px;
    border: 1px solid var(--line);
    border-radius: 10px;
    background: #f7f8fa;
}
.password-reset-box .registered-reset-email span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.password-reset-box .registered-reset-email strong {
    overflow-wrap: anywhere;
    font-size: 15px;
}

/* ========================================================================== 
   Product image background removal – preview and approval workflow
   ========================================================================== */
.background-removal-review-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 10px;
    align-items: stretch;
    margin-top: 6px;
}

.image-background-removal-option,
.white-product-mode-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    min-width: 0;
    padding: 11px 12px;
    border: 1px solid #fed7aa;
    border-radius: 10px;
    background: #fff7ed;
    color: #7c2d12;
    cursor: pointer;
}

.white-product-mode-option {
    border-color: #d8dee7;
    background: #f8fafc;
    color: #344054;
}

.image-background-removal-option input[type="checkbox"],
.white-product-mode-option input[type="checkbox"] {
    flex: 0 0 auto;
    width: 18px;
    height: 18px;
    margin: 1px 0 0;
    accent-color: #e97818;
}

.image-background-removal-option span,
.white-product-mode-option span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.image-background-removal-option strong,
.white-product-mode-option strong {
    color: #9a3412;
    font-size: 12px;
    line-height: 1.3;
}

.white-product-mode-option strong {
    color: #1d2939;
}

.image-background-removal-option small,
.white-product-mode-option small {
    color: #7c5a46;
    font-size: 10px;
    line-height: 1.45;
}

.white-product-mode-option small {
    color: #667085;
}

.white-product-mode-option:has(input:disabled) {
    opacity: .52;
    cursor: not-allowed;
}


.background-sensitivity-control {
    grid-column: 1 / 3;
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 10px 12px 9px;
    border: 1px solid #d8dee7;
    border-radius: 10px;
    background: #f8fafc;
}

.background-sensitivity-control:has(input:disabled) {
    opacity: .55;
}

.background-sensitivity-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.background-sensitivity-heading > span {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.background-sensitivity-heading strong {
    color: #1d2939;
    font-size: 11px;
    line-height: 1.3;
    text-transform: uppercase;
}

.background-sensitivity-heading small {
    color: #667085;
    font-size: 9px;
    line-height: 1.4;
}

.background-sensitivity-heading output {
    flex: 0 0 auto;
    min-width: 104px;
    padding: 5px 8px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
}

.background-sensitivity-control input[type="range"] {
    width: 100%;
    height: 20px;
    margin: 0;
    accent-color: #e97818;
    cursor: pointer;
}

.background-sensitivity-control input[type="range"]:disabled {
    cursor: not-allowed;
}

.background-sensitivity-control input[type="range"]::-webkit-slider-runnable-track {
    height: 6px;
    border-radius: 999px;
    background: linear-gradient(90deg, #dce6df 0%, #fed7aa 50%, #f9a8a8 100%);
}

.background-sensitivity-control input[type="range"]::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    margin-top: -6px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #e97818;
    box-shadow: 0 1px 4px rgba(17, 24, 39, .25);
    -webkit-appearance: none;
}

.background-sensitivity-control input[type="range"]::-moz-range-track {
    height: 6px;
    border: 0;
    border-radius: 999px;
    background: linear-gradient(90deg, #dce6df 0%, #fed7aa 50%, #f9a8a8 100%);
}

.background-sensitivity-control input[type="range"]::-moz-range-thumb {
    width: 16px;
    height: 16px;
    border: 2px solid #fff;
    border-radius: 50%;
    background: #e97818;
    box-shadow: 0 1px 4px rgba(17, 24, 39, .25);
}

.background-sensitivity-scale {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: #667085;
    font-size: 8px;
    font-weight: 800;
    line-height: 1;
}

.background-sensitivity-warning {
    display: block;
    padding: 6px 8px;
    border-radius: 7px;
    background: #fff1e6;
    color: #b45309;
    font-size: 9px;
    font-weight: 750;
    line-height: 1.35;
}

.background-sensitivity-warning[hidden] {
    display: none;
}

.background-preview-button {
    align-self: stretch;
    min-width: 176px;
    border-color: #1f2937;
    background: #1f2937;
    color: #fff;
}

.background-preview-button:hover,
.background-preview-button:focus-visible {
    border-color: #e97818;
    background: #e97818;
    color: #fff;
}

.background-preview-button:disabled {
    border-color: #d0d5dd;
    background: #e4e7ec;
    color: #98a2b3;
    cursor: not-allowed;
}

.background-preview-button.is-busy {
    cursor: wait;
}

.image-processing-status {
    grid-column: 1 / -1;
    display: block;
    margin-top: -2px;
    color: #b45309;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.45;
}

.image-processing-status.keeps-original {
    color: #667085;
}

.background-review-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.background-review-tile {
    display: grid;
    grid-template-rows: auto auto auto auto auto;
    gap: 8px;
    padding: 11px;
    cursor: default;
    overflow: visible;
}

.background-review-tile:hover {
    transform: none;
}

.background-review-tile-heading {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    min-height: 27px;
}

.background-review-tile .selected-upload-picture-badge {
    position: static;
    margin-right: auto;
}

.background-main-button {
    min-width: 86px;
}

.background-review-tile.is-main .background-main-button {
    border-color: #e97818;
    background: #fff7ed;
    color: #9a3412;
}

.background-preview-comparison {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.background-preview-comparison figure {
    display: grid;
    grid-template-rows: 148px auto;
    gap: 5px;
    min-width: 0;
    margin: 0;
    padding: 6px;
    border: 1px solid #e4e7ec;
    border-radius: 9px;
    background: #fff;
}

.background-preview-comparison figure[hidden] {
    display: none;
}

.background-preview-comparison img,
.selected-upload-picture img,
.pictures-only-panel .picture-tile img,
.single-picture-preview img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 7px;
    background-color: #fff;
    background-image:
        linear-gradient(45deg, #edf0f3 25%, transparent 25%),
        linear-gradient(-45deg, #edf0f3 25%, transparent 25%),
        linear-gradient(45deg, transparent 75%, #edf0f3 75%),
        linear-gradient(-45deg, transparent 75%, #edf0f3 75%);
    background-position: 0 0, 0 9px, 9px -9px, -9px 0;
    background-size: 18px 18px;
}

.background-preview-comparison figcaption {
    color: #667085;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .04em;
    text-align: center;
    text-transform: uppercase;
}

.background-choice-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 7px;
}

.background-choice-actions[hidden] {
    display: none;
}

.background-choice-actions .button {
    min-width: 118px;
}

.use-transparent-button.active {
    border-color: #16803a;
    background: #16803a;
    color: #fff;
}

.keep-original-button.active {
    border-color: #344054;
    background: #344054;
    color: #fff;
}

.selected-upload-picture-processing {
    display: block;
    margin-top: 0;
    padding: 7px 8px;
    border-radius: 7px;
    color: #9a3412;
    background: #fff1e6;
    font-size: 9px;
    font-weight: 800;
    line-height: 1.35;
    text-align: center;
}

.background-review-tile.uses-processed .selected-upload-picture-processing,
.single-background-review.uses-processed + .image-processing-status {
    color: #166534;
    background: #f0fdf4;
}

.background-review-tile.keeps-original .selected-upload-picture-processing,
.selected-product-picture-preview.keeps-original-images .selected-upload-picture-processing {
    color: #475467;
    background: #eef2f6;
}

.background-review-tile.preview-rejected {
    border-color: #fda29b;
    box-shadow: 0 0 0 2px rgba(217, 45, 32, .08);
}

.background-review-tile.preview-rejected .selected-upload-picture-processing,
.single-background-review.preview-rejected + .image-processing-status {
    color: #b42318;
    background: #fef3f2;
}

.single-background-review {
    display: grid;
    gap: 9px;
    margin-top: 10px;
}

.single-background-review:empty {
    display: none;
}

.single-background-review .background-preview-comparison figure {
    grid-template-rows: 180px auto;
}

.image-processing-submit .form-actions-sticky button[type="submit"] {
    min-width: 230px;
    cursor: wait;
}

@media (max-width: 980px) {
    .background-removal-review-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .background-preview-button {
        grid-column: 1 / -1;
        min-height: 40px;
    }
}

@media (max-width: 760px) {
    .background-review-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 650px) {
    .background-removal-review-controls {
        grid-template-columns: 1fr;
    }

    .image-background-removal-option,
    .white-product-mode-option {
        padding: 10px;
    }

    .background-preview-button,
    .image-processing-status {
        grid-column: auto;
    }

    .background-preview-comparison {
        grid-template-columns: 1fr;
    }

    .background-preview-comparison figure,
    .single-background-review .background-preview-comparison figure {
        grid-template-rows: 210px auto;
    }

    .background-choice-actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .background-choice-actions .button {
        width: 100%;
    }

    .image-processing-submit .form-actions-sticky button[type="submit"] {
        width: 100%;
        min-width: 0;
    }
}

/* Small state refinements for the safe preview controls. */
.background-preview-comparison:has(.processed-preview[hidden]) {
    grid-template-columns: 1fr;
}

.image-processing-status.preview-approved {
    color: #166534;
}

.image-processing-status.preview-rejected {
    color: #b42318;
}

/* Consumable picture is a compact form field, so its review controls stay vertical. */
.consumable-picture-field .background-removal-review-controls,
.consumable-picture-field .background-preview-comparison {
    grid-template-columns: 1fr;
}

.consumable-picture-field .background-sensitivity-control {
    grid-column: auto;
}

.consumable-picture-field .background-preview-button,
.consumable-picture-field .image-processing-status {
    grid-column: auto;
}

.consumable-picture-field .single-background-review .background-preview-comparison figure {
    grid-template-rows: 160px auto;
}

/* =========================================================
   RDS bilingual English / Greek language selector
   Country-flag controls with remembered active language.
   ========================================================= */
.topbar-action-cluster {
    min-width: 0;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
}

.language-switcher {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid rgba(255,255,255,.16);
    border-radius: 10px;
    background: rgba(255,255,255,.05);
}

.topbar-public .language-switcher {
    border-color: #dfe4ea;
    background: #f7f8fa;
}

.language-choice {
    min-width: 48px;
    min-height: 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: 7px;
    color: #cdd3dc;
    background: transparent;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: .025em;
    transition: border-color .16s ease, background .16s ease, color .16s ease, box-shadow .16s ease;
}

.topbar-public .language-choice {
    color: #4b5563;
}

.language-choice img {
    width: 21px;
    height: 15px;
    display: block;
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(17,24,39,.14);
}

.language-choice:hover,
.language-choice:focus-visible {
    color: #fff;
    border-color: rgba(233,120,24,.55);
    background: rgba(233,120,24,.14);
}

.topbar-public .language-choice:hover,
.topbar-public .language-choice:focus-visible {
    color: #9a4610;
    background: #fff1e6;
}

.language-choice.active {
    color: #fff;
    border-color: #e97818;
    background: #e97818;
    box-shadow: 0 3px 9px rgba(233,120,24,.2);
}

.topbar-public .language-choice.active {
    color: #fff;
}

.language-flag-chip {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    color: #9a4610;
    font-size: 12px;
    font-weight: 900;
}

.language-flag-chip img {
    width: 24px;
    height: 17px;
    object-fit: cover;
    border-radius: 2px;
    box-shadow: 0 0 0 1px rgba(17,24,39,.14);
}

.greek-content-settings {
    margin-top: 20px;
    padding: 18px;
    border: 1px solid #f4c79f;
    border-radius: 14px;
    background: #fffaf5;
}

.settings-language-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 14px;
}

.settings-language-heading h2,
.settings-language-heading h3 {
    margin: 0;
}

.nested-language-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.greek-translation-field {
    padding: 12px;
    border: 1px solid #ead8c8;
    border-radius: 11px;
    background: #fff;
}

.greek-translation-field.wide {
    grid-column: 1 / -1;
}

html[lang="el"] .topbar-links a,
html[lang="el"] .button,
html[lang="el"] .portal-link {
    letter-spacing: normal;
}

@media (max-width: 1199px) and (min-width: 901px) {
    .topbar-public.mm-public-header .topbar-inner {
        grid-template-columns: minmax(315px, auto) 1fr auto;
    }

    .topbar-action-cluster {
        gap: 8px;
    }

    .language-choice {
        min-width: 42px;
        padding-inline: 6px;
    }
}

@media (max-width: 760px) {
    .topbar-action-cluster {
        grid-column: 1 / -1;
        grid-row: 3;
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding-top: 10px;
        border-top: 1px solid rgba(255,255,255,.1);
    }

    .topbar-public .topbar-action-cluster {
        border-top-color: #e7ebef;
    }

    body.mobile-menu-ready .topbar:not(.mobile-nav-open) .topbar-action-cluster {
        display: none !important;
    }

    body.mobile-menu-ready .topbar.mobile-nav-open .topbar-action-cluster {
        display: grid !important;
    }

    .language-switcher {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .language-choice {
        width: 100%;
        min-height: 42px;
        font-size: 12px;
    }

    .topbar-action-cluster .topbar-user,
    .topbar-action-cluster .topbar-login {
        grid-column: auto;
        grid-row: auto;
        width: 100%;
        margin: 0;
    }

    .topbar-action-cluster .topbar-user {
        padding-top: 0;
        border-top: 0;
    }

    .nested-language-grid {
        grid-template-columns: 1fr;
    }

    .greek-translation-field.wide {
        grid-column: auto;
    }
}

/* Machine catalogue categories and print-speed ordering */
body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.catalogue-results-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: wrap;
}

.catalogue-speed-sort-form {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 0;
}

.catalogue-speed-sort-form label {
    color: #626c79;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.catalogue-speed-sort-form select {
    min-width: 190px;
    min-height: 40px;
    padding: 7px 34px 7px 11px;
    border: 1px solid #cfd5dc;
    border-radius: 9px;
    color: #303947;
    background-color: #fff;
    font-size: 12px;
    font-weight: 750;
}

.catalogue-speed-sort-form select:focus {
    border-color: #e97818;
    outline: 3px solid rgba(233, 120, 24, .14);
    outline-offset: 1px;
}

/* Five public solution cards: four machine categories plus software. */
.mm-category-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
}

.mm-category-card {
    padding-left: 17px;
    padding-right: 17px;
}

.mm-category-copy h3 {
    font-size: 18px;
}

@media (max-width: 1180px) {
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .mm-category-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .mm-category-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 640px) {
    .catalogue-results-actions,
    .catalogue-speed-sort-form {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .catalogue-speed-sort-form select {
        width: 100%;
    }
}

@media (max-width: 520px) {
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs,
    .mm-category-grid {
        grid-template-columns: 1fr;
    }
}

body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab.group-active:not(.active) {
    color: #9e4508;
    border-color: #e97818;
    background: #fff8f1;
    box-shadow: inset 0 0 0 1px rgba(233, 120, 24, .08);
}

body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab.group-active:not(.active) .category-tab-icon {
    color: #cf650f;
    background: #ffead8;
}

/* Consumables: Save and add next */
.product-simple-page .compact-consumable-form .consumable-main-header {
    grid-template-columns: minmax(240px, 1fr) minmax(190px, 220px) minmax(300px, auto);
}

.product-simple-page .compact-consumable-form .form-actions-sticky.simple-actions {
    justify-content: space-between;
}

.product-simple-page .guided-top-save-group,
.product-simple-page .save-action-group {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.product-simple-page .save-add-next-button {
    border-color: #e97818;
    background: #fff7ed;
    color: #a74708;
    font-weight: 800;
}

.product-simple-page .save-add-next-button:hover,
.product-simple-page .save-add-next-button:focus-visible {
    border-color: #d9650f;
    background: #e97818;
    color: #fff;
}

.product-simple-page .save-next-hint {
    max-width: 650px;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.4;
}

@media (max-width: 980px) {
    .product-simple-page .compact-consumable-form .guided-top-save-group {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}

@media (max-width: 650px) {
    .product-simple-page .guided-top-save-group,
    .product-simple-page .save-action-group {
        width: 100%;
        align-items: stretch;
        flex-direction: column;
    }

    .product-simple-page .guided-top-save-group .button,
    .product-simple-page .save-action-group .button {
        width: 100%;
    }

    .product-simple-page .save-next-hint {
        max-width: none;
    }
}


/* Partner-only machine accessories */
.partner-only-product-badge,
.partner-only-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid #fdba74;
    border-radius: 999px;
    background: #fff7ed;
    color: #9a3412;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.accessory-field-grid .matching-models-field,
.accessory-field-grid [data-field-key="accessory-description-specifications"] {
    grid-column: 1 / -1;
}

.accessory-order-filters {
    flex: 1 1 100%;
    display: grid;
    grid-template-columns: minmax(220px, 1.2fr) repeat(4, minmax(150px, 1fr));
    gap: 10px;
    align-items: end;
    width: 100%;
    margin-top: 10px;
    padding: 12px;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    background: #fffaf5;
}

.accessory-order-filters[hidden] {
    display: none !important;
}

.accessory-filter-heading {
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.accessory-filter-heading strong {
    color: #1f2937;
    font-size: 14px;
}

.accessory-filter-heading span {
    color: #6b7280;
    font-size: 12px;
    line-height: 1.35;
}

.accessory-order-filters select {
    width: 100%;
    min-height: 40px;
    border: 1px solid #d1d5db;
    border-radius: 9px;
    background: #fff;
}

.order-product-card[data-product-type="Machine Accessory"] {
    border-left: 4px solid #e97818;
}

.order-product-card[data-product-type="Machine Accessory"] .tag {
    border-color: #fed7aa;
    background: #fff7ed;
    color: #9a3412;
}

.accessory-specifications {
    white-space: pre-line;
}

/* Partner New Order: use the wide centre area for accessory descriptions/specifications. */
.order-accessory-content-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.18fr) minmax(0, 0.82fr);
    gap: 24px;
    align-items: start;
    min-width: 0;
}

.order-accessory-summary,
.order-accessory-description-column {
    min-width: 0;
}

.order-accessory-description-column {
    align-self: stretch;
    padding: 2px 0 2px 22px;
    border-left: 1px solid #e5e7eb;
    overflow-wrap: anywhere;
}

.order-accessory-description-column .accessory-specifications {
    margin-top: 0;
    color: #475569;
}

.order-products.grid-mode .order-accessory-content-grid {
    grid-template-columns: 1fr;
    gap: 10px;
}

.order-products.grid-mode .order-accessory-description-column {
    padding: 10px 0 0;
    border-left: 0;
    border-top: 1px solid #e5e7eb;
}

@media (max-width: 1180px) {
    .accessory-order-filters {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }

    .accessory-filter-heading {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .accessory-order-filters {
        grid-template-columns: 1fr;
    }

    .accessory-filter-heading {
        grid-column: auto;
    }

    .order-accessory-content-grid {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .order-accessory-description-column {
        padding: 10px 0 0;
        border-left: 0;
        border-top: 1px solid #e5e7eb;
    }

    .partner-only-product-badge,
    .partner-only-pill {
        white-space: normal;
        text-align: center;
    }
}

/* Type-aware product management list */
.product-filter-panel {
    margin-bottom: 16px;
    padding: 14px;
}

.product-filter-form {
    display: grid;
    grid-template-columns: minmax(300px, 2.1fr) repeat(6, minmax(125px, 1fr));
    gap: 12px;
    align-items: end;
}

.product-filter-search {
    min-width: 0;
}

.product-filter-field {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: #5f6978;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.product-filter-field select {
    width: 100%;
    min-height: 42px;
    padding: 8px 34px 8px 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: #fff;
    color: var(--text);
    font-size: 13px;
    font-weight: 650;
    text-transform: none;
    letter-spacing: normal;
}

.product-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    grid-column: 1 / -2;
}

.product-filter-form .list-result-count {
    justify-self: end;
    align-self: center;
    margin-left: 0;
}

.product-management-table-card {
    overflow-x: auto;
}

.product-management-table {
    min-width: 1180px;
    table-layout: fixed;
}

.product-management-table th,
.product-management-table td {
    vertical-align: middle;
}

.product-management-table th:nth-child(1),
.product-management-table td:nth-child(1) {
    width: 6%;
}

.product-management-table th:nth-child(2),
.product-management-table td:nth-child(2) {
    width: 16%;
}

.product-management-table th:nth-child(3),
.product-management-table td:nth-child(3) {
    width: 10%;
}

.product-management-table th:nth-child(4),
.product-management-table td:nth-child(4) {
    width: 21%;
}

.product-management-table th:nth-child(5),
.product-management-table td:nth-child(5) {
    width: 15%;
}

.product-management-table th:nth-child(6),
.product-management-table td:nth-child(6) {
    width: 9%;
}

.product-management-table th:nth-child(7),
.product-management-table td:nth-child(7) {
    width: 7%;
}

.product-management-table .actions-header,
.product-management-table .actions-cell {
    width: 16%;
    text-align: left;
}

.product-management-table td.product-identity-cell,
.product-management-table td.product-key-details-cell,
.product-management-table td.product-matching-cell {
    white-space: normal;
}

.product-management-row:hover > td {
    background: #fffaf5;
}

.product-picture-cell {
    text-align: center;
}

.product-list-picture {
    display: inline-flex;
    width: 58px;
    height: 48px;
    object-fit: contain;
    border: 1px solid #dce1e8;
    border-radius: 8px;
    background: #f8fafc;
}

.product-list-picture-placeholder {
    align-items: center;
    justify-content: center;
    color: #8b95a3;
    font-size: 22px;
}

.product-list-title {
    display: block;
    margin-bottom: 5px;
    color: #172033;
    line-height: 1.25;
}

.product-list-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 8px;
    color: #697386;
    font-size: 11px;
    line-height: 1.35;
}

.product-list-meta span + span::before {
    content: "•";
    margin-right: 8px;
    color: #c4cad3;
}

.product-type-badge,
.product-visibility-badge,
.product-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 4px 9px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 850;
    line-height: 1.1;
    white-space: normal;
}

.product-type-badge {
    background: #eef2f7;
    color: #374151;
}

.product-type-badge.machines {
    background: #eaf2ff;
    color: #1d4f91;
}

.product-type-badge.consumable {
    background: #fff1e5;
    color: #a64a12;
}

.product-type-badge.machine-accessory {
    background: #f2eefe;
    color: #5a38a5;
}

.product-type-badge.software {
    background: #e8f7f1;
    color: #17644b;
}

.product-type-badge.spare-part,
.product-type-badge.paper {
    background: #f3f4f6;
    color: #4b5563;
}

.product-key-details-cell {
    color: #374151;
    font-size: 12px;
    line-height: 1.45;
}

.matching-models-summary {
    color: #354052;
    font-size: 12px;
    line-height: 1.45;
}

.product-visibility-badge.public {
    background: #e8f8ee;
    color: #166534;
}

.product-visibility-badge.partner-only {
    background: #fff3e7;
    color: #a44712;
}

.product-status-badge.active {
    background: #dcfce7;
    color: #166534;
}

.product-status-badge.inactive {
    background: #eef0f3;
    color: #697386;
}

.product-management-actions {
    flex-wrap: nowrap;
    gap: 5px;
}

.product-management-table .actions-cell {
    padding-left: 6px;
    padding-right: 6px;
}

.product-management-actions .button {
    padding-left: 7px;
    padding-right: 7px;
    font-size: 11px;
}

.product-management-actions .button {
    min-height: 32px;
}

.product-details-toggle[aria-expanded="true"] {
    border-color: #e97818;
    color: #a84200;
    background: #fff4e9;
}

.product-expanded-row > td {
    padding: 0 !important;
    border-bottom: 1px solid #dce1e8;
    background: #f7f9fc;
    white-space: normal !important;
}

.product-expanded-grid {
    display: grid;
    grid-template-columns: 1.1fr .8fr 1.5fr 1.4fr;
    gap: 12px;
    padding: 14px 16px 16px;
}

.product-expanded-grid section {
    min-width: 0;
    padding: 12px 13px;
    border: 1px solid #e0e5eb;
    border-radius: 10px;
    background: #fff;
}

.product-expanded-grid strong {
    color: #172033;
    font-size: 13px;
}

.product-expanded-grid p {
    margin: 6px 0 0;
    color: #596476;
    font-size: 12px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.product-expanded-label {
    display: block;
    margin-bottom: 6px;
    color: #a94b13;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .055em;
    text-transform: uppercase;
}

.product-expanded-wide {
    grid-column: 1 / -1;
}

@media (max-width: 1350px) {
    .product-filter-form {
        grid-template-columns: minmax(300px, 2fr) repeat(3, minmax(145px, 1fr));
    }

    .product-filter-actions {
        grid-column: 1 / -2;
    }
}

@media (max-width: 900px) {
    .product-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .product-filter-search,
    .product-filter-actions {
        grid-column: 1 / -1;
    }

    .product-filter-form .list-result-count {
        justify-self: start;
    }

    .product-expanded-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 560px) {
    .product-filter-form {
        grid-template-columns: 1fr;
    }

    .product-filter-search,
    .product-filter-actions,
    .product-filter-form .list-result-count {
        grid-column: 1;
    }

    .product-filter-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .product-filter-actions .button {
        width: 100%;
    }

    .product-expanded-grid {
        grid-template-columns: 1fr;
    }

    .product-expanded-wide {
        grid-column: 1;
    }
}

/* Admin-editable dropdown lookup manager */
.field-label-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    margin-bottom: 6px;
}

.field-label-row > label {
    margin: 0;
}

.lookup-edit-button {
    width: 30px;
    height: 30px;
    min-width: 30px;
    padding: 0;
    border: 1px solid #d8dee8;
    border-radius: 8px;
    background: #fff;
    color: #667085;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: border-color .15s ease, background .15s ease, color .15s ease, transform .15s ease;
}

.lookup-edit-button svg {
    width: 16px;
    height: 16px;
    fill: currentColor;
}

.lookup-edit-button:hover,
.lookup-edit-button:focus-visible {
    border-color: #e97818;
    background: #fff7ed;
    color: #c95608;
    transform: translateY(-1px);
    outline: none;
}

.lookup-manager-dialog {
    width: min(1080px, calc(100vw - 36px));
    max-height: min(820px, calc(100vh - 36px));
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: #fff;
    color: var(--text);
    box-shadow: 0 28px 80px rgba(17, 24, 39, .26);
    overflow: hidden;
}

.lookup-manager-dialog::backdrop {
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(3px);
}

.lookup-manager-shell {
    display: flex;
    flex-direction: column;
    max-height: min(820px, calc(100vh - 36px));
}

.lookup-manager-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 22px 24px 18px;
    border-bottom: 1px solid #e4e7ec;
}

.lookup-manager-header h2 {
    margin: 3px 0 5px;
    font-size: 24px;
}

.lookup-manager-kicker {
    color: #d7600b;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.lookup-manager-message {
    min-height: 0;
    margin: 0 24px;
    padding: 0;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
}

.lookup-manager-message:not(:empty) {
    margin-top: 14px;
    padding: 10px 12px;
    background: #f2f4f7;
    color: #344054;
}

.lookup-manager-message.success {
    background: #ecfdf3;
    color: #067647;
}

.lookup-manager-message.error {
    background: #fef3f2;
    color: #b42318;
}

.lookup-add-panel {
    margin: 16px 24px;
    padding: 16px;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    background: #fffaf5;
}

.lookup-add-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}

.lookup-add-grid {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) minmax(190px, auto) auto;
    align-items: end;
    gap: 10px;
}

.lookup-add-grid label {
    display: grid;
    gap: 5px;
    margin: 0;
    color: #475467;
    font-size: 12px;
    font-weight: 800;
}

.lookup-add-position {
    display: grid;
    gap: 5px;
    color: #475467;
    font-size: 12px;
    font-weight: 800;
}

.lookup-position-choice {
    display: inline-flex;
    min-height: 38px;
    padding: 3px;
    border: 1px solid #d0d5dd;
    border-radius: 9px;
    background: #fff;
}

.lookup-position-choice-button {
    flex: 1;
    padding: 6px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #667085;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}

.lookup-position-choice-button.active {
    background: #1f2937;
    color: #fff;
    box-shadow: 0 2px 5px rgba(17, 24, 39, .16);
}

.lookup-add-grid input,
.lookup-manager-row input[type="text"],
.lookup-manager-row input[type="number"] {
    width: 100%;
    min-height: 38px;
    padding: 8px 10px;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    background: #fff;
    color: #101828;
}

.lookup-manager-table-head,
.lookup-manager-row {
    display: grid;
    grid-template-columns: minmax(170px, 1.15fr) minmax(170px, 1.15fr) 154px minmax(150px, .9fr) 128px;
    align-items: center;
    gap: 10px;
}

.lookup-manager-table-head {
    margin: 0 24px;
    padding: 9px 12px;
    border-radius: 9px 9px 0 0;
    background: #f2f4f7;
    color: #667085;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.lookup-manager-rows {
    min-height: 120px;
    padding: 0 24px 8px;
    overflow: auto;
}

.lookup-manager-rows.loading {
    opacity: .55;
    pointer-events: none;
}

.lookup-manager-row {
    padding: 11px 12px;
    border: 1px solid #eaecf0;
    border-top: 0;
    background: #fff;
}

.lookup-manager-row:last-child {
    border-radius: 0 0 9px 9px;
}

.lookup-manager-row.inactive {
    background: #f9fafb;
}

.lookup-order-controls {
    display: grid;
    grid-template-columns: 30px 32px 30px 32px;
    align-items: center;
    justify-content: start;
    gap: 4px;
}

.lookup-order-button {
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid #d0d5dd;
    border-radius: 7px;
    background: #fff;
    color: #344054;
    font-size: 16px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.lookup-order-button:hover:not(:disabled),
.lookup-order-button:focus-visible:not(:disabled) {
    border-color: #e97818;
    background: #fff7ed;
    color: #c95608;
    outline: none;
}

.lookup-order-button:disabled {
    opacity: .32;
    cursor: not-allowed;
}

.lookup-drag-handle {
    color: #98a2b3;
    cursor: grab;
    letter-spacing: -2px;
}

.lookup-drag-handle:active {
    cursor: grabbing;
}

.lookup-position-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    border-radius: 7px;
    background: #f2f4f7;
    color: #344054;
    font-size: 12px;
    font-weight: 900;
}

.lookup-manager-row.dragging {
    opacity: .5;
}

.lookup-manager-row.drag-over {
    border-color: #e97818;
    box-shadow: inset 0 2px 0 #e97818;
}

.lookup-row-status {
    display: grid;
    justify-items: start;
    gap: 5px;
}

.lookup-active-toggle {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin: 0;
    font-size: 12px;
    font-weight: 800;
}

.lookup-usage-badge {
    display: inline-flex;
    align-items: center;
    min-height: 22px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #f2f4f7;
    color: #667085;
    font-size: 10px;
    font-weight: 850;
}

.lookup-usage-badge.used {
    background: #fff3e8;
    color: #a94708;
}

.lookup-row-actions {
    display: flex;
    justify-content: flex-end;
    gap: 6px;
}

.lookup-row-actions .button {
    min-width: 58px;
}

.lookup-row-actions .button:disabled {
    opacity: .45;
    cursor: not-allowed;
}

.lookup-empty-state {
    padding: 34px;
    border: 1px dashed #d0d5dd;
    border-radius: 10px;
    color: #667085;
    text-align: center;
}

.lookup-manager-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 15px 24px;
    border-top: 1px solid #e4e7ec;
    background: #f9fafb;
}

@media (max-width: 820px) {
    .lookup-manager-dialog {
        width: calc(100vw - 18px);
        max-height: calc(100vh - 18px);
        border-radius: 14px;
    }

    .lookup-manager-shell {
        max-height: calc(100vh - 18px);
    }

    .lookup-manager-header,
    .lookup-manager-footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .lookup-manager-message,
    .lookup-add-panel,
    .lookup-manager-table-head,
    .lookup-manager-rows {
        margin-left: 16px;
        margin-right: 16px;
    }

    .lookup-add-grid {
        grid-template-columns: 1fr 1fr;
    }

    .lookup-manager-table-head {
        display: none;
    }

    .lookup-manager-rows {
        padding-left: 0;
        padding-right: 0;
    }

    .lookup-manager-row {
        grid-template-columns: 1fr 1fr;
        border-top: 1px solid #eaecf0;
        border-radius: 10px;
        margin-bottom: 10px;
    }

    .lookup-order-controls,
    .lookup-row-status,
    .lookup-row-actions {
        grid-column: span 1;
    }
}

@media (max-width: 560px) {
    .lookup-add-grid,
    .lookup-manager-row {
        grid-template-columns: 1fr;
    }

    .lookup-add-heading,
    .lookup-manager-footer {
        align-items: flex-start;
        flex-direction: column;
    }

    .lookup-order-controls,
    .lookup-row-status,
    .lookup-row-actions {
        grid-column: auto;
    }

    .lookup-row-actions {
        justify-content: stretch;
    }

    .lookup-row-actions .button {
        flex: 1;
    }
}

/* =========================================================
   Public customer catalogue: compact machine quick filters
   ========================================================= */
body.rds-public-catalogue-page .public-machine-quick-filters {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #e0e5ea;
    border-radius: 11px;
    background: #fbfcfd;
}

body.rds-public-catalogue-page .public-machine-filter-intro {
    min-width: 158px;
    display: flex;
    align-items: center;
    gap: 9px;
    padding-right: 14px;
    border-right: 1px solid #e2e6eb;
}

body.rds-public-catalogue-page .public-machine-filter-icon {
    width: 32px;
    height: 32px;
    flex: 0 0 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px;
    color: #b8540d;
    background: #fff0e4;
}

body.rds-public-catalogue-page .public-machine-filter-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
}

body.rds-public-catalogue-page .public-machine-filter-intro > div {
    min-width: 0;
    display: grid;
    gap: 1px;
}

body.rds-public-catalogue-page .public-machine-filter-intro strong {
    color: #202833;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
}

body.rds-public-catalogue-page .public-machine-filter-intro span:not(.public-machine-filter-icon) {
    color: #727c89;
    font-size: 10px;
    font-weight: 650;
    line-height: 1.25;
}

body.rds-public-catalogue-page .public-machine-filter-groups {
    min-width: 0;
    flex: 1;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 15px;
}

body.rds-public-catalogue-page .public-machine-filter-group {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

body.rds-public-catalogue-page .public-machine-filter-label {
    color: #545e6b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .03em;
    white-space: nowrap;
}

body.rds-public-catalogue-page .public-machine-filter-chips {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    padding: 3px;
    border-radius: 999px;
    background: #edf1f4;
}

body.rds-public-catalogue-page .public-machine-filter-chip {
    min-height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 5px 10px;
    border: 1px solid transparent;
    border-radius: 999px;
    color: #4a5563;
    background: transparent;
    font-size: 10.5px;
    font-weight: 850;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition: color .15s ease, background .15s ease, border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

body.rds-public-catalogue-page .public-machine-filter-chip:hover {
    color: #a64a09;
    border-color: #efb07d;
    background: #fff;
    transform: translateY(-1px);
}

body.rds-public-catalogue-page .public-machine-filter-chip.active {
    color: #fff;
    border-color: #dc6d14;
    background: #e97818;
    box-shadow: 0 4px 10px rgba(207, 101, 17, .2);
}

body.rds-public-catalogue-page .public-machine-filter-chip:focus-visible,
body.rds-public-catalogue-page .public-machine-filter-clear:focus-visible {
    outline: 3px solid rgba(233, 120, 24, .26);
    outline-offset: 2px;
}

body.rds-public-catalogue-page .public-machine-filter-clear {
    flex: 0 0 auto;
    padding: 5px 8px;
    border-radius: 7px;
    color: #9e4508;
    font-size: 10.5px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
}

body.rds-public-catalogue-page .public-machine-filter-clear:hover {
    color: #fff;
    background: #b9540d;
}

@media (max-width: 1120px) {
    body.rds-public-catalogue-page .public-machine-quick-filters {
        align-items: flex-start;
        flex-wrap: wrap;
    }

    body.rds-public-catalogue-page .public-machine-filter-intro {
        min-width: 150px;
    }
}

@media (max-width: 820px) {
    body.rds-public-catalogue-page .public-machine-quick-filters {
        display: grid;
        gap: 10px;
    }

    body.rds-public-catalogue-page .public-machine-filter-intro {
        min-width: 0;
        padding: 0 0 9px;
        border-right: 0;
        border-bottom: 1px solid #e2e6eb;
    }

    body.rds-public-catalogue-page .public-machine-filter-groups {
        width: 100%;
    }

    body.rds-public-catalogue-page .public-machine-filter-clear {
        justify-self: start;
    }
}

@media (max-width: 560px) {
    body.rds-public-catalogue-page .public-machine-filter-groups {
        display: grid;
        gap: 8px;
    }

    body.rds-public-catalogue-page .public-machine-filter-group {
        width: 100%;
        justify-content: space-between;
    }

    body.rds-public-catalogue-page .public-machine-filter-label {
        min-width: 74px;
    }

    body.rds-public-catalogue-page .public-machine-filter-chips {
        min-width: 0;
        flex: 1;
        justify-content: flex-end;
    }

    body.rds-public-catalogue-page .public-machine-filter-chip {
        flex: 1;
        padding-inline: 8px;
    }
}


/* =========================================================
   Public customer catalogue: Compact Machine Finder
   Small segmented filters shown only inside the Machines tab.
   ========================================================= */
body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs.clean-machine-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

body.rds-public-catalogue-page .clean-machine-tabs .category-filter-tab {
    min-height: 54px;
    padding-inline: 14px;
}

body.rds-public-catalogue-page .clean-machine-finder-filters {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 10px;
    padding: 9px 12px;
    border: 1px solid #e0e5ea;
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(30, 39, 50, .025);
}

body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-groups {
    min-width: 0;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 0;
}

body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group {
    min-width: 0;
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
}

body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group:first-child {
    padding-left: 0;
}

body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group + .public-machine-filter-group::before {
    content: "";
    position: absolute;
    left: 0;
    top: 5px;
    bottom: 5px;
    width: 1px;
    background: #e4e8ec;
}

body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-label {
    flex: 0 0 auto;
    color: #4a5562;
    font-size: 10.5px;
    font-weight: 900;
    letter-spacing: 0;
    white-space: nowrap;
}

body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-chips {
    width: auto;
    display: inline-flex;
    align-items: center;
    gap: 2px;
    padding: 2px;
    border: 1px solid #e3e7eb;
    border-radius: 8px;
    background: #f2f4f6;
}

body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-chip {
    min-width: 44px;
    min-height: 28px;
    padding: 5px 10px;
    border: 1px solid transparent;
    border-radius: 6px;
    color: #414b57;
    background: transparent;
    box-shadow: none;
    font-size: 10.5px;
    font-weight: 850;
    line-height: 1;
    transform: none;
}

body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-chip:hover {
    color: #9f4709;
    border-color: #efb07d;
    background: #fff;
    transform: none;
    box-shadow: none;
}

body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-chip.active {
    color: #a74708;
    border-color: #ed9959;
    background: #fff0e4;
    box-shadow: 0 1px 3px rgba(183, 82, 10, .10);
}

body.rds-public-catalogue-page .public-machine-filter-summary {
    flex: 0 0 auto;
    min-width: auto;
    display: inline-flex;
    align-items: baseline;
    justify-content: flex-end;
    gap: 4px;
    margin-left: auto;
    padding: 0;
    color: #3d4651;
    white-space: nowrap;
}

body.rds-public-catalogue-page .public-machine-filter-summary strong {
    font-size: 12px;
    font-weight: 950;
}

body.rds-public-catalogue-page .public-machine-filter-summary span {
    font-size: 10px;
    font-weight: 750;
}

body.rds-public-catalogue-page .clean-machine-reset {
    flex: 0 0 auto;
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    margin: 0;
    padding: 5px 7px;
    border-radius: 6px;
    color: #a84b0a;
    background: transparent;
    font-size: 10.5px;
}

body.rds-public-catalogue-page .clean-machine-reset:hover {
    color: #8f3d05;
    background: #fff2e8;
}

body.rds-public-catalogue-page .clean-machine-reset svg {
    width: 14px;
    height: 14px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 1180px) {
    body.rds-public-catalogue-page .clean-machine-finder-filters {
        flex-wrap: wrap;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-groups {
        flex-basis: 100%;
    }

    body.rds-public-catalogue-page .public-machine-filter-summary {
        margin-left: 0;
    }
}

@media (max-width: 900px) {
    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-groups {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 14px;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group,
    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group:first-child {
        padding: 0;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group + .public-machine-filter-group::before {
        display: none;
    }
}

@media (max-width: 640px) {
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs.clean-machine-tabs {
        grid-template-columns: 1fr;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 9px 12px;
        padding: 10px;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-groups {
        grid-column: 1 / -1;
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group,
    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group:first-child {
        width: 100%;
        display: grid;
        grid-template-columns: minmax(78px, auto) 1fr;
        align-items: center;
        gap: 8px;
        padding: 0;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-chips {
        width: 100%;
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-chip {
        min-width: 0;
        padding-inline: 7px;
    }

    body.rds-public-catalogue-page .public-machine-filter-summary {
        justify-self: start;
    }

    body.rds-public-catalogue-page .clean-machine-reset {
        justify-self: end;
    }
}


@media (max-width: 1050px) {
    .rds-compatible-accessory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .rds-compatible-accessories-section {
        padding: 18px;
    }

    .rds-compatible-accessories-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .rds-compatible-accessory-grid {
        grid-template-columns: 1fr;
    }

    .rds-compatible-accessory-card {
        grid-template-columns: 118px minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr) auto;
    }

    .rds-compatible-accessory-image {
        grid-row: 1 / span 2;
        min-height: 170px;
        border-right: 1px solid #edf0f3;
        border-bottom: 0;
    }

    .rds-compatible-accessory-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .rds-compatible-accessory-add {
        width: 100%;
    }
}

@media (max-width: 480px) {
    .rds-compatible-accessory-card {
        grid-template-columns: 1fr;
        grid-template-rows: 150px minmax(0, 1fr) auto;
    }

    .rds-compatible-accessory-image {
        grid-row: auto;
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid #edf0f3;
    }

    .rds-compatible-accessory-toast {
        right: 16px;
        bottom: 16px;
        left: 16px;
        max-width: none;
    }
}

/* Partner New Order: compatible accessories and consumables after adding a machine. */
.machine-addon-dialog {
    width: min(1120px, calc(100vw - 32px));
    max-width: 1120px;
    max-height: min(88vh, 900px);
    padding: 0;
    border: 0;
    border-radius: 22px;
    background: #fff;
    color: #172033;
    box-shadow: 0 30px 90px rgba(15, 23, 42, .28);
    overflow: hidden;
}

.machine-addon-dialog::backdrop {
    background: rgba(15, 23, 42, .62);
    backdrop-filter: blur(3px);
}

.machine-addon-dialog-shell {
    display: flex;
    flex-direction: column;
    max-height: min(88vh, 900px);
    background: #f8fafc;
}

.machine-addon-dialog-header {
    position: relative;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    padding: 24px 28px 20px;
    border-bottom: 1px solid #e2e8f0;
    background: #fff;
}

.machine-addon-dialog-heading {
    min-width: 0;
}

.machine-addon-eyebrow,
.machine-addon-group-kicker {
    display: block;
    margin-bottom: 5px;
    color: #c65313;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.machine-addon-dialog-header h2 {
    margin: 0;
    color: #172033;
    font-size: clamp(22px, 2.4vw, 30px);
    line-height: 1.12;
}

.machine-addon-dialog-header p {
    max-width: 760px;
    margin: 8px 0 0;
    color: #64748b;
    font-size: 14px;
    line-height: 1.45;
}

.machine-addon-close {
    flex: 0 0 auto;
    align-self: flex-start;
}

.machine-addon-selected-machine {
    display: flex;
    align-items: center;
    gap: 14px;
    margin: 18px 28px 0;
    padding: 12px 14px;
    border: 1px solid #fed7aa;
    border-radius: 14px;
    background: #fff7ed;
}

.machine-addon-machine-image {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 58px;
    width: 58px;
    height: 58px;
    overflow: hidden;
    border: 1px solid #fdba74;
    border-radius: 11px;
    background: #fff;
    color: #94a3b8;
    font-size: 10px;
    text-align: center;
}

.machine-addon-machine-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.machine-addon-selected-machine > div:last-child {
    display: grid;
    gap: 2px;
    min-width: 0;
}

.machine-addon-selected-machine span {
    color: #9a4a10;
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.machine-addon-selected-machine strong {
    overflow: hidden;
    color: #172033;
    font-size: 17px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.machine-addon-dialog-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    min-height: 0;
    padding: 18px 28px 22px;
    overflow: auto;
}

.machine-addon-group {
    min-width: 0;
    padding: 16px;
    border: 1px solid #dbe3ec;
    border-radius: 16px;
    background: #fff;
}

.machine-addon-group-head {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding-bottom: 11px;
    border-bottom: 1px solid #e8edf3;
}

.machine-addon-group-head h3 {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
    color: #172033;
    font-size: 18px;
}

.machine-addon-group-head h3 span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 25px;
    height: 25px;
    padding: 0 7px;
    border-radius: 999px;
    background: #fff1e7;
    color: #ad470f;
    font-size: 12px;
    font-weight: 900;
}

.machine-addon-list {
    display: grid;
    gap: 10px;
}

.machine-addon-item {
    display: grid;
    grid-template-columns: 28px 62px minmax(0, 1fr) 116px;
    gap: 10px;
    align-items: center;
    padding: 10px;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    background: #fff;
    cursor: pointer;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.machine-addon-item:hover {
    border-color: #fdba74;
    background: #fffdfb;
    box-shadow: 0 8px 20px rgba(148, 163, 184, .16);
}

.machine-addon-item:has([data-machine-addon-select]:checked) {
    border-color: #ea7a2a;
    background: #fff8f2;
    box-shadow: 0 0 0 2px rgba(234, 122, 42, .12);
}

.machine-addon-check {
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0;
}

.machine-addon-check input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #e97818;
    cursor: pointer;
}

.machine-addon-item-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #f8fafc;
    color: #94a3b8;
    font-size: 9px;
    text-align: center;
}

.machine-addon-item-image img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

.machine-addon-item-content {
    min-width: 0;
}

.machine-addon-item-tags {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    margin-bottom: 5px;
}

.machine-addon-item-tags > span:not(.machine-addon-colour) {
    display: inline-flex;
    max-width: 100%;
    padding: 3px 7px;
    overflow: hidden;
    border-radius: 999px;
    background: #eef2f7;
    color: #475569;
    font-size: 10px;
    font-weight: 800;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.machine-addon-item-tags .machine-addon-code {
    background: #fff1e7;
    color: #a44712;
}

.machine-addon-colour {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
}

.machine-addon-item h4 {
    margin: 0;
    color: #172033;
    font-size: 14px;
    line-height: 1.25;
}

.machine-addon-item-content p {
    display: -webkit-box;
    margin: 5px 0 0;
    overflow: hidden;
    color: #64748b;
    font-size: 11px;
    line-height: 1.35;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.machine-addon-item-content .machine-addon-notes {
    color: #7c5a43;
}

.machine-addon-existing {
    display: inline-flex;
    margin-top: 6px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #ecfdf3;
    color: #166534;
    font-size: 10px;
    font-weight: 900;
}

.machine-addon-item-order {
    display: grid;
    justify-items: end;
    gap: 3px;
    min-width: 0;
    text-align: right;
}

.machine-addon-item-order > span {
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
}

.machine-addon-item-order > strong {
    color: #172033;
    font-size: 14px;
}

.machine-addon-item-order .machine-addon-price-request {
    max-width: 110px;
    color: #a44712;
    font-size: 11px;
    line-height: 1.2;
}

.machine-addon-item-order label {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 5px;
    color: #64748b;
    font-size: 10px;
    font-weight: 800;
}

.machine-addon-item-order input {
    width: 58px;
    min-height: 30px;
    padding: 4px 6px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    background: #fff;
    text-align: center;
}

.machine-addon-empty {
    padding: 24px 14px;
    border: 1px dashed #cbd5e1;
    border-radius: 12px;
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    text-align: center;
}

.machine-addon-dialog-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 28px;
    border-top: 1px solid #e2e8f0;
    background: #fff;
}

.machine-addon-selection-status {
    color: #64748b;
    font-size: 13px;
    font-weight: 800;
}

.machine-addon-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

@media (max-width: 900px) {
    .machine-addon-dialog {
        width: min(760px, calc(100vw - 20px));
        max-height: calc(100vh - 20px);
    }

    .machine-addon-dialog-shell {
        max-height: calc(100vh - 20px);
    }

    .machine-addon-dialog-body {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .machine-addon-dialog {
        width: calc(100vw - 12px);
        border-radius: 16px;
    }

    .machine-addon-dialog-header,
    .machine-addon-dialog-body,
    .machine-addon-dialog-footer {
        padding-left: 16px;
        padding-right: 16px;
    }

    .machine-addon-selected-machine {
        margin-left: 16px;
        margin-right: 16px;
    }

    .machine-addon-item {
        grid-template-columns: 26px 56px minmax(0, 1fr);
    }

    .machine-addon-item-image {
        width: 56px;
        height: 56px;
    }

    .machine-addon-item-order {
        grid-column: 2 / -1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        padding-top: 8px;
        border-top: 1px solid #eef2f7;
        text-align: left;
    }

    .machine-addon-item-order label {
        margin-top: 0;
    }

    .machine-addon-dialog-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .machine-addon-dialog-actions {
        flex-direction: column-reverse;
    }

    .machine-addon-dialog-actions .button {
        width: 100%;
    }
}


/* Product save confirmation and mandatory-field guidance */
.product-save-toast {
    position: fixed;
    top: 22px;
    right: 24px;
    z-index: 2400;
    display: grid;
    grid-template-columns: 42px minmax(210px, 1fr) 30px;
    align-items: center;
    gap: 12px;
    width: min(420px, calc(100vw - 32px));
    padding: 14px 14px 14px 16px;
    border: 1px solid #9fd2ac;
    border-radius: 14px;
    background: #f1fbf4;
    color: #183d24;
    box-shadow: 0 18px 48px rgba(15, 23, 42, .22);
    animation: product-save-toast-in .22s ease-out both;
}

.product-save-toast.is-hiding {
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .2s ease, transform .2s ease;
}

.product-save-toast-icon {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    background: #258a45;
    color: #fff;
    font-size: 22px;
    font-weight: 900;
}

.product-save-toast strong,
.product-save-toast span {
    display: block;
}

.product-save-toast strong {
    margin-bottom: 2px;
    font-size: 15px;
}

.product-save-toast > div > span {
    color: #3f684a;
    font-size: 13px;
}

.product-save-toast-close {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: #44634c;
    cursor: pointer;
    font-size: 22px;
    line-height: 1;
}

.product-save-toast-close:hover {
    background: rgba(37, 138, 69, .11);
}

.product-validation-summary {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 13px;
    margin: 0 0 18px;
    padding: 16px 18px;
    border: 1px solid #f0aa89;
    border-left: 5px solid #e8782d;
    border-radius: 13px;
    background: #fff7f2;
    color: #542813;
    scroll-margin-top: 18px;
}

.product-validation-summary-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #e8782d;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.product-validation-summary strong {
    display: block;
    margin: 1px 0 4px;
    color: #2b1d17;
    font-size: 16px;
}

.product-validation-summary p {
    margin: 0 0 8px;
    color: #78513e;
    font-size: 13px;
}

.product-validation-summary ul {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-validation-summary li button {
    padding: 7px 10px;
    border: 1px solid #e8a17e;
    border-radius: 999px;
    background: #fff;
    color: #a34416;
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
}

.product-validation-summary li button:hover,
.product-validation-summary li button:focus-visible {
    border-color: #e8782d;
    background: #fff0e8;
    outline: none;
}

.mandatory-fields-note {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 5px;
    margin: -2px 0 8px;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.required-mark,
.mandatory-fields-note > span {
    color: #d94f18;
    font-weight: 900;
}

.field-block.required-field-missing {
    padding: 9px;
    margin: -9px;
    border: 1px solid #ed8e60;
    border-radius: 10px;
    background: #fff7f2;
}

.field-block.required-field-missing input,
.field-block.required-field-missing select,
.field-block.required-field-missing textarea,
.field-block input[aria-invalid="true"],
.field-block select[aria-invalid="true"],
.field-block textarea[aria-invalid="true"] {
    border-color: #df6426 !important;
    box-shadow: 0 0 0 3px rgba(232, 120, 45, .12);
}

@keyframes product-save-toast-in {
    from { opacity: 0; transform: translateY(-10px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 720px) {
    .product-save-toast {
        top: 12px;
        right: 12px;
        left: 12px;
        width: auto;
    }

    .product-validation-summary {
        grid-template-columns: 32px minmax(0, 1fr);
        padding: 14px;
    }

    .mandatory-fields-note {
        justify-content: flex-start;
    }
}


/* Duplicate product prevention and cleanup */
.product-duplicate-overview {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    margin-bottom: 16px;
    padding: 13px 15px;
    border: 1px solid #f2b58e;
    border-left: 5px solid #e8782d;
    border-radius: 12px;
    background: #fff8f3;
    color: #5b301b;
}

.product-duplicate-overview-icon,
.product-duplicate-alert-icon {
    display: grid;
    place-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e8782d;
    color: #fff;
    font-size: 20px;
    font-weight: 900;
}

.product-duplicate-overview strong,
.product-duplicate-overview span {
    display: block;
}

.product-duplicate-overview strong {
    margin-bottom: 2px;
    color: #2d1d15;
    font-size: 14px;
}

.product-duplicate-overview span {
    color: #7a513d;
    font-size: 12px;
}

.product-duplicate-row > td {
    background: #fffaf6;
}

.product-duplicate-row:hover > td {
    background: #fff4ea;
}

.product-duplicate-badge {
    display: inline-flex;
    align-items: center;
    margin-top: 7px;
    padding: 4px 8px;
    border: 1px solid #eba578;
    border-radius: 999px;
    background: #fff1e7;
    color: #a74413;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.product-expanded-duplicate {
    border-color: #efb18a !important;
    background: #fff8f3 !important;
}

.product-expanded-duplicate-links {
    display: grid;
    gap: 5px;
    margin-top: 7px;
}

.product-expanded-duplicate-links a {
    color: #a74413;
    font-size: 12px;
    font-weight: 800;
    text-decoration: none;
}

.product-expanded-duplicate-links a:hover {
    text-decoration: underline;
}

.product-duplicate-alert {
    display: grid;
    grid-template-columns: 40px minmax(0, 1fr);
    gap: 14px;
    margin: 0 0 18px;
    padding: 17px 18px;
    border: 1px solid #efa77b;
    border-left: 5px solid #d95616;
    border-radius: 13px;
    background: #fff6ef;
    color: #582813;
    scroll-margin-top: 18px;
}

.product-duplicate-alert-content > strong {
    display: block;
    margin: 1px 0 4px;
    color: #2b1d17;
    font-size: 16px;
}

.product-duplicate-alert-content > p {
    margin: 0 0 12px;
    color: #76503c;
    font-size: 13px;
}

.product-duplicate-match-list {
    display: grid;
    gap: 8px;
}

.product-duplicate-match {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 11px;
    border: 1px solid #ebbea2;
    border-radius: 10px;
    background: #fff;
}

.product-duplicate-match strong,
.product-duplicate-match span {
    display: block;
}

.product-duplicate-match strong {
    color: #25211f;
    font-size: 13px;
}

.product-duplicate-match span {
    margin-top: 2px;
    color: #77675e;
    font-size: 11px;
}

.product-duplicate-existing-notice {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 10px;
    margin: 0 0 16px;
    padding: 11px 13px;
    border: 1px solid #e9bc73;
    border-radius: 10px;
    background: #fff9e8;
    color: #614711;
    font-size: 12px;
}

.product-duplicate-existing-notice strong {
    color: #3d2c09;
}

.product-duplicate-existing-notice a {
    margin-left: auto;
    color: #9c4a0c;
    font-weight: 900;
}

@media (max-width: 720px) {
    .product-duplicate-overview {
        grid-template-columns: 36px minmax(0, 1fr);
    }

    .product-duplicate-overview .button {
        grid-column: 1 / -1;
        width: 100%;
    }

    .product-duplicate-alert {
        grid-template-columns: 34px minmax(0, 1fr);
        padding: 14px;
    }

    .product-duplicate-match {
        align-items: stretch;
        flex-direction: column;
    }

    .product-duplicate-match .button {
        width: 100%;
    }

    .product-duplicate-existing-notice a {
        width: 100%;
        margin-left: 0;
    }
}

/* Admin Data Management */
.data-management-page {
    min-width: 0;
}

.data-management-heading {
    align-items: flex-end;
}

.data-page-kicker {
    display: block;
    margin-bottom: 4px;
    color: #d85f1d;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .11em;
}

.data-management-message {
    margin-bottom: 14px;
}

.data-safety-banner {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin: 0 0 16px;
    padding: 13px 15px;
    border: 1px solid #cdd9d2;
    border-left: 4px solid #3f8d65;
    border-radius: 12px;
    background: #f6fbf8;
}

.data-safety-icon {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #3f8d65;
    color: #fff;
    font-weight: 900;
}

.data-safety-banner strong,
.data-safety-banner span {
    display: block;
}

.data-safety-banner strong {
    color: #244b37;
    font-size: 13px;
}

.data-safety-banner span {
    margin-top: 2px;
    color: #547262;
    font-size: 12px;
    line-height: 1.45;
}

.data-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 14px;
}

.data-summary-card {
    display: flex;
    min-width: 0;
    min-height: 104px;
    flex-direction: column;
    justify-content: space-between;
    padding: 13px 14px;
    border: 1px solid #e1e4e6;
    border-radius: 12px;
    background: #fff;
    color: #2d3134;
    text-decoration: none;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

.data-summary-card:hover,
.data-summary-card.selected {
    border-color: #e8782d;
    box-shadow: 0 6px 18px rgba(70, 54, 43, .08);
    transform: translateY(-1px);
}

.data-summary-card.warning {
    background: #fffaf6;
}

.data-summary-card > span {
    color: #667078;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.25;
}

.data-summary-card strong {
    margin: 6px 0 2px;
    color: #202427;
    font-size: 25px;
    line-height: 1;
}

.data-summary-card small {
    color: #8a9298;
    font-size: 10px;
}

.data-section-tabs {
    display: flex;
    gap: 6px;
    margin: 0 0 12px;
    padding: 6px;
    overflow-x: auto;
    border: 1px solid #e0e3e5;
    border-radius: 12px;
    background: #f5f6f7;
}

.data-section-tabs a {
    flex: 0 0 auto;
    padding: 9px 13px;
    border-radius: 8px;
    color: #596269;
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

.data-section-tabs a:hover {
    color: #b84c12;
    background: #fff;
}

.data-section-tabs a.active {
    background: #202427;
    color: #fff;
    box-shadow: 0 3px 9px rgba(30, 33, 35, .15);
}

.data-filter-panel {
    margin-bottom: 12px;
    padding: 11px 12px;
}

.data-filter-form {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.data-filter-form select {
    width: auto;
    min-width: 150px;
}

.data-search-wrap {
    position: relative;
    flex: 1 1 280px;
    min-width: 190px;
}

.data-search-wrap > span {
    position: absolute;
    top: 50%;
    left: 12px;
    color: #8b9398;
    transform: translateY(-50%);
    pointer-events: none;
}

.data-search-wrap input {
    width: 100%;
    padding-left: 34px;
}

.data-filter-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 39px;
    padding: 0 10px;
    border: 1px solid #d9dddf;
    border-radius: 8px;
    background: #fff;
    color: #535d63;
    font-size: 11px;
    font-weight: 800;
    white-space: nowrap;
}

.data-filter-check input {
    width: auto;
}

.data-result-count {
    margin-left: auto;
    white-space: nowrap;
}

.data-table-panel {
    padding: 0;
    overflow: hidden;
}

.data-table-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 16px 13px;
    border-bottom: 1px solid #e6e8e9;
}

.data-table-heading h2,
.data-table-heading p {
    margin: 0;
}

.data-table-heading h2 {
    color: #25292c;
    font-size: 16px;
}

.data-table-heading p {
    margin-top: 3px;
    color: #747d83;
    font-size: 11px;
    line-height: 1.4;
}

.database-table {
    min-width: 1020px;
    margin: 0;
}

.database-table th {
    padding: 10px 11px;
    background: #f5f6f7;
    color: #626b70;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.database-table td {
    padding: 11px;
    vertical-align: middle;
}

.database-table tbody tr:hover > td {
    background: #fffaf6;
}

.data-id {
    color: #90979c;
    font-family: ui-monospace, SFMono-Regular, Consolas, monospace;
    font-size: 10px;
    font-weight: 800;
}

.data-subline,
.data-price-line,
.data-dependency,
.data-date,
.data-visibility,
.data-list-name {
    display: block;
}

.data-subline,
.data-date,
.data-visibility {
    margin-top: 3px;
    color: #7c858b;
    font-size: 10px;
}

.data-machine-match-line {
    display: block;
    max-width: 380px;
    margin-top: 6px;
    padding: 5px 7px;
    border: 1px solid #f0bf9d;
    border-radius: 7px;
    background: #fff7f1;
    color: #8f431b;
    font-size: 9px;
    font-weight: 700;
    line-height: 1.35;
}

.data-machine-match-line b {
    color: #c2541c;
    font-weight: 900;
}

.data-price-line,
.data-dependency {
    color: #586168;
    font-size: 10px;
    line-height: 1.55;
    white-space: nowrap;
}

.data-status {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.data-status.active {
    background: #e9f6ee;
    color: #237247;
}

.data-status.inactive {
    background: #f0f1f2;
    color: #70787d;
}

.data-warning-badge,
.data-protected-note {
    display: inline-flex;
    align-items: center;
    margin-top: 5px;
    padding: 3px 7px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    white-space: nowrap;
}

.data-warning-badge {
    border: 1px solid #edab7f;
    background: #fff1e8;
    color: #ae4915;
    text-transform: uppercase;
}

.data-protected-note {
    border: 1px solid #d8dcde;
    background: #f4f5f6;
    color: #727b80;
}

.data-duplicate-row > td {
    background: #fffaf6;
}

.data-inactive-row {
    opacity: .76;
}

.data-row-actions,
.data-actions-cell {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

.inline-action-form {
    display: inline-flex;
    margin: 0;
}

.data-inline-edit-row {
    display: grid;
    grid-template-columns: minmax(190px, 1.5fr) 88px 125px minmax(155px, 1fr) 125px minmax(150px, auto);
    gap: 9px;
    align-items: center;
    width: 100%;
}

.lookup-inline-row {
    grid-template-columns: minmax(170px, 1.1fr) minmax(170px, 1fr) 82px 120px minmax(130px, .8fr) minmax(155px, auto);
}

.data-inline-cell {
    min-width: 0;
}

.data-inline-cell input[type="text"],
.data-inline-cell input:not([type]),
.data-inline-cell input[type="number"] {
    width: 100%;
    min-width: 0;
    padding: 8px 9px;
    font-size: 11px;
}

.data-order-cell input {
    max-width: 82px;
}

.data-active-check {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #5e676d;
    font-size: 10px;
    font-weight: 800;
}

.data-active-check input {
    width: auto;
}

.data-usage-cell,
.data-date-cell {
    color: #6e777c;
    font-size: 10px;
}

.data-list-name {
    margin-top: 3px;
    color: #33383b;
    font-size: 10px;
}

.data-delete-dialog {
    width: min(560px, calc(100vw - 28px));
    padding: 0;
    border: 0;
    border-radius: 15px;
    box-shadow: 0 24px 70px rgba(22, 25, 27, .28);
}

.data-delete-dialog::backdrop {
    background: rgba(20, 22, 24, .55);
}

.data-delete-dialog form {
    padding: 19px;
}

.data-dialog-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.data-dialog-head span {
    color: #c64e18;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.data-dialog-head h2 {
    margin: 4px 0 0;
    font-size: 19px;
}

.data-dialog-head > button {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 50%;
    background: #f1f2f3;
    color: #5a6368;
    font-size: 20px;
    cursor: pointer;
}

.data-delete-warning {
    margin: 15px 0;
    padding: 12px 13px;
    border: 1px solid #efb090;
    border-radius: 10px;
    background: #fff7f2;
    color: #70402a;
    font-size: 11px;
    line-height: 1.5;
}

.data-delete-dependencies {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.data-delete-dependencies span {
    padding: 10px;
    border: 1px solid #e1e4e6;
    border-radius: 9px;
    background: #f8f9f9;
    color: #657076;
    font-size: 10px;
    text-align: center;
}

.data-delete-dependencies b {
    display: block;
    margin-bottom: 2px;
    color: #24292c;
    font-size: 17px;
}

.data-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 17px;
}

.audit-action {
    display: inline-flex;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef0f1;
    color: #596168;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.audit-action.delete {
    background: #fdeceb;
    color: #ad342d;
}

.audit-action.update,
.audit-action.activate {
    background: #e8f5ed;
    color: #27714a;
}

.audit-action.deactivate {
    background: #fff4df;
    color: #8f5b12;
}

.audit-json {
    margin-top: 7px;
    color: #666f74;
    font-size: 10px;
}

.audit-json summary {
    color: #b74e18;
    cursor: pointer;
    font-weight: 800;
}

.audit-json pre {
    max-width: 520px;
    max-height: 170px;
    margin: 5px 0 8px;
    padding: 8px;
    overflow: auto;
    border-radius: 6px;
    background: #25292c;
    color: #e9eeee;
    font-size: 9px;
    white-space: pre-wrap;
    word-break: break-word;
}

@media (max-width: 1180px) {
    .data-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .data-filter-form {
        flex-wrap: wrap;
    }

    .data-result-count {
        margin-left: 0;
    }
}

@media (max-width: 720px) {
    .data-management-heading,
    .data-table-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .data-management-heading > .button,
    .data-table-heading > .button {
        width: 100%;
    }

    .data-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .data-summary-card {
        min-height: 92px;
    }

    .data-filter-form > * {
        width: 100%;
    }

    .data-filter-form select {
        width: 100%;
    }

    .data-search-wrap {
        flex-basis: 100%;
    }

    .data-inline-edit-row,
    .lookup-inline-row {
        grid-template-columns: 1fr;
        padding: 4px 0;
    }

    .data-order-cell input {
        max-width: none;
    }

    .data-actions-cell .button {
        flex: 1 1 auto;
    }

    .data-delete-dependencies {
        grid-template-columns: 1fr;
    }
}

.data-secondary-table-panel {
    margin-top: 12px;
}

.model-inline-row {
    grid-template-columns: minmax(170px, 1.15fr) minmax(125px, .85fr) minmax(145px, .9fr) 82px minmax(180px, 1fr) minmax(165px, auto);
}

.model-inline-row select {
    width: 100%;
    min-width: 0;
    padding: 8px 9px;
    font-size: 11px;
}

@media (max-width: 720px) {
    .model-inline-row {
        grid-template-columns: 1fr;
    }
}


/* Admin product picture hover preview and full-size viewer. */
.admin-product-image-trigger {
    display: inline-grid;
    place-items: center;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 9px;
    background: transparent;
    cursor: zoom-in;
}

.admin-product-image-trigger:focus-visible {
    outline: 3px solid rgba(232, 117, 40, .28);
    outline-offset: 3px;
}

.admin-product-image-trigger:hover .product-list-picture,
.admin-product-image-trigger:hover .data-product-picture {
    border-color: #e8792e;
    box-shadow: 0 4px 12px rgba(15, 23, 42, .14);
}

/* The same clean white hover preview is available throughout Partner ordering. */
.order-product-image-trigger,
.order-dialog-image-trigger,
.machine-addon-image-trigger {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: inherit;
    background: #fff;
    cursor: zoom-in;
}

.order-product-image-trigger:focus-visible,
.order-dialog-image-trigger:focus-visible,
.machine-addon-image-trigger:focus-visible {
    outline: 3px solid rgba(232, 117, 40, .28);
    outline-offset: -3px;
}

.order-product-image-trigger:hover,
.order-dialog-image-trigger:hover,
.machine-addon-image-trigger:hover {
    box-shadow: inset 0 0 0 2px rgba(232, 117, 40, .72);
}

.order-product-image-trigger img,
.order-dialog-image-trigger img,
.machine-addon-image-trigger img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.order-product-img,
.machine-addon-item-image {
    background: #fff;
}

.admin-image-preview-canvas,
.admin-image-lightbox-canvas,
.data-product-picture,
.product-list-picture {
    background: #fff;
}

.admin-image-hover-preview {
    position: fixed;
    z-index: 2600;
    padding: 10px;
    border: 1px solid #cfd7e2;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 22px 55px rgba(15, 23, 42, .25);
    pointer-events: none;
}

.admin-image-hover-preview[hidden] {
    display: none;
}

/* Allow the delegated hover card to sit above an already-open order dialog. */
dialog.has-image-hover-preview {
    overflow: visible;
}

.admin-image-preview-canvas {
    display: grid;
    place-items: center;
    width: 100%;
    height: min(390px, calc(100vh - 96px));
    min-height: 240px;
    padding: 10px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    background: #fff;
}

.admin-image-preview-canvas img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

.admin-image-hover-preview > span {
    display: block;
    padding: 8px 4px 1px;
    color: #5d6879;
    font-size: 11px;
    font-weight: 800;
    text-align: center;
}

.admin-image-lightbox {
    width: min(920px, calc(100vw - 28px));
    max-width: 920px;
    max-height: calc(100vh - 28px);
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: transparent;
    overflow: visible;
}

.admin-image-lightbox::backdrop {
    background: rgba(8, 15, 28, .82);
    backdrop-filter: blur(3px);
}

.admin-image-lightbox-shell {
    position: relative;
    display: grid;
    gap: 10px;
    padding: 16px;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(0, 0, 0, .38);
}

.admin-image-lightbox-close {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 2;
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    padding: 0;
    border: 1px solid #d6dde7;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    color: #172033;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
}

.admin-image-lightbox-canvas {
    display: grid;
    place-items: center;
    height: min(78vh, 760px);
    min-height: 320px;
    padding: 14px;
    overflow: hidden;
    border: 1px solid #e2e8f0;
    border-radius: 13px;
    background: #fff;
    outline: none;
}

.admin-image-lightbox-canvas.is-gallery {
    cursor: pointer;
}

.admin-image-lightbox-canvas img {
    display: block;
    width: auto !important;
    height: auto !important;
    max-width: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: center !important;
}

.admin-image-lightbox-footer {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding: 0 48px;
}

.admin-image-lightbox-title {
    overflow: hidden;
    color: #273246;
    font-size: 14px;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.admin-image-lightbox-counter {
    flex: 0 0 auto;
    padding: 4px 9px;
    border-radius: 999px;
    color: #5b6574;
    background: #eef2f6;
    font-size: 12px;
    font-weight: 850;
}

.admin-image-lightbox-nav {
    position: absolute;
    top: 50%;
    z-index: 3;
    display: grid;
    width: 46px;
    height: 46px;
    place-items: center;
    padding: 0;
    border: 1px solid #d6dde7;
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    color: #172033;
    box-shadow: 0 8px 24px rgba(15, 23, 42, .18);
    cursor: pointer;
    font-size: 34px;
    line-height: 1;
    transform: translateY(-50%);
}

.admin-image-lightbox-nav:hover {
    border-color: #e97818;
    color: #d86208;
}

.admin-image-lightbox-nav[hidden] {
    display: none;
}

.admin-image-lightbox-prev {
    left: 24px;
}

.admin-image-lightbox-next {
    right: 24px;
}

@media (max-width: 620px) {
    .admin-image-hover-preview {
        display: none !important;
    }

    .admin-image-lightbox-shell {
        padding: 10px;
    }

    .admin-image-lightbox-canvas {
        height: min(72vh, 620px);
        min-height: 260px;
        padding: 8px;
    }

    .admin-image-lightbox-nav {
        width: 40px;
        height: 40px;
        font-size: 29px;
    }

    .admin-image-lightbox-prev {
        left: 16px;
    }

    .admin-image-lightbox-next {
        right: 16px;
    }

    .admin-image-lightbox-footer {
        padding: 0 10px;
    }
}

.data-product-picture-cell {
    width: 78px;
    text-align: center;
}

.data-product-picture {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 48px;
    object-fit: contain;
    border: 1px solid #dce1e8;
    border-radius: 8px;
}

.data-product-picture-placeholder {
    color: #8b95a3;
    font-size: 21px;
}

/* Partner New Order quantity selection before an item enters the basket. */
.order-quantity-dialog {
    width: min(540px, calc(100vw - 24px));
    max-width: 540px;
    padding: 0;
    border: 0;
    border-radius: 18px;
    background: #fff;
    color: #172033;
    box-shadow: 0 28px 85px rgba(15, 23, 42, .3);
    overflow: hidden;
}

.order-quantity-dialog::backdrop {
    background: rgba(15, 23, 42, .62);
    backdrop-filter: blur(3px);
}

.order-quantity-dialog-shell {
    display: grid;
    background: #fff;
}

.order-quantity-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px 16px;
    border-bottom: 1px solid #e2e8f0;
}

.order-quantity-dialog-header span {
    display: block;
    margin-bottom: 4px;
    color: #c65313;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.order-quantity-dialog-header h2 {
    margin: 0;
    color: #172033;
    font-size: 24px;
}

.order-quantity-product {
    display: grid;
    grid-template-columns: 102px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    margin: 18px 22px 0;
    padding: 14px;
    border: 1px solid #dfe5ed;
    border-radius: 14px;
    background: #f8fafc;
}

.order-quantity-product-image {
    display: grid;
    place-items: center;
    width: 102px;
    height: 88px;
    overflow: hidden;
    border: 1px solid #dbe3ec;
    border-radius: 11px;
    background: #fff;
    color: #8b95a3;
    font-size: 11px;
    text-align: center;
}

.order-quantity-product-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.order-quantity-product-copy {
    min-width: 0;
}

.order-quantity-product-copy > strong {
    display: block;
    overflow: hidden;
    color: #172033;
    font-size: 18px;
    line-height: 1.25;
    text-overflow: ellipsis;
}

.order-quantity-product-copy > span {
    display: block;
    margin-top: 4px;
    color: #64748b;
    font-size: 12px;
    font-weight: 800;
}

.order-quantity-product-copy > p {
    display: -webkit-box;
    margin: 7px 0 0;
    overflow: hidden;
    color: #64748b;
    font-size: 12px;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.order-quantity-price {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-top: 9px;
}

.order-quantity-price span {
    color: #64748b;
    font-size: 11px;
    font-weight: 800;
}

.order-quantity-price strong {
    color: #172033;
    font-size: 16px;
}

.order-quantity-price strong.price-on-request {
    color: #a44712;
    font-size: 13px;
}

.order-quantity-control {
    display: grid;
    justify-items: center;
    gap: 11px;
    padding: 24px 22px 22px;
}

.order-quantity-control > label {
    color: #273246;
    font-size: 13px;
    font-weight: 900;
}

.order-quantity-stepper {
    display: grid;
    grid-template-columns: 48px 94px 48px;
    align-items: stretch;
    overflow: hidden;
    border: 1px solid #cfd7e2;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(15, 23, 42, .08);
}

.order-quantity-stepper button {
    border: 0;
    background: #f1f4f8;
    color: #172033;
    cursor: pointer;
    font-size: 24px;
    font-weight: 800;
}

.order-quantity-stepper button:hover {
    background: #fff1e7;
    color: #b54a10;
}

.order-quantity-stepper input {
    min-width: 0;
    height: 50px;
    padding: 8px;
    border: 0;
    border-right: 1px solid #dce2ea;
    border-left: 1px solid #dce2ea;
    border-radius: 0;
    background: #fff;
    color: #172033;
    font-size: 19px;
    font-weight: 900;
    text-align: center;
    -moz-appearance: textfield;
}

.order-quantity-stepper input::-webkit-outer-spin-button,
.order-quantity-stepper input::-webkit-inner-spin-button {
    margin: 0;
    -webkit-appearance: none;
}

.order-quantity-existing {
    color: #64748b;
    font-size: 12px;
}

.order-quantity-existing strong {
    color: #172033;
}

.order-quantity-dialog-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 15px 22px 20px;
    border-top: 1px solid #e2e8f0;
    background: #f8fafc;
}

.order-added-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 2700;
    max-width: min(430px, calc(100vw - 32px));
    padding: 13px 17px;
    border: 1px solid #9fd2ac;
    border-radius: 12px;
    background: #f1fbf4;
    color: #174326;
    box-shadow: 0 16px 42px rgba(15, 23, 42, .22);
    font-size: 13px;
    font-weight: 850;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity .18s ease, transform .18s ease;
}

.order-added-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 560px) {
    .order-quantity-dialog {
        width: calc(100vw - 12px);
        border-radius: 15px;
    }

    .order-quantity-product {
        grid-template-columns: 82px minmax(0, 1fr);
        margin-right: 14px;
        margin-left: 14px;
        padding: 11px;
    }

    .order-quantity-product-image {
        width: 82px;
        height: 76px;
    }

    .order-quantity-dialog-header,
    .order-quantity-control,
    .order-quantity-dialog-actions {
        padding-right: 16px;
        padding-left: 16px;
    }

    .order-quantity-dialog-actions {
        flex-direction: column-reverse;
    }

    .order-quantity-dialog-actions .button {
        width: 100%;
    }

    .admin-image-lightbox {
        width: calc(100vw - 12px);
    }

    .admin-image-lightbox-shell {
        padding: 10px;
    }

    .admin-image-lightbox-canvas {
        height: 72vh;
    }
}

/* Machine specifications: standard document processor and supported paper weight */
.product-simple-page .simple-type-grid .field-block.wide.machine-spec-subsection {
    grid-column: 1 / -1;
    width: 100%;
    max-width: none;
    margin-top: 4px;
    padding: 16px;
    border: 1px solid #dbe2ea;
    border-radius: 14px;
    background: #fff;
    box-shadow: inset 4px 0 0 #e97818;
}

.machine-spec-subsection-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid #e8edf2;
}

.machine-spec-subsection-heading span {
    display: block;
    margin-bottom: 3px;
    color: #c45b0b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .09em;
    text-transform: uppercase;
}

.machine-spec-subsection-heading h3 {
    margin: 0;
    color: #172033;
    font-size: 17px;
}

.machine-spec-subsection-heading p {
    max-width: 760px;
    margin: 5px 0 0;
    color: #667085;
    font-size: 12px;
    line-height: 1.45;
}

.machine-spec-subsection-grid,
.document-processor-spec-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px 14px;
    align-items: end;
}

.product-simple-page .machine-spec-subsection .field-block {
    width: auto;
    max-width: none;
    min-width: 0;
    flex: unset;
}

.document-processor-status-field {
    grid-column: 1 / -1;
    max-width: 620px !important;
}

.standard-document-processor-fields {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px dashed #d7dde5;
}

.standard-document-processor-fields[hidden] {
    display: none !important;
}

.document-processor-notes-field {
    grid-column: 1 / -1 !important;
}

.machine-unit-input {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid #ccd3dc;
    border-radius: 9px;
    background: #fff;
}

.machine-unit-input:focus-within {
    border-color: #e97818;
    box-shadow: 0 0 0 3px rgba(233, 120, 24, .12);
}

.product-simple-page .machine-unit-input input {
    min-height: 36px;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.machine-unit-input span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    padding: 0 10px;
    border-left: 1px solid #e1e6ec;
    background: #f5f7fa;
    color: #526071;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.paper-weight-range-grid {
    display: grid;
    gap: 9px;
}

.paper-weight-range-row {
    display: grid;
    grid-template-columns: minmax(150px, .8fr) repeat(2, minmax(180px, 1fr));
    gap: 12px;
    align-items: end;
    padding: 11px 12px;
    border: 1px solid #e4e8ee;
    border-radius: 11px;
    background: #f8fafc;
}

.paper-weight-range-row > strong {
    align-self: center;
    color: #243044;
    font-size: 13px;
}

.paper-weight-range-row > label {
    display: grid;
    gap: 5px;
    color: #667085;
    font-size: 10px;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.order-machine-spec-summary {
    display: grid;
    gap: 5px;
    margin-top: 8px;
    padding: 9px 11px;
    border: 1px solid #e7ebf0;
    border-radius: 9px;
    background: #f8fafc;
    color: #4a5568;
    font-size: 12px;
    line-height: 1.4;
}

.order-machine-spec-summary strong {
    color: #263247;
}

.machine-addon-selected-machine-details {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 8px;
    margin-top: 5px;
}

.machine-addon-selected-machine-details[hidden] {
    display: none !important;
}

.machine-addon-selected-machine-details span {
    display: inline-flex;
    padding: 4px 7px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    background: #fff7ed;
    color: #9a4410;
    font-size: 11px;
    font-weight: 750;
}

@media (max-width: 920px) {
    .machine-spec-subsection-grid,
    .document-processor-spec-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .paper-weight-range-row {
        grid-template-columns: 1fr 1fr;
    }

    .paper-weight-range-row > strong {
        grid-column: 1 / -1;
    }
}

@media (max-width: 620px) {
    .machine-spec-subsection-grid,
    .document-processor-spec-grid,
    .paper-weight-range-row {
        grid-template-columns: 1fr;
    }

    .document-processor-status-field,
    .document-processor-notes-field,
    .paper-weight-range-row > strong {
        grid-column: auto !important;
    }
}

/* Partner-only compatible consumables on public machine detail pages. */
.rds-compatible-consumables-section {
    margin-top: 34px !important;
    padding-top: 28px !important;
    border-top: 1px solid #dde2e8 !important;
}

.rds-compatible-consumables-section .rds-compatible-accessories-heading > div > span {
    color: #b65300;
}

.rds-compatible-consumable-image {
    background: #fff;
}

.rds-compatible-consumable-badges .rds-compatible-consumable-colour {
    color: #315d70;
    background: #eaf5f8;
}

.rds-compatible-consumable-note {
    margin: 9px 0 0;
    padding: 9px 10px;
    border-radius: 8px;
    color: #6b4a23;
    background: #fff7ed;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.45;
}

/* Compact public/partner machine configurator: optional accessories + partner consumables. */
.rds-machine-configurator {
    width: min(100%, 1180px);
    margin: 24px auto 12px;
    padding: 22px;
    border: 1px solid #dde2e8;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(22, 31, 45, .045);
}

.rds-machine-configurator-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 20px;
}

.rds-machine-configurator-heading > div > span {
    color: #e66e0b;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .075em;
    text-transform: uppercase;
}

.rds-machine-configurator-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 5px;
}

.rds-machine-configurator-title-row h2 {
    margin: 0;
    color: #202735;
    font-size: 23px;
    line-height: 1.15;
}

.rds-machine-configurator-title-row b {
    min-width: 27px;
    height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border-radius: 999px;
    color: #9b4a08;
    background: #fff0e3;
    font-size: 11px;
    font-weight: 900;
}

.rds-machine-configurator-heading p {
    margin: 7px 0 0;
    color: #747d89;
    font-size: 12px;
    line-height: 1.5;
}

.rds-machine-configurator-heading p strong {
    color: #4a5360;
}

.rds-standard-equipment-banner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-top: 18px;
    padding: 14px 16px;
    border: 1px solid #bfe2cf;
    border-radius: 12px;
    background: #f0faf5;
}

.rds-standard-equipment-icon {
    width: 30px;
    height: 30px;
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    color: #fff;
    background: #2f8a5e;
}

.rds-standard-equipment-icon svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rds-standard-equipment-banner strong {
    display: block;
    color: #225f43;
    font-size: 13px;
    font-weight: 900;
}

.rds-standard-equipment-banner p,
.rds-standard-equipment-banner small {
    display: block;
    margin: 4px 0 0;
    color: #4b6d5c;
    font-size: 11px;
    line-height: 1.45;
}

.rds-machine-configurator-tabs {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 18px;
    padding: 5px;
    border: 1px solid #e0e5ea;
    border-radius: 12px;
    background: #f4f6f8;
}

.rds-machine-configurator-tabs button {
    min-height: 42px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    padding: 8px 14px;
    border: 0;
    border-radius: 9px;
    color: #596270;
    background: transparent;
    font: inherit;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    transition: color .15s ease, background-color .15s ease, box-shadow .15s ease;
}

.rds-machine-configurator-tabs button b {
    min-width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border-radius: 999px;
    color: #6d7580;
    background: #e5e9ed;
    font-size: 10px;
}

.rds-machine-configurator-tabs button.active {
    color: #fff;
    background: #19202a;
    box-shadow: 0 5px 13px rgba(20, 27, 37, .14);
}

.rds-machine-configurator-tabs button.active b {
    color: #fff;
    background: #e66e0b;
}

.rds-machine-configurator-panel {
    margin-top: 18px;
}

.rds-machine-configurator-panel[hidden],
.rds-configurator-accessory-card[hidden] {
    display: none !important;
}

.rds-configurator-panel-intro {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 13px;
}

.rds-configurator-panel-intro h3 {
    margin: 0;
    color: #293240;
    font-size: 16px;
    line-height: 1.2;
}

.rds-configurator-panel-intro p {
    margin: 4px 0 0;
    color: #7a8390;
    font-size: 11px;
    line-height: 1.45;
}

.rds-configurator-category-filters {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 6px;
}

.rds-configurator-category-filters button {
    min-height: 31px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 6px 10px;
    border: 1px solid #dce1e6;
    border-radius: 999px;
    color: #616a77;
    background: #f6f8fa;
    font: inherit;
    font-size: 10px;
    font-weight: 850;
    cursor: pointer;
}

.rds-configurator-category-filters button span {
    min-width: 18px;
    height: 18px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    border-radius: 999px;
    color: #6d7580;
    background: #e7ebef;
    font-size: 9px;
}

.rds-configurator-category-filters button.active {
    color: #a64b05;
    border-color: #f0a066;
    background: #fff5ec;
}

.rds-configurator-category-filters button.active span {
    color: #fff;
    background: #e66e0b;
}

.rds-configurator-accessory-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.rds-configurator-accessory-card {
    min-width: 0;
    display: grid;
    grid-template-rows: 112px minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid #e1e5ea;
    border-radius: 13px;
    background: #fff;
    transition: transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.rds-configurator-accessory-card:hover {
    transform: translateY(-2px);
    border-color: #cfd6dd;
    box-shadow: 0 9px 22px rgba(23, 32, 51, .07);
}

.rds-configurator-accessory-image {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 11px;
    border-bottom: 1px solid #edf0f3;
    background: #fff;
}

.rds-configurator-accessory-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rds-configurator-accessory-content {
    min-width: 0;
    padding: 11px 13px 10px;
}

.rds-configurator-accessory-meta {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 6px;
    overflow: hidden;
    color: #6a7482;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.2;
    letter-spacing: .035em;
    text-transform: uppercase;
    white-space: nowrap;
}

.rds-configurator-accessory-meta > span:not(.rds-configurator-accessory-meta-separator) {
    overflow: hidden;
    text-overflow: ellipsis;
}

.rds-configurator-accessory-code-text {
    flex: 0 0 auto;
    color: #c35a08;
}

.rds-configurator-accessory-meta-separator {
    flex: 0 0 auto;
    color: #aeb5bf;
    font-size: 11px;
}

.rds-configurator-accessory-content h4 {
    margin: 5px 0 0;
    color: #252d39;
    font-size: 14px;
    line-height: 1.28;
}

.rds-configurator-detail-stack {
    display: flex;
    min-width: 0;
    flex-direction: column;
}

.rds-configurator-detail-stack > .rds-configurator-card-detail-preview {
    order: 1;
}

.rds-configurator-detail-stack > .rds-configurator-details {
    order: 2;
}

.rds-configurator-detail-stack > .rds-configurator-details[open] + .rds-configurator-card-detail-preview {
    display: none;
}

.rds-configurator-card-detail-preview {
    display: flex;
    max-height: 64px;
    overflow: hidden;
    margin-top: 8px;
    flex-direction: column;
    gap: 3px;
    color: #273241;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1.45;
}

.rds-configurator-detail-row {
    min-width: 0;
    color: #273241;
}

.rds-configurator-detail-row strong {
    color: #182334;
    font-weight: 800;
}

.rds-configurator-detail-row span {
    overflow-wrap: anywhere;
}

.rds-configurator-details {
    margin-top: 8px;
    color: #273241;
    font-size: 13px;
    line-height: 1.52;
}

.rds-configurator-details summary {
    width: fit-content;
    color: #b65300;
    font-size: 12px;
    font-weight: 900;
    cursor: pointer;
    list-style-position: inside;
}

.rds-configurator-details[open] {
    padding: 10px 12px 11px;
    border: 1px solid #dfe5eb;
    border-radius: 9px;
    background: #fff;
    box-shadow: 0 3px 10px rgba(22, 31, 45, .045);
}

.rds-configurator-details[open] summary {
    margin-bottom: 8px;
}

.rds-configurator-detail-list {
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding-top: 8px;
    border-top: 1px solid #edf0f3;
}

.rds-configurator-card-footer {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 9px;
    padding: 9px 12px 11px;
    border-top: 1px solid #edf0f3;
    background: #fbfcfd;
}

.rds-configurator-card-footer .rds-compatible-accessory-add {
    min-height: 34px;
    padding: 7px 10px;
}

.rds-configurator-public-note {
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin-top: 13px;
    padding: 11px 13px;
    border: 1px solid #f1d7c1;
    border-radius: 10px;
    color: #79502d;
    background: #fff9f4;
    font-size: 10px;
    font-weight: 700;
    line-height: 1.45;
}

.rds-configurator-public-note svg {
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    color: #df6c13;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}


.rds-configurator-consumable-layout {
    display: grid;
    gap: 16px;
}

.rds-configurator-toner-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
    gap: 12px;
}

.rds-configurator-toner-columns.is-single-column {
    grid-template-columns: minmax(0, 1fr);
}

.rds-configurator-consumable-group {
    min-width: 0;
}

.rds-configurator-toner-columns .rds-configurator-consumable-group {
    padding: 10px;
    border: 1px solid #e1e5ea;
    border-radius: 14px;
    background: #f8fafc;
}

.rds-configurator-consumable-group.is-original-toners {
    border-top: 3px solid #2c7a4b;
}

.rds-configurator-consumable-group.is-compatible-toners {
    border-top: 3px solid #4b5563;
}

.rds-configurator-consumable-group-heading {
    min-height: 42px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 9px;
    padding: 0 2px;
}

.rds-configurator-consumable-group-heading span {
    display: block;
    margin-bottom: 2px;
    color: #7b8797;
    font-size: 9px;
    font-weight: 850;
    letter-spacing: .08em;
    line-height: 1.2;
    text-transform: uppercase;
}

.rds-configurator-consumable-group-heading h4 {
    margin: 0;
    color: #1f2937;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.25;
}

.rds-configurator-consumable-group.is-original-toners .rds-configurator-consumable-group-heading h4 {
    color: #237447;
}

.rds-configurator-consumable-group.is-compatible-toners .rds-configurator-consumable-group-heading h4 {
    color: #3f4752;
}

.rds-configurator-consumable-group-heading > b {
    min-width: 28px;
    height: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border: 1px solid #dfe4ea;
    border-radius: 999px;
    color: #4b5563;
    background: #fff;
    font-size: 11px;
    font-weight: 850;
}

.rds-configurator-consumable-group-order {
    display: flex;
    align-items: center;
    gap: 4px;
}

.rds-configurator-consumable-group-order i {
    width: 20px;
    height: 20px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 10px;
    font-style: normal;
    font-weight: 900;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .08);
}

.rds-configurator-consumable-group-order .is-k {
    color: #fff;
    background: #111827;
}

.rds-configurator-consumable-group-order .is-c {
    color: #fff;
    background: #00a7d8;
}

.rds-configurator-consumable-group-order .is-m {
    color: #fff;
    background: #d1007f;
}

.rds-configurator-consumable-group-order .is-y {
    color: #111827;
    background: #ffd400;
}

.rds-configurator-consumable-stack {
    display: grid;
    gap: 10px;
}

.rds-configurator-consumable-group.is-other-consumables {
    padding-top: 2px;
}

.rds-configurator-consumable-group.is-other-consumables .rds-configurator-consumable-group-heading {
    margin-bottom: 8px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e6eaf0;
}

.rds-configurator-consumable-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.rds-configurator-consumable-row {
    min-width: 0;
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) auto;
    align-items: center;
    gap: 11px;
    padding: 10px;
    border: 1px solid #e1e5ea;
    border-radius: 12px;
    background: #fff;
    transition: border-color .15s ease, box-shadow .15s ease;
}

.rds-configurator-consumable-row:hover {
    border-color: #cfd6dd;
    box-shadow: 0 7px 18px rgba(23, 32, 51, .055);
}

.rds-configurator-consumable-image {
    height: 72px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 7px;
    border: 1px solid #edf0f3;
    border-radius: 9px;
    background: #fff;
}

.rds-configurator-consumable-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rds-configurator-consumable-image .rds-compatible-accessory-placeholder {
    width: 48px;
    height: 48px;
    border-radius: 11px;
}

.rds-configurator-consumable-content {
    min-width: 0;
}

.rds-configurator-consumable-content h4 {
    margin: 2px 0 0;
    color: #252d39;
    font-size: 13px;
    line-height: 1.28;
}

.rds-configurator-consumable-summary {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 0;
}

.rds-configurator-consumable-summary-segment {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.rds-configurator-consumable-quality {
    font-weight: 850;
}

.rds-configurator-consumable-quality.is-original {
    color: #237447;
}

.rds-configurator-consumable-quality.is-compatible {
    color: #4b5563;
}

.rds-configurator-consumable-quality.is-other {
    color: #596271;
}

.rds-configurator-consumable-summary-segment + .rds-configurator-consumable-summary-segment::before {
    content: "•";
    margin: 0 7px 0 5px;
    color: #8a95a3;
    font-weight: 700;
}

.rds-consumable-colour-letter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    flex: 0 0 20px;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .08);
}

.rds-consumable-colour-letter.is-k {
    color: #fff;
    background: #111827;
}

.rds-consumable-colour-letter.is-c {
    color: #fff;
    background: #00a7d8;
}

.rds-consumable-colour-letter.is-m {
    color: #fff;
    background: #d1007f;
}

.rds-consumable-colour-letter.is-y {
    color: #111827;
    background: #ffd400;
}

.rds-consumable-colour-letter.is-default {
    color: #334155;
    background: #e2e8f0;
}

.rds-configurator-consumable-content p,
.rds-configurator-consumable-content small {
    display: -webkit-box;
    overflow: hidden;
    margin: 5px 0 0;
    color: #445062;
    font-size: 11.5px;
    line-height: 1.5;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.rds-configurator-consumable-content .rds-configurator-consumable-summary {
    display: flex;
    overflow: visible;
    margin: 5px 0 0;
    color: #4a5568;
    font-weight: 650;
    line-height: 1.5;
    -webkit-box-orient: initial;
    -webkit-line-clamp: initial;
}

.rds-configurator-consumable-content small {
    -webkit-line-clamp: 2;
}

.rds-configurator-consumable-content .rds-configurator-consumable-note {
    color: #8a5c2d;
    font-weight: 750;
}

.rds-configurator-consumable-actions {
    min-width: 116px;
    display: grid;
    justify-items: end;
    gap: 8px;
}

.rds-configurator-consumable-actions .rds-compatible-accessory-price {
    justify-items: end;
    text-align: right;
}

.rds-configurator-consumable-actions .rds-compatible-accessory-add {
    min-height: 33px;
    padding: 7px 10px;
}

@media (max-width: 1050px) {
    .rds-configurator-accessory-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .rds-configurator-consumable-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 900px) {
    .rds-configurator-toner-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .rds-machine-configurator {
        padding: 17px;
    }

    .rds-machine-configurator-heading,
    .rds-configurator-panel-intro {
        align-items: flex-start;
        flex-direction: column;
    }

    .rds-machine-configurator-tabs {
        grid-template-columns: 1fr;
    }

    .rds-configurator-category-filters {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 3px;
    }

    .rds-configurator-category-filters button {
        flex: 0 0 auto;
    }
}

@media (max-width: 620px) {
    .rds-configurator-accessory-grid {
        grid-template-columns: 1fr;
    }

    .rds-configurator-accessory-card {
        grid-template-columns: 104px minmax(0, 1fr);
        grid-template-rows: minmax(0, 1fr) auto;
    }

    .rds-configurator-accessory-image {
        grid-row: 1 / span 2;
        min-height: 150px;
        border-right: 1px solid #edf0f3;
        border-bottom: 0;
    }

    .rds-configurator-consumable-row {
        grid-template-columns: 66px minmax(0, 1fr);
    }

    .rds-configurator-consumable-image {
        height: 62px;
    }

    .rds-configurator-consumable-actions {
        grid-column: 1 / -1;
        min-width: 0;
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        padding-top: 8px;
        border-top: 1px solid #edf0f3;
    }

    .rds-configurator-consumable-actions .rds-compatible-accessory-price {
        justify-items: start;
        text-align: left;
    }
}

@media (max-width: 430px) {
    .rds-configurator-accessory-card {
        grid-template-columns: 1fr;
        grid-template-rows: 112px minmax(0, 1fr) auto;
    }

    .rds-configurator-accessory-image {
        grid-row: auto;
        min-height: 0;
        border-right: 0;
        border-bottom: 1px solid #edf0f3;
    }

    .rds-configurator-card-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .rds-configurator-card-footer .rds-compatible-accessory-add {
        width: 100%;
    }
}


/* Machine configurator: no-layout image zoom triggers and stable in-page filtering. */
.rds-machine-configurator {
    overflow-anchor: none;
}

.rds-machine-configurator-tabs,
.rds-configurator-category-filters,
.rds-machine-configurator-panel,
.rds-configurator-accessory-grid {
    overflow-anchor: none;
}

.rds-configurator-image-trigger {
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: inherit;
    background: #fff;
    cursor: zoom-in;
}

.rds-configurator-image-trigger:focus-visible {
    outline: 3px solid rgba(232, 117, 40, .3);
    outline-offset: -3px;
}

.rds-configurator-image-trigger:hover {
    box-shadow: inset 0 0 0 2px rgba(232, 117, 40, .72);
}

.rds-configurator-image-count {
    position: absolute;
    right: 7px;
    bottom: 7px;
    z-index: 3;
    display: inline-flex;
    min-width: 25px;
    height: 25px;
    align-items: center;
    justify-content: center;
    padding: 0 7px;
    border: 2px solid #fff;
    border-radius: 999px;
    color: #fff;
    background: rgba(24, 31, 42, .86);
    box-shadow: 0 3px 9px rgba(15, 23, 42, .2);
    font-size: 11px;
    font-weight: 900;
    line-height: 1;
    pointer-events: none;
}

.rds-configurator-image-trigger img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Machine configurator thumbnail containment fix.
   Keep source thumbnails inside their compact media cells; enlargement remains
   exclusively in the shared floating hover preview / full-size lightbox. */
.rds-configurator-accessory-image,
.rds-configurator-consumable-image {
    position: relative;
    min-width: 0;
    min-height: 0;
    overflow: hidden;
    isolation: isolate;
}

.rds-configurator-accessory-image .rds-configurator-image-trigger,
.rds-configurator-consumable-image .rds-configurator-image-trigger {
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: 100%;
    overflow: hidden;
    contain: layout paint;
}

.rds-configurator-accessory-image .rds-configurator-image-trigger img,
.rds-configurator-consumable-image .rds-configurator-image-trigger img {
    display: block;
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    object-position: center;
    flex: 0 0 auto;
}

@media (min-width: 621px) {
    .rds-configurator-accessory-image {
        box-sizing: border-box;
        height: 112px;
        min-height: 112px;
        max-height: 112px;
    }
}

@media (max-width: 430px) {
    .rds-configurator-accessory-image {
        box-sizing: border-box;
        height: 112px;
        min-height: 112px;
        max-height: 112px;
    }
}

/* Machine configurator source-thumbnail scaling fix.
   The previous max-width/max-height containment depended on a percentage-height
   flex/grid chain and could leave large source images at their intrinsic size,
   where the media cell then clipped the lower/right parts. Give the preview
   trigger an explicit inset box and make the image fill that box with
   object-fit: contain so the entire product is always visible. */
.rds-configurator-accessory-image,
.rds-configurator-consumable-image {
    box-sizing: border-box;
    padding: 0;
}

.rds-configurator-accessory-image .rds-configurator-image-trigger,
.rds-configurator-consumable-image .rds-configurator-image-trigger {
    position: absolute;
    inset: 10px;
    width: auto;
    height: auto;
    min-width: 0;
    min-height: 0;
    max-width: none;
    max-height: none;
    overflow: hidden;
    contain: none;
}

.rds-configurator-accessory-image .rds-configurator-image-trigger img,
.rds-configurator-consumable-image .rds-configurator-image-trigger img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: center;
}

/* Keep non-image placeholders centred with the same visual breathing room. */
.rds-configurator-accessory-image > .rds-compatible-accessory-placeholder,
.rds-configurator-consumable-image > .rds-compatible-accessory-placeholder {
    margin: auto;
}

/* =========================================================
   Public Monthly Special Offer + Settings editor
   ========================================================= */
.monthly-special-settings-form {
    max-width: 1080px;
    border-color: rgba(233, 120, 24, .38);
    box-shadow: 0 14px 32px rgba(233, 120, 24, .08);
}

.monthly-special-settings-heading {
    align-items: flex-start;
}

.monthly-special-admin-status {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin: -2px 0 18px;
    padding: 14px 16px;
    border: 1px solid #f2cfb0;
    border-radius: 13px;
    background: #fff8f1;
}

.monthly-special-enable-check,
.monthly-special-reopen-check {
    min-height: 42px;
    align-content: center;
}

.monthly-special-upload-block {
    grid-column: 1 / -1;
}

.monthly-special-current-image img {
    width: 148px;
    height: 100px;
    object-fit: contain;
    background: #fff;
}

.monthly-special-settings-grid [hidden] {
    display: none !important;
}

.monthly-special-dialog {
    width: min(930px, calc(100vw - 36px));
    max-width: 930px;
    max-height: min(760px, calc(100dvh - 36px));
    margin: auto;
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 34px 100px rgba(10, 17, 26, .38);
    color: #1c2530;
}

.monthly-special-dialog:not([open]) {
    display: none;
}

.monthly-special-dialog::backdrop {
    background: rgba(10, 16, 23, .72);
    backdrop-filter: blur(5px);
}

.monthly-special-layout {
    display: grid;
    grid-template-columns: minmax(330px, .92fr) minmax(390px, 1.08fr);
    min-height: 500px;
}

.monthly-special-media {
    position: relative;
    display: grid;
    place-items: center;
    min-width: 0;
    overflow: hidden;
    padding: 52px 34px 34px;
    background:
        radial-gradient(circle at 70% 22%, rgba(233, 120, 24, .25), transparent 30%),
        linear-gradient(145deg, #f5f6f8 0%, #e8ebef 55%, #dce1e6 100%);
}

.monthly-special-media::after {
    content: "";
    position: absolute;
    inset: auto 8% 7% 8%;
    height: 18%;
    border-radius: 50%;
    background: rgba(20, 29, 39, .13);
    filter: blur(18px);
}

.monthly-special-media img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: 100%;
    max-width: 390px;
    max-height: 380px;
    min-width: 0;
    object-fit: contain;
    object-position: center;
    filter: drop-shadow(0 18px 20px rgba(18, 27, 37, .2));
}

.monthly-special-discount {
    position: absolute;
    z-index: 3;
    top: 24px;
    left: 24px;
    max-width: calc(100% - 48px);
    padding: 9px 14px;
    border-radius: 999px;
    background: #e97818;
    color: #fff;
    box-shadow: 0 10px 20px rgba(233, 120, 24, .28);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .06em;
    line-height: 1.1;
    text-transform: uppercase;
}

.monthly-special-placeholder {
    position: relative;
    z-index: 1;
    display: grid;
    place-items: center;
    width: min(270px, 76%);
    aspect-ratio: 1;
    border: 1px solid rgba(74, 84, 96, .13);
    border-radius: 50%;
    background: rgba(255, 255, 255, .68);
}

.monthly-special-placeholder svg {
    width: 58%;
    fill: none;
    stroke: #7d8792;
    stroke-width: 4;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.monthly-special-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 62px 58px 48px;
    background: #fff;
}

.monthly-special-kicker {
    display: block;
    margin-bottom: 13px;
    color: #e97818;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .11em;
    line-height: 1.25;
    text-transform: uppercase;
}

.monthly-special-copy h2 {
    margin: 0;
    color: #111820;
    font-size: clamp(30px, 4vw, 48px);
    font-weight: 950;
    letter-spacing: -.045em;
    line-height: 1.02;
}

.monthly-special-copy > p {
    margin: 20px 0 0;
    color: #606b77;
    font-size: 16px;
    line-height: 1.65;
    white-space: pre-line;
}

.monthly-special-prices {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 10px 15px;
    margin-top: 25px;
}

.monthly-special-regular-price {
    color: #9098a1;
    font-size: 16px;
    font-weight: 750;
    text-decoration: line-through;
    text-decoration-thickness: 2px;
}

.monthly-special-prices strong {
    color: #151d26;
    font-size: clamp(24px, 3vw, 34px);
    font-weight: 950;
    line-height: 1.1;
}

.monthly-special-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-top: 30px;
}

.monthly-special-primary {
    min-height: 48px;
    padding: 13px 24px;
    border: 1px solid #e97818;
    border-radius: 10px;
    background: #e97818;
    color: #fff !important;
    box-shadow: 0 12px 24px rgba(233, 120, 24, .22);
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.monthly-special-primary:hover {
    border-color: #c95d08;
    background: #c95d08;
    transform: translateY(-1px);
}

.monthly-special-secondary {
    min-height: 46px;
    padding: 11px 16px;
    border: 0;
    background: transparent;
    color: #6c7681;
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
}

.monthly-special-secondary:hover {
    color: #151d26;
}

.monthly-special-close {
    position: absolute;
    z-index: 10;
    top: 16px;
    right: 16px;
    display: grid;
    place-items: center;
    width: 42px;
    height: 42px;
    padding: 0 0 3px;
    border: 1px solid rgba(17, 24, 32, .1);
    border-radius: 50%;
    background: rgba(255, 255, 255, .92);
    color: #202833;
    box-shadow: 0 7px 18px rgba(17, 24, 32, .12);
    cursor: pointer;
    font-size: 28px;
    font-weight: 400;
    line-height: 1;
}

.monthly-special-close:hover {
    background: #fff;
    color: #e97818;
}

.monthly-special-preview-ribbon {
    position: absolute;
    z-index: 9;
    top: 0;
    left: 50%;
    padding: 7px 15px;
    border-radius: 0 0 10px 10px;
    transform: translateX(-50%);
    background: #111820;
    color: #fff;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .1em;
}

.monthly-special-reopen {
    position: fixed;
    z-index: 800;
    right: 22px;
    bottom: 22px;
    display: flex;
    align-items: center;
    gap: 10px;
    max-width: calc(100vw - 44px);
    padding: 10px 16px 10px 10px;
    border: 1px solid rgba(233, 120, 24, .38);
    border-radius: 999px;
    background: #fff;
    color: #1b242e;
    box-shadow: 0 14px 34px rgba(18, 27, 37, .22);
    cursor: pointer;
}

.monthly-special-reopen[hidden] {
    display: none !important;
}

.monthly-special-reopen > span {
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border-radius: 50%;
    background: #e97818;
    color: #fff;
    font-size: 16px;
    font-weight: 950;
}

.monthly-special-reopen strong {
    overflow: hidden;
    font-size: 12px;
    font-weight: 950;
    letter-spacing: .02em;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.monthly-special-reopen:hover {
    border-color: #e97818;
    transform: translateY(-2px);
}

@media (max-width: 820px) {
    .monthly-special-admin-status,
    .monthly-special-settings-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .monthly-special-dialog {
        width: min(620px, calc(100vw - 24px));
        max-height: calc(100dvh - 24px);
        overflow: auto;
        border-radius: 19px;
    }

    .monthly-special-layout {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .monthly-special-media {
        min-height: 230px;
        max-height: 290px;
        padding: 42px 28px 24px;
    }

    .monthly-special-media img {
        max-width: 340px;
        max-height: 220px;
    }

    .monthly-special-copy {
        padding: 34px 30px 32px;
    }

    .monthly-special-copy h2 {
        font-size: clamp(28px, 8vw, 40px);
    }

    .monthly-special-close {
        position: fixed;
        top: max(18px, env(safe-area-inset-top));
        right: 18px;
    }
}

@media (max-width: 560px) {
    .monthly-special-dialog {
        width: calc(100vw - 16px);
        max-height: calc(100dvh - 16px);
        border-radius: 16px;
    }

    .monthly-special-media {
        min-height: 200px;
        max-height: 230px;
        padding: 38px 20px 18px;
    }

    .monthly-special-discount {
        top: 16px;
        left: 16px;
        max-width: calc(100% - 74px);
        padding: 8px 11px;
        font-size: 10px;
    }

    .monthly-special-copy {
        padding: 27px 22px 25px;
    }

    .monthly-special-copy > p {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.55;
    }

    .monthly-special-prices {
        margin-top: 19px;
    }

    .monthly-special-actions {
        display: grid;
        grid-template-columns: 1fr;
        margin-top: 23px;
    }

    .monthly-special-primary,
    .monthly-special-secondary {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

    .monthly-special-reopen {
        right: 12px;
        bottom: 12px;
        max-width: calc(100vw - 24px);
    }
}

/* Editable pictures for the five public homepage category cards */
.homepage-category-images-settings-form {
    border-color: rgba(17, 24, 39, .16);
    box-shadow: 0 10px 26px rgba(17, 24, 39, .045);
}

.homepage-category-admin-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.homepage-category-admin-card {
    min-width: 0;
    display: grid;
    align-content: start;
    gap: 11px;
    padding: 12px;
    border: 1px solid #dfe4ea;
    border-radius: 12px;
    background: #fbfcfd;
}

.homepage-category-admin-heading {
    min-height: 46px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
}

.homepage-category-admin-heading strong {
    color: #111827;
    font-size: 12px;
    line-height: 1.25;
}

.homepage-category-admin-heading span {
    flex: 0 0 auto;
    padding: 3px 7px;
    border-radius: 999px;
    color: #9a4b0d;
    background: #fff2e8;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
}

.homepage-category-admin-preview {
    height: 150px;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 8px;
    border: 1px solid #e5e7eb;
    border-radius: 9px;
    background: #fff;
}

.homepage-category-admin-preview img {
    width: 100%;
    height: 100%;
    min-width: 0;
    min-height: 0;
    object-fit: contain;
    object-position: center;
}

.homepage-category-admin-preview-source {
    position: relative;
    width: 100%;
    height: 100%;
    display: grid;
    place-items: center;
}

.homepage-category-admin-preview-source img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.homepage-category-admin-preview-source span {
    position: absolute;
    right: 5px;
    bottom: 5px;
    padding: 4px 7px;
    border-radius: 999px;
    color: #4b5563;
    background: rgba(238, 241, 244, .94);
    box-shadow: 0 2px 8px rgba(17, 24, 39, .08);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.homepage-category-auto-preview {
    display: grid;
    justify-items: center;
    gap: 7px;
    padding: 12px;
    color: #6b7280;
    text-align: center;
}

.homepage-category-auto-preview span {
    padding: 5px 9px;
    border-radius: 999px;
    color: #4b5563;
    background: #eef1f4;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.homepage-category-auto-preview small {
    font-size: 10px;
    line-height: 1.35;
}

.homepage-category-admin-card > label:not(.check) {
    display: grid;
    gap: 6px;
    color: #4b5563;
    font-size: 11px;
    font-weight: 800;
}

.homepage-category-admin-card input[type="file"] {
    min-width: 0;
    width: 100%;
    font-size: 10px;
}

.homepage-category-remove {
    align-items: flex-start !important;
    gap: 7px !important;
    color: #8a3d0a !important;
    font-size: 10px !important;
    font-weight: 750 !important;
    line-height: 1.35;
}

@media (max-width: 1380px) {
    .homepage-category-admin-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .homepage-category-admin-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 600px) {
    .homepage-category-admin-grid {
        grid-template-columns: 1fr;
    }

    .homepage-category-admin-preview {
        height: 190px;
    }
}


/* ============================================================
   RDS customer Downloads Library
   ============================================================ */
.downloads-public-page .page-shell {
    padding: 0;
    background: #f5f6f8;
}

.downloads-hero {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(360px, 420px);
    gap: clamp(32px, 4vw, 72px);
    align-items: center;
    width: 100%;
    min-width: 0;
    min-height: 360px;
    padding: clamp(50px, 4.5vw, 76px) clamp(28px, 5vw, 88px);
    color: #fff;
    background:
        radial-gradient(circle at 83% 36%, rgba(233, 120, 24, .3), transparent 26%),
        linear-gradient(135deg, #111722 0%, #222a36 58%, #151a22 100%);
}

.downloads-hero::after {
    content: "";
    position: absolute;
    right: -130px;
    bottom: -210px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 50%;
    box-shadow: 0 0 0 60px rgba(255, 255, 255, .025), 0 0 0 120px rgba(255, 255, 255, .018);
}

.downloads-hero-copy,
.downloads-hero-art {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.downloads-hero-copy {
    width: 100%;
    max-width: 820px;
}

.downloads-hero-copy > span,
.downloads-results-heading > div > span {
    display: inline-block;
    color: #e97818;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.downloads-hero-copy h1 {
    max-width: 760px;
    margin: 12px 0 16px;
    font-size: clamp(36px, 4.4vw, 64px);
    line-height: 1.02;
    letter-spacing: -.045em;
}

.downloads-hero-copy > p {
    max-width: 740px;
    margin: 0;
    color: #d7dbe1;
    font-size: 18px;
    line-height: 1.65;
}

.downloads-hero-facts {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.downloads-hero-facts span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 38px;
    padding: 8px 13px;
    border: 1px solid rgba(255, 255, 255, .13);
    border-radius: 999px;
    color: #e7e9ed;
    background: rgba(255, 255, 255, .055);
    font-size: 12px;
    font-weight: 700;
}

.downloads-hero-facts strong {
    color: #fff;
    font-size: 16px;
}

.downloads-hero-art {
    min-height: 230px;
}

.downloads-hero-folder {
    position: absolute;
    top: 26px;
    right: 46px;
    width: 230px;
    height: 150px;
    border-radius: 22px 22px 30px 30px;
    background: linear-gradient(155deg, #f6923d, #d66000);
    box-shadow: 0 30px 70px rgba(0, 0, 0, .32);
    transform: rotate(-4deg);
}

.downloads-hero-folder::before {
    content: "";
    position: absolute;
    top: -28px;
    left: 16px;
    width: 102px;
    height: 48px;
    border-radius: 16px 16px 0 0;
    background: #f6923d;
}

.downloads-hero-folder span {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: #fff;
    font-size: 78px;
    font-weight: 300;
    transform: rotate(4deg) translateY(-2px);
}

.downloads-hero-file {
    position: absolute;
    display: grid;
    place-items: center;
    width: 82px;
    height: 102px;
    border-radius: 13px;
    color: #171c25;
    background: #fff;
    box-shadow: 0 18px 36px rgba(0, 0, 0, .22);
    font-size: 17px;
    font-weight: 950;
    letter-spacing: .04em;
}

.downloads-hero-file::after {
    content: "";
    position: absolute;
    top: 13px;
    right: 13px;
    width: 20px;
    height: 20px;
    border-top: 2px solid #e97818;
    border-right: 2px solid #e97818;
}

.downloads-hero-file.one {
    top: 0;
    right: 16px;
    transform: rotate(10deg);
}

.downloads-hero-file.two {
    right: 264px;
    bottom: 4px;
    transform: rotate(-9deg);
}

.downloads-filter-shell {
    position: relative;
    z-index: 3;
    width: min(1380px, calc(100% - 56px));
    margin: -30px auto 34px;
    padding: 20px;
    border: 1px solid #dfe3e8;
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 45px rgba(17, 24, 39, .1);
}

.downloads-filter-grid {
    display: grid;
    grid-template-columns: minmax(240px, 1.55fr) repeat(5, minmax(135px, 1fr)) auto;
    gap: 12px;
    align-items: end;
}

.downloads-filter-grid label,
.download-admin-filter label,
.download-edit-grid label,
.download-source-card label,
.download-publishing-grid > label:not(.check) {
    display: grid;
    gap: 6px;
}

.downloads-filter-grid label > span,
.download-admin-filter label > span,
.download-edit-grid label > span,
.download-source-card label > span,
.download-publishing-grid > label:not(.check) > span {
    color: #4b5563;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .035em;
    text-transform: uppercase;
}

.downloads-filter-grid input,
.downloads-filter-grid select {
    min-height: 44px;
    border-color: #d8dde4;
    background: #fafbfc;
}

.downloads-filter-actions {
    display: flex;
    gap: 8px;
}

.downloads-filter-actions .button {
    min-height: 44px;
    white-space: nowrap;
}

.downloads-results-section,
.downloads-empty,
.downloads-help-strip {
    width: min(1380px, calc(100% - 56px));
    margin-left: auto;
    margin-right: auto;
}

.downloads-results-section {
    padding-bottom: 42px;
}

.downloads-results-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.downloads-results-heading h2 {
    margin: 4px 0 0;
    color: #151b25;
    font-size: 30px;
    letter-spacing: -.03em;
}

.downloads-results-heading p {
    margin: 0;
    color: #6b7280;
    font-size: 13px;
}

.downloads-results-heading p a {
    color: #d86208;
    font-weight: 850;
}

.downloads-card-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
}

.download-card {
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 72px minmax(250px, 1.05fr) minmax(360px, 1.25fr) 170px;
    grid-template-rows: auto auto minmax(0, 1fr);
    column-gap: 18px;
    row-gap: 10px;
    min-height: 0;
    padding: 18px 20px;
    border: 1px solid #dfe3e8;
    border-radius: 18px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(17, 24, 39, .045);
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.download-card:hover {
    transform: translateY(-3px);
    border-color: rgba(233, 120, 24, .65);
    box-shadow: 0 16px 34px rgba(17, 24, 39, .09);
}

.download-card.featured::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 4px;
    background: #e97818;
}

.download-card-head {
    display: contents;
}

.download-card-icon {
    grid-column: 1;
    grid-row: 1 / span 3;
    align-self: start;
    display: grid;
    place-items: center;
    width: 72px;
    height: 72px;
    overflow: hidden;
    border: 1px solid #e1e5ea;
    border-radius: 16px;
    color: #cb5a04;
    background: #fff7ef;
}

.download-card-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 7px;
}

.download-card-icon span {
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .025em;
}

.download-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 7px;
}

.download-category-badge,
.download-featured-badge {
    display: inline-flex;
    align-items: center;
    min-height: 23px;
    padding: 4px 8px;
    border-radius: 999px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.download-category-badge {
    color: #4b5563;
    background: #eef1f4;
}

.download-featured-badge {
    color: #9a4300;
    background: #fff0df;
}

.download-card-title {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
}

.download-card-title h3 {
    margin: 0;
    color: #151b25;
    font-size: 19px;
    line-height: 1.25;
}

.download-card-title > strong {
    display: block;
    margin-top: 5px;
    color: #e16b12;
    font-size: 12px;
}

.download-card-description {
    grid-column: 2;
    grid-row: 2;
    align-self: start;
    margin: 0;
    color: #626b78;
    font-size: 13px;
    line-height: 1.55;
}

.download-card-meta {
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: stretch;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    overflow: hidden;
    border: 1px solid #e5e8ed;
    border-radius: 13px;
    background: #e5e8ed;
}

.download-card-meta > div {
    min-width: 0;
    padding: 9px 10px;
    background: #fafbfc;
}

.download-card-meta dt {
    margin-bottom: 3px;
    color: #8a929d;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.download-card-meta dd {
    overflow: hidden;
    margin: 0;
    color: #303844;
    font-size: 11px;
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.download-models {
    grid-column: 2 / 4;
    grid-row: 3;
    align-self: end;
    margin: 0;
    padding-top: 2px;
}

.download-models > span {
    display: block;
    margin-bottom: 7px;
    color: #777f8a;
    font-size: 10px;
    font-weight: 850;
    text-transform: uppercase;
}

.download-models > div {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.download-models b {
    display: inline-flex;
    padding: 5px 8px;
    border: 1px solid #e2e6eb;
    border-radius: 999px;
    color: #4a5360;
    background: #fff;
    font-size: 9px;
    font-weight: 800;
}

.download-card-footer {
    grid-column: 4;
    grid-row: 1 / span 3;
    display: flex;
    align-items: stretch;
    justify-content: space-between;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    margin: 0;
    padding: 2px 0 2px 18px;
    border-top: 0;
    border-left: 1px solid #e7e9ed;
}

.download-visibility-label {
    color: #818995;
    font-size: 10px;
    font-weight: 750;
}

.download-action {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    width: 100%;
    min-height: 44px;
    padding: 9px 10px 9px 14px;
    border-radius: 11px;
    color: #fff;
    background: #171d26;
    font-size: 11px;
    font-weight: 900;
    transition: background .18s ease;
}

.download-action:hover {
    background: #e97818;
}

.download-action b {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .13);
    font-size: 15px;
}

.downloads-empty {
    display: grid;
    justify-items: center;
    padding: 70px 24px 85px;
    text-align: center;
}

.downloads-empty > div {
    display: grid;
    place-items: center;
    width: 78px;
    height: 78px;
    border-radius: 50%;
    color: #e97818;
    background: #fff0e2;
    font-size: 42px;
}

.downloads-empty h2 {
    margin: 18px 0 7px;
    font-size: 29px;
}

.downloads-empty p {
    max-width: 620px;
    margin: 0 0 20px;
    color: #68717e;
    line-height: 1.6;
}

.downloads-help-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 46px;
    padding: 22px 24px;
    border: 1px solid #2d3440;
    border-radius: 20px;
    color: #fff;
    background: #171d26;
}

.downloads-help-strip div {
    display: grid;
    gap: 5px;
}

.downloads-help-strip span {
    color: #e97818;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.downloads-help-strip strong {
    font-size: 15px;
}

/* Portal Downloads management */
.download-admin-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.download-admin-summary-grid article {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
    border: 1px solid #dde2e8;
    border-radius: 14px;
    background: #fff;
}

.download-admin-summary-grid span {
    color: #6d7581;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.download-admin-summary-grid strong {
    color: #171d26;
    font-size: 25px;
}

.download-admin-filter {
    display: grid;
    grid-template-columns: minmax(230px, 1.5fr) repeat(3, minmax(140px, 1fr)) auto;
    gap: 12px;
    align-items: end;
}

.download-admin-filter-actions {
    display: flex;
    gap: 7px;
}

.download-admin-table-shell {
    overflow-x: auto;
    border-radius: 15px;
}

.download-admin-table {
    min-width: 1120px;
}

.download-admin-table tbody td {
    vertical-align: top;
}

.download-admin-identity {
    display: grid;
    grid-template-columns: 48px minmax(180px, 1fr);
    gap: 10px;
}

.download-admin-icon {
    display: grid;
    place-items: center;
    width: 48px;
    height: 48px;
    overflow: hidden;
    border-radius: 12px;
    color: #d86208;
    background: #fff0e2;
    font-size: 22px;
    font-weight: 900;
}

.download-admin-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    padding: 4px;
}

.download-admin-identity > div:last-child,
.download-admin-compatibility,
.download-admin-source {
    display: grid;
    align-content: start;
    gap: 4px;
}

.download-admin-identity strong,
.download-admin-compatibility strong,
.download-admin-source strong {
    color: #202731;
    font-size: 12px;
}

.download-admin-identity span,
.download-admin-compatibility span,
.download-admin-source span,
.download-admin-source small,
.download-admin-compatibility small {
    color: #737b87;
    font-size: 10px;
    line-height: 1.35;
}

.download-admin-identity small {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.download-admin-identity small b {
    padding: 3px 5px;
    border-radius: 5px;
    color: #5b6470;
    background: #edf0f3;
    font-size: 8px;
}

.download-admin-visibility {
    display: inline-flex;
    max-width: 130px;
    padding: 5px 8px;
    border-radius: 999px;
    color: #354052;
    background: #e9edf2;
    font-size: 9px;
    font-weight: 850;
    text-align: center;
}

.download-admin-statuses {
    display: grid;
    justify-items: start;
    gap: 5px;
}

.download-admin-featured {
    padding: 4px 7px;
    border-radius: 999px;
    color: #984200;
    background: #fff0df;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.download-admin-count {
    color: #202731;
    font-weight: 900;
    text-align: center;
}

/* Portal Downloads editor */
.download-edit-form {
    display: grid;
    gap: 16px;
}

.download-edit-section {
    margin: 0;
    padding: 22px;
}

.download-edit-section > header {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-bottom: 18px;
    padding-bottom: 15px;
    border-bottom: 1px solid #e4e7eb;
}

.download-edit-section > header > span {
    display: grid;
    place-items: center;
    width: 38px;
    height: 38px;
    border-radius: 11px;
    color: #fff;
    background: #171d26;
    font-size: 14px;
    font-weight: 900;
}

.download-edit-section > header h2 {
    margin: 0 0 3px;
    font-size: 18px;
}

.download-edit-section > header p {
    margin: 0;
    color: #737b86;
    font-size: 11px;
}

.download-edit-grid {
    display: grid;
    gap: 14px 16px;
}

.download-edit-grid.two {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.download-edit-grid.three {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.download-edit-grid .wide {
    grid-column: 1 / -1;
}

.download-edit-grid small,
.download-source-card small {
    color: #7b838e;
    font-size: 10px;
    line-height: 1.4;
}

.download-model-selector-toolbar {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto auto auto;
    gap: 8px;
    align-items: center;
    margin-bottom: 10px;
}

.download-model-selector-toolbar > span {
    color: #6b7480;
    font-size: 10px;
    font-weight: 800;
    white-space: nowrap;
}

.download-model-selector {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 7px;
    max-height: 360px;
    overflow-y: auto;
    padding: 10px;
    border: 1px solid #dfe3e8;
    border-radius: 13px;
    background: #f8f9fb;
}

.download-model-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px;
    align-items: center;
    min-width: 0;
    padding: 9px;
    border: 1px solid #e1e5ea;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
}

.download-model-option:hover {
    border-color: #e97818;
}

.download-model-option input {
    width: auto;
    margin: 0;
}

.download-model-option span {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.download-model-option strong {
    overflow: hidden;
    color: #313946;
    font-size: 10px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.download-model-option small {
    color: #a04a0a;
    font-size: 8px;
}

.download-source-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 46px minmax(0, 1fr);
    gap: 14px;
    align-items: stretch;
}

.download-source-card {
    display: grid;
    align-content: start;
    gap: 14px;
    padding: 16px;
    border: 1px solid #dfe3e8;
    border-radius: 14px;
    background: #fafbfc;
}

.download-source-card-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.download-source-card-title b {
    font-size: 14px;
}

.download-source-card-title span {
    padding: 4px 7px;
    border-radius: 999px;
    color: #994300;
    background: #fff0df;
    font-size: 8px;
    font-weight: 900;
    text-transform: uppercase;
}

.download-source-card > p {
    margin: 0;
    color: #737b87;
    font-size: 10px;
    line-height: 1.45;
}

.download-source-or {
    display: grid;
    place-items: center;
    color: #8a929d;
    font-size: 10px;
    font-weight: 900;
}

.download-current-file {
    display: grid;
    gap: 3px;
    padding: 10px;
    border: 1px solid #d6eadc;
    border-radius: 10px;
    color: #245d38;
    background: #f1faf4;
}

.download-current-file strong {
    overflow-wrap: anywhere;
    font-size: 11px;
}

.download-current-file span {
    font-size: 9px;
}

.download-remove-check {
    color: #a44221;
    font-size: 10px;
    font-weight: 800;
}

.download-existing-icon {
    display: flex;
    align-items: center;
    gap: 13px;
    margin-top: 13px;
    padding: 10px;
    border: 1px solid #e1e5ea;
    border-radius: 12px;
    background: #fafbfc;
}

.download-existing-icon img {
    width: 70px;
    height: 60px;
    object-fit: contain;
    border: 1px solid #e1e5ea;
    border-radius: 9px;
    background: #fff;
}

.download-publishing-grid {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) repeat(2, minmax(190px, .8fr));
    gap: 14px;
    align-items: stretch;
}

.download-publish-check {
    align-items: flex-start;
    padding: 13px;
    border: 1px solid #dfe3e8;
    border-radius: 12px;
    background: #fafbfc;
}

.download-publish-check input {
    margin-top: 3px;
}

.download-publish-check span {
    display: grid;
    gap: 3px;
}

.download-publish-check strong {
    font-size: 12px;
}

.download-publish-check small {
    color: #7a838e;
    font-size: 9px;
}

.download-visibility-help {
    margin-top: 13px;
    padding: 11px 13px;
    border-left: 3px solid #e97818;
    border-radius: 8px;
    color: #5f6874;
    background: #fff8f1;
    font-size: 10px;
    line-height: 1.55;
}

.download-edit-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 5px 0 16px;
}

.download-edit-actions .button {
    min-width: 140px;
}

@media (max-width: 1240px) {
    .downloads-filter-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .downloads-search-field {
        grid-column: span 2;
    }

    .downloads-filter-actions {
        justify-content: flex-end;
    }

    .downloads-card-grid {
        grid-template-columns: 1fr;
    }

    .download-admin-filter {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .download-admin-filter-actions {
        justify-content: flex-end;
    }

    .download-model-selector {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1100px) and (min-width: 621px) {
    .download-card {
        grid-template-columns: 64px minmax(0, 1fr) 165px;
        grid-template-rows: auto auto auto minmax(0, 1fr);
    }

    .download-card-icon {
        grid-row: 1 / span 4;
        width: 64px;
        height: 64px;
    }

    .download-card-title,
    .download-card-description,
    .download-card-meta,
    .download-models {
        grid-column: 2;
    }

    .download-card-title { grid-row: 1; }
    .download-card-description { grid-row: 2; }

    .download-card-meta {
        grid-row: 3;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .download-models { grid-row: 4; }

    .download-card-footer {
        grid-column: 3;
        grid-row: 1 / span 4;
    }
}

@media (max-width: 900px) {
    .downloads-hero {
        grid-template-columns: 1fr;
        min-height: auto;
        padding: 48px 28px 86px;
    }

    .downloads-hero-art {
        display: none;
    }

    .downloads-filter-shell,
    .downloads-results-section,
    .downloads-empty,
    .downloads-help-strip {
        width: min(100% - 28px, 720px);
    }

    .downloads-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .downloads-search-field {
        grid-column: 1 / -1;
    }

    .downloads-results-heading,
    .downloads-help-strip {
        align-items: flex-start;
        flex-direction: column;
    }


    .download-admin-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .download-edit-grid.three {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .download-source-grid {
        grid-template-columns: 1fr;
    }

    .download-source-or {
        min-height: 24px;
    }

    .download-publishing-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .download-card {
        display: flex;
        flex-direction: column;
        padding: 17px;
    }

    .download-card-head {
        display: grid;
        grid-template-columns: 58px minmax(0, 1fr);
        gap: 13px;
        align-items: start;
    }

    .download-card-icon,
    .download-card-title,
    .download-card-description,
    .download-card-meta,
    .download-models,
    .download-card-footer {
        grid-column: auto;
        grid-row: auto;
    }

    .download-card-icon {
        width: 58px;
        height: 58px;
    }

    .download-card-description {
        margin: 13px 0 0;
    }

    .download-card-meta {
        margin: 14px 0 0;
    }

    .download-models {
        margin-top: 14px;
    }

    .download-card-footer {
        margin-top: 16px;
        padding: 14px 0 0;
        border-top: 1px solid #e7e9ed;
        border-left: 0;
    }

    .downloads-hero {
        padding: 42px 18px 75px;
    }

    .downloads-hero-copy h1 {
        font-size: 36px;
    }

    .downloads-hero-copy > p {
        font-size: 15px;
    }

    .downloads-filter-shell {
        margin-top: -24px;
        padding: 14px;
        border-radius: 17px;
    }

    .downloads-filter-grid,
    .downloads-card-grid,
    .download-admin-filter,
    .download-edit-grid.two,
    .download-edit-grid.three,
    .download-model-selector,
    .download-model-selector-toolbar {
        grid-template-columns: 1fr;
    }

    .downloads-filter-actions,
    .download-admin-filter-actions {
        justify-content: stretch;
    }

    .downloads-filter-actions .button,
    .download-admin-filter-actions .button {
        flex: 1;
    }

    .download-card-head {
        grid-template-columns: 58px minmax(0, 1fr);
    }

    .download-card-icon {
        width: 58px;
        height: 58px;
    }

    .download-card-meta {
        grid-template-columns: 1fr;
    }

    .download-card-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .download-action {
        justify-content: space-between;
    }


    .download-admin-summary-grid {
        grid-template-columns: 1fr;
    }

    .download-edit-section {
        padding: 16px;
    }

    .download-edit-actions {
        flex-direction: column-reverse;
    }

    .download-edit-actions .button {
        width: 100%;
    }
}

/* Public machine cards: flat category label with icon, text, and trailing line. */
.machine-card-category {
    justify-content: flex-start;
    margin-bottom: 2px;
}

.machine-category-badge {
    display: flex;
    align-items: center;
    gap: 9px;
    width: 100%;
    min-height: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    color: inherit;
    background: transparent;
    box-shadow: none;
}

.machine-category-text {
    font-size: 12px;
    font-weight: 900;
    line-height: 1.15;
    letter-spacing: .02em;
    text-transform: uppercase;
    white-space: nowrap;
}

.machine-category-text.is-colour {
    color: #f26d0d;
}

.machine-category-text.is-mono {
    color: #303743;
}

.machine-category-line {
    flex: 1 1 auto;
    min-width: 44px;
    height: 2px;
    border-radius: 999px;
    opacity: .65;
}

.machine-category-line.is-colour {
    background: #f59a58;
}

.machine-category-line.is-mono {
    background: #9aa3af;
}

.machine-colour-wheel {
    position: relative;
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    border-radius: 50%;
}

.machine-colour-wheel.is-colour {
    background: conic-gradient(
        #f2ce1b 0 25%,
        #13161b 25% 50%,
        #17a7df 50% 75%,
        #ea1c88 75% 100%
    );
}

.machine-colour-wheel.is-mono {
    background: conic-gradient(
        #d9dde2 0 25%,
        #8b929d 25% 50%,
        #2e343d 50% 75%,
        #b7bdc6 75% 100%
    );
}

.machine-colour-wheel::before,
.machine-colour-wheel::after {
    content: "";
    position: absolute;
    z-index: 1;
    background: rgba(255, 255, 255, .92);
    pointer-events: none;
}

.machine-colour-wheel::before {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 1px;
    transform: translateX(-50%);
}

.machine-colour-wheel::after {
    top: 50%;
    left: 0;
    right: 0;
    height: 1px;
    transform: translateY(-50%);
}

.showcase-product-card .public-product-card-body {
    align-content: start;
}

@media (max-width: 620px) {
    .machine-category-text {
        font-size: 10.8px;
    }

    .machine-category-line {
        min-width: 28px;
    }

    .machine-spec-row {
        font-size: 11.5px;
    }
}

/* UTAX machine cards: logo + model header strip, without duplicated brand text. */
.machine-brand-model-header {
    width: 100%;
    margin-bottom: 8px;
}

.machine-brand-model-strip {
    display: flex;
    width: 100%;
    min-width: 0;
    min-height: 32px;
    align-items: center;
    gap: 11px;
}

.machine-brand-logo {
    width: 91px;
    height: 26px;
    flex: 0 0 auto;
    object-fit: contain;
    object-position: left center;
}

.machine-brand-model-name {
    min-width: 0;
    color: #1f2530;
    font-size: 17px;
    font-weight: 900;
    line-height: 1.1;
    letter-spacing: .01em;
    white-space: nowrap;
}

.machine-brand-model-line {
    flex: 1 1 auto;
    min-width: 28px;
    height: 2px;
    border-radius: 999px;
    background: #f47a20;
    opacity: .85;
}

@media (max-width: 620px) {
    .machine-brand-model-strip {
        gap: 8px;
    }

    .machine-brand-logo {
        width: 76px;
        height: 22px;
    }

    .machine-brand-model-name {
        font-size: 15px;
    }

    .machine-brand-model-line {
        min-width: 16px;
    }
}

/* Approved public machine-card layout: individual icon specs and one colour wheel in the badge only. */
.machine-quick-specs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 8px;
    padding: 13px 0;
    border-top: 1px solid #e8ebef;
    border-bottom: 1px solid #e8ebef;
}
.machine-quick-spec {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 7px;
    padding: 0 9px;
    border-right: 1px solid #e8ebef;
    color: #303743;
    font-size: 11px;
    line-height: 1.25;
}
.machine-quick-spec:first-child { padding-left: 0; }
.machine-quick-spec:last-child { border-right: 0; padding-right: 0; }
.machine-quick-spec svg,
.machine-extra-spec svg {
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    fill: none;
    stroke: #68717e;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}
.machine-quick-spec b { font-weight: 750; overflow-wrap: anywhere; }

/* Product-details key highlight: compact vertical B&W/colour print-speed rows. */
.rds-product-highlight-grid > div.is-speed-highlight {
    min-height: 74px;
}
.rds-product-highlight-grid dd.rds-product-highlight-speed {
    overflow: visible;
    text-overflow: clip;
    white-space: normal;
}
.rds-product-highlight-speed .machine-speed-badges {
    gap: 6px;
}
.rds-product-highlight-speed .machine-speed-badge {
    gap: 6px;
    font-size: 12px;
}
.rds-product-highlight-speed .machine-speed-badge b {
    font-size: 12px;
    line-height: 1.05;
}
.rds-product-highlight-speed .machine-speed-dot {
    width: 16px;
    height: 16px;
    flex-basis: 16px;
}

/* Compact catalogue print-speed badges: black ball for B&W, CMYK ball for colour. */
.machine-speed-quick-spec {
    justify-content: center;
}
.machine-speed-badges {
    display: inline-flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    gap: 5px;
    min-width: 0;
}
.machine-speed-badge {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
    font-size: 11px;
    line-height: 1;
    color: #17202d;
}
.machine-speed-badge b {
    font-size: 11px;
    font-weight: 850;
    overflow-wrap: normal;
}
.machine-speed-unit {
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .01em;
    color: #68717e;
}
.machine-speed-dot {
    width: 15px;
    height: 15px;
    flex: 0 0 15px;
    border-radius: 50%;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.42), 0 1px 2px rgba(18,27,39,.18);
}
.machine-speed-badge.is-black .machine-speed-dot {
    background: #111827;
}
.machine-speed-badge.is-colour .machine-speed-dot {
    background: conic-gradient(from -35deg, #ef3340 0 24%, #ffcf28 24% 48%, #1da85b 48% 68%, #26a9df 68% 84%, #d41479 84% 100%);
}
.machine-extra-specs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 18px;
    min-height: 48px;
    align-items: center;
    padding: 12px 0;
    color: #4f5866;
    font-size: 11px;
    font-weight: 700;
}
.machine-extra-spec {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-width: 0;
}
.machine-extra-spec svg { stroke: #68717e; }
@media (max-width: 1100px) {
    .machine-quick-specs { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 12px; }
    .machine-quick-spec:nth-child(2) { border-right: 0; }
}
@media (max-width: 620px) {
    .machine-quick-spec { font-size: 10.5px; padding: 0 7px; }
    .machine-extra-specs { font-size: 10.5px; }
}

/* Public machine cards: top-left colour-mode indicator in the image area. */
.public-product-card.showcase-product-card {
    position: relative;
}

.machine-mode-corner-badge {
    position: absolute;
    top: 16px;
    left: 16px;
    z-index: 4;
    display: inline-flex;
    width: 36px;
    height: 36px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(88, 97, 111, .18);
    border-radius: 50%;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 3px 10px rgba(25, 32, 44, .16);
    pointer-events: none;
}

.machine-mode-corner-icon {
    position: relative;
    display: block;
    width: 27px;
    height: 27px;
    box-sizing: border-box;
    overflow: hidden;
    border-radius: 50%;
}

.machine-mode-corner-badge.is-colour .machine-mode-corner-icon {
    background: conic-gradient(
        #ec168c 0 25%,
        #15171a 25% 50%,
        #ffd21c 50% 75%,
        #13a9e1 75% 100%
    );
}

.machine-mode-corner-badge.is-mono .machine-mode-corner-icon {
    background: conic-gradient(
        #b9bec6 0 25%,
        #242932 25% 50%,
        #777f8a 50% 75%,
        #d9dde2 75% 100%
    );
}

.machine-mode-corner-icon::before,
.machine-mode-corner-icon::after {
    content: "";
    position: absolute;
    z-index: 1;
    background: rgba(255, 255, 255, .95);
}

.machine-mode-corner-icon::before {
    top: 0;
    bottom: 0;
    left: 50%;
    width: 2px;
    transform: translateX(-50%);
}

.machine-mode-corner-icon::after {
    top: 50%;
    right: 0;
    left: 0;
    height: 2px;
    transform: translateY(-50%);
}

@media (max-width: 620px) {
    .machine-mode-corner-badge {
        top: 12px;
        left: 12px;
        width: 34px;
        height: 34px;
    }

    .machine-mode-corner-icon {
        width: 25px;
        height: 25px;
    }
}



/* Product picture display-order manager. */
.picture-order-panel {
    overflow: visible;
}

.picture-order-heading {
    gap: 18px;
}

.picture-order-confirmation {
    margin: 12px 0 0;
}

.picture-order-empty {
    margin-top: 14px;
    padding: 18px;
    border: 1px dashed #cfd6df;
    border-radius: 12px;
    color: #667085;
    background: #fafbfc;
    text-align: center;
}

.picture-order-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(170px, 190px));
    gap: 14px;
    align-items: stretch;
}

.picture-order-tile {
    width: auto;
    min-width: 0;
    position: relative;
    display: grid;
    grid-template-rows: auto 230px auto auto;
    gap: 8px;
    padding: 9px;
    text-align: left;
    transition: opacity .15s ease, transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.picture-order-tile.is-main {
    border-color: rgba(230, 109, 16, .55);
    box-shadow: 0 0 0 2px rgba(230, 109, 16, .08);
}

.picture-order-tile[draggable="true"] {
    cursor: grab;
}

.picture-order-tile[draggable="true"]:active {
    cursor: grabbing;
}

.picture-order-tile.is-dragging {
    opacity: .42;
    transform: scale(.98);
}

.picture-order-tile-heading {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr) auto;
    gap: 7px;
    align-items: center;
}

.picture-order-position {
    display: inline-grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #1e2632;
    font-size: 12px;
    font-weight: 900;
}

.picture-order-role {
    overflow: hidden;
    color: #667085;
    font-size: 11px;
    font-weight: 850;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.picture-order-role.is-main {
    color: #c65b08;
}

.picture-order-drag-handle {
    color: #8b95a3;
    font-size: 17px;
    font-weight: 900;
    letter-spacing: -4px;
    line-height: 1;
}

.picture-order-preview {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #e4e8ed;
    border-radius: 10px;
    background: #fff;
}

.pictures-only-panel .picture-order-preview img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.picture-order-controls {
    min-height: 30px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.picture-main-fixed-note {
    color: #a44e0a;
    font-size: 10.5px;
    font-weight: 800;
}

.picture-order-move-buttons {
    display: inline-flex;
    gap: 6px;
}

.picture-order-move {
    width: 34px;
    height: 30px;
    display: inline-grid;
    place-items: center;
    padding: 0;
    border: 1px solid #cfd6df;
    border-radius: 8px;
    color: #273140;
    background: #fff;
    font-size: 16px;
    font-weight: 900;
    cursor: pointer;
}

.picture-order-move:hover:not(:disabled) {
    border-color: #e66d10;
    color: #c85b07;
    background: #fff8f2;
}

.picture-order-move:disabled {
    opacity: .32;
    cursor: not-allowed;
}

.picture-order-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
}

.picture-order-actions .button {
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: 8px;
}

.picture-order-tile.is-main .picture-order-actions .button {
    grid-column: 1 / -1;
}

.picture-order-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #e6e9ee;
}

.picture-order-unsaved {
    margin-right: auto;
    color: #a44e0a;
    font-size: 12px;
    font-weight: 800;
}

.picture-order-footer .button:disabled {
    opacity: .5;
    cursor: not-allowed;
}

@media (max-width: 700px) {
    .picture-order-list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .picture-order-tile {
        grid-template-rows: auto 180px auto auto;
    }

    .picture-order-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .picture-order-footer .button {
        width: 100%;
    }
}

@media (max-width: 440px) {
    .picture-order-list {
        grid-template-columns: 1fr;
    }

    .picture-order-tile {
        grid-template-rows: auto 230px auto auto;
    }
}


/* Homepage machine-category titles: MFP wording and colour-mode indicators. */
@media (max-width: 1180px) {
    .mm-category-mode-badge {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .mm-category-mode-icon {
        width: 23px;
        height: 23px;
    }
}

@media (max-width: 520px) {
    .mm-category-title-row {
        min-height: 58px;
        align-items: center;
    }
}

/* =========================================================
   Persistent public quote basket + partner order basket
   ========================================================= */
.site-basket-trigger {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 9px 0 11px;
    border: 1px solid #d9dee5;
    border-radius: 9px;
    color: #27303d;
    background: #fff;
    box-shadow: 0 5px 14px rgba(17, 24, 39, .06);
    font: inherit;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
    white-space: nowrap;
}

.site-basket-trigger svg {
    width: 17px;
    height: 17px;
    fill: none;
    stroke: #e97818;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.site-basket-trigger b {
    min-width: 23px;
    height: 23px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    border-radius: 999px;
    color: #fff;
    background: #1b222d;
    font-size: 11px;
    line-height: 1;
}

.site-basket-trigger.has-items {
    border-color: rgba(233,120,24,.55);
    box-shadow: 0 7px 18px rgba(233,120,24,.13);
}

.site-basket-trigger.has-items b {
    background: #e97818;
}

.site-basket-trigger-utility {
    order: 2;
    min-height: 42px;
}

.topbar-action-cluster .language-switcher {
    order: 1;
}

.topbar-action-cluster .topbar-login,
.topbar-action-cluster .topbar-user {
    order: 3;
}

.site-basket-trigger-header-mobile {
    position: relative;
}

.site-basket-trigger-mobile {
    display: none;
}

.site-basket-backdrop[hidden],
.site-basket-drawer[hidden] {
    display: none !important;
}

.site-basket-backdrop {
    position: fixed;
    inset: 0;
    z-index: 220;
    background: rgba(10, 16, 25, .20);
}

.site-basket-drawer {
    position: fixed;
    top: 76px;
    right: 18px;
    z-index: 221;
    width: min(390px, calc(100vw - 36px));
    max-height: calc(100dvh - 94px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto auto;
    overflow: hidden;
    border: 1px solid #dfe4ea;
    border-radius: 17px;
    color: #17202d;
    background: #fff;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .22);
}

body.site-basket-open {
    overflow: hidden;
}

.site-basket-drawer-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 20px 17px;
    border-bottom: 1px solid #e7ebef;
}

.site-basket-drawer-header span {
    display: block;
    color: #e66d10;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.site-basket-drawer-header h2 {
    display: flex;
    align-items: center;
    gap: 9px;
    margin: 5px 0 0;
    font-size: 23px;
}

.site-basket-drawer-header h2 b {
    min-width: 27px;
    height: 27px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 6px;
    border-radius: 999px;
    color: #fff;
    background: #e97818;
    font-size: 12px;
}

.site-basket-drawer-header > button {
    width: 38px;
    height: 38px;
    border: 1px solid #dce1e7;
    border-radius: 10px;
    color: #2c3542;
    background: #f8fafb;
    font-size: 25px;
    line-height: 1;
    cursor: pointer;
}

.site-basket-items {
    overflow-y: auto;
    padding: 13px 16px 18px;
    background: #f6f8fa;
}

.site-basket-empty {
    min-height: 118px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 7px;
    padding: 18px;
    border: 1px dashed #cad1da;
    border-radius: 14px;
    color: #747e8c;
    background: #fff;
    text-align: center;
}

.site-basket-empty strong {
    color: #28313e;
    font-size: 16px;
}

.site-basket-line {
    position: relative;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) 60px;
    gap: 10px;
    align-items: center;
    margin-bottom: 10px;
    padding: 10px 38px 10px 10px;
    border: 1px solid #dde3e9;
    border-radius: 13px;
    background: #fff;
}

.site-basket-line-image {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #edf0f3;
    border-radius: 9px;
    color: #9aa3af;
    background: #fff;
    font-size: 10px;
    font-weight: 850;
}

.site-basket-line-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.site-basket-line-copy {
    min-width: 0;
}

.site-basket-line-copy small,
.site-basket-line-copy span {
    display: block;
    overflow: hidden;
    color: #76808d;
    font-size: 10px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-basket-line-copy strong {
    display: block;
    overflow: hidden;
    margin: 2px 0;
    color: #1d2633;
    font-size: 13px;
    line-height: 1.28;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-basket-line-price {
    margin-top: 4px;
    color: #1e2937;
    font-size: 12px;
    font-weight: 900;
}

.site-basket-line-quantity {
    display: grid;
    gap: 4px;
    color: #727c89;
    font-size: 9px;
    font-weight: 850;
    text-align: center;
    text-transform: uppercase;
}

.site-basket-line-quantity input {
    width: 58px;
    height: 34px;
    box-sizing: border-box;
    border: 1px solid #cfd6de;
    border-radius: 8px;
    color: #1d2633;
    background: #fff;
    font-weight: 800;
    text-align: center;
}

.site-basket-line-remove {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 25px;
    height: 25px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 7px;
    color: #a33c3c;
    background: #fff1f1;
    font-size: 18px;
    cursor: pointer;
}

.site-basket-subtotal-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 13px 20px;
    border-top: 1px solid #e4e8ed;
    color: #66717f;
    background: #fff;
    font-size: 12px;
    font-weight: 750;
}

.site-basket-subtotal-row strong {
    color: #17202d;
    font-size: 17px;
}

.site-basket-drawer-footer {
    display: grid;
    grid-template-columns: 1fr 1.15fr;
    gap: 9px;
    padding: 15px 16px 18px;
    border-top: 1px solid #e4e8ed;
    background: #fff;
}

.site-basket-drawer-footer .button {
    min-width: 0;
    justify-content: center;
    text-align: center;
}

.site-basket-toast {
    position: fixed;
    right: 18px;
    bottom: 20px;
    z-index: 230;
    max-width: min(390px, calc(100vw - 36px));
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 15px;
    border: 1px solid rgba(46, 125, 89, .28);
    border-radius: 12px;
    color: #1f513a;
    background: #f0faf5;
    box-shadow: 0 16px 38px rgba(15, 23, 42, .18);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
    transition: opacity .16s ease, transform .16s ease;
}

.site-basket-toast::before {
    content: "✓";
    width: 24px;
    height: 24px;
    display: grid;
    place-items: center;
    flex: 0 0 24px;
    border-radius: 50%;
    color: #fff;
    background: #348a61;
    font-size: 13px;
}

.site-basket-toast.is-visible {
    opacity: 1;
    transform: translateY(0);
}

/* Public catalogue card actions. */
.public-product-card-with-action {
    display: flex;
    flex-direction: column;
}

.public-product-card-main-link {
    display: block;
    flex: 1 1 auto;
    color: inherit;
    text-decoration: none;
}

.public-product-card-action-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 9px;
    margin: 0 18px;
    padding: 13px 0 16px;
    border-top: 1px solid #edf0f3;
}

.public-product-card-view-link {
    color: #e36d13;
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

.public-product-card-view-link b {
    margin-left: 5px;
}

.public-product-card-basket-button {
    min-height: 34px;
    padding: 0 12px;
    border: 1px solid #e97818;
    border-radius: 9px;
    color: #d76209;
    background: #fff;
    font: inherit;
    font-size: 10.5px;
    font-weight: 900;
    cursor: pointer;
}

.public-product-card-basket-button:hover,
.public-product-card-basket-button.is-added {
    color: #fff;
    background: #e97818;
}

/* Multi-product public quote request. */
.quote-request-items {
    display: grid;
    gap: 10px;
}

.quote-items-empty {
    min-height: 120px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 6px;
    padding: 20px;
    border: 1px dashed #cbd3dc;
    border-radius: 12px;
    color: #77818e;
    background: #fafbfc;
    text-align: center;
}

.quote-items-empty strong {
    color: #252e3b;
    font-size: 15px;
}

.quote-request-item {
    display: grid;
    grid-template-columns: 74px minmax(0, 1fr) 82px auto;
    gap: 12px;
    align-items: center;
    padding: 11px 12px;
    border: 1px solid #dfe4e9;
    border-radius: 12px;
    background: #fff;
}

.quote-request-item-image {
    width: 74px;
    height: 66px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border: 1px solid #edf0f3;
    border-radius: 9px;
    color: #98a1ad;
    background: #fff;
    font-size: 10px;
    font-weight: 850;
}

.quote-request-item-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.quote-request-item-copy {
    min-width: 0;
}

.quote-request-item-copy small {
    display: block;
    color: #e26b12;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.quote-request-item-copy strong {
    display: block;
    margin-top: 4px;
    color: #1e2734;
    font-size: 15px;
}

.quote-request-item-quantity {
    display: grid !important;
    gap: 4px;
    color: #687382 !important;
    font-size: 9px !important;
    text-align: center;
    text-transform: uppercase;
}

.quote-request-item-quantity input {
    width: 78px;
    min-height: 36px;
    text-align: center;
}

.quote-request-item-remove {
    min-height: 35px;
    padding: 0 11px;
    border: 1px solid #efc4c4;
    border-radius: 8px;
    color: #a53b3b;
    background: #fff7f7;
    font: inherit;
    font-size: 10px;
    font-weight: 850;
    cursor: pointer;
}

.quote-products-actions {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 12px;
    align-items: stretch;
    margin-top: 13px;
}

.quote-advice-choice {
    display: flex !important;
    align-items: flex-start;
    gap: 10px;
    min-height: 44px;
    padding: 10px 12px;
    border: 1px solid #dfe4e9;
    border-radius: 10px;
    background: #fbfcfd;
    cursor: pointer;
}

.quote-advice-choice input {
    width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    margin-top: 1px;
}

.quote-advice-choice span,
.quote-advice-choice strong,
.quote-advice-choice small {
    display: block;
}

.quote-advice-choice strong {
    color: #25303d;
    font-size: 12px;
}

.quote-advice-choice small {
    margin-top: 3px;
    color: #77818e;
    font-size: 10px;
    font-weight: 600;
}

.quote-items-validation {
    display: block;
    margin-top: 8px;
}

.quote-reference {
    padding: 9px 12px;
    border-radius: 8px;
    color: #374151;
    background: #f4f6f8;
}

.required-mark {
    color: #d94848;
}

@media (max-width: 1150px) {
    .site-basket-trigger span {
        display: none;
    }
}

@media (max-width: 760px) {
    .site-basket-trigger-mobile {
        position: fixed;
        display: inline-flex;
        right: 14px;
        bottom: 14px;
        z-index: 190;
        min-height: 48px;
        padding: 0 12px;
        border-color: #e97818;
        color: #fff;
        background: #e97818;
        box-shadow: 0 12px 30px rgba(17, 24, 39, .24);
    }

    .site-basket-trigger-mobile span {
        display: inline;
    }

    .site-basket-trigger-mobile svg {
        stroke: #fff;
    }

    .site-basket-trigger-mobile b {
        background: #1b222d;
    }

    .site-basket-drawer {
        top: auto;
        right: 10px;
        bottom: 10px;
        width: calc(100vw - 20px);
        max-height: min(76dvh, 640px);
        border-radius: 17px;
    }

    .site-basket-drawer-footer {
        padding-bottom: max(15px, env(safe-area-inset-bottom));
    }

    .public-product-card-action-row {
        margin-inline: 14px;
    }

    .quote-request-item {
        grid-template-columns: 62px minmax(0, 1fr) 70px;
    }

    .quote-request-item-image {
        width: 62px;
        height: 58px;
    }

    .quote-request-item-remove {
        grid-column: 2 / -1;
        justify-self: end;
    }

    .quote-products-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .topbar-action-cluster .site-basket-trigger {
        display: none !important;
    }
}

@media (max-width: 620px) {
    .public-product-card-action-row {
        display: grid;
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .public-product-card-view-link,
    .public-product-card-basket-button {
        width: 100%;
        box-sizing: border-box;
        justify-content: center;
        text-align: center;
    }
}


/* Basket placement: keep the header clean and show a small edge control only when items exist. */
.site-basket-trigger-floating {
    position: fixed;
    top: 50%;
    right: 14px;
    z-index: 190;
    min-height: 44px;
    max-width: min(250px, calc(100vw - 28px));
    padding: 0 10px 0 12px;
    border-color: rgba(233, 120, 24, .65);
    background: #fff;
    box-shadow: 0 12px 30px rgba(17, 24, 39, .18);
    transform: translateY(-50%);
    transition: transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}

.site-basket-trigger-floating[hidden] {
    display: none !important;
}

.site-basket-trigger-floating:hover {
    border-color: #e97818;
    box-shadow: 0 16px 34px rgba(17, 24, 39, .22);
    transform: translate(-2px, -50%);
}

.site-basket-trigger-floating span {
    display: inline !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (max-width: 760px) {
    .site-basket-trigger-floating {
        top: auto;
        right: 12px;
        bottom: max(12px, env(safe-area-inset-bottom));
        min-height: 46px;
        max-width: calc(100vw - 24px);
        transform: none;
        box-shadow: 0 12px 28px rgba(17, 24, 39, .22);
    }

    .site-basket-trigger-floating:hover {
        transform: translateY(-2px);
    }
}


/* Machine editor: included toner package information (machine data only). */
.included-toners-subsection {
    border-color: #f3d3b8;
    background: linear-gradient(180deg, #fffdfb, #fff8f1);
}

.included-toner-status-grid {
    grid-template-columns: minmax(260px, 420px);
}

.included-toner-details-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin-top: 14px;
}

.included-toner-fields[hidden],
#includedColourTonerYieldField[hidden] {
    display: none !important;
}

@media (max-width: 900px) {
    .included-toner-details-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .included-toner-status-grid,
    .included-toner-details-grid {
        grid-template-columns: 1fr;
    }
}


/* Public machine details: Included Toners and long-life details share one collapsed disclosure. */
.rds-included-toner-disclosure {
    margin: 16px 0 2px;
    border: 1px solid #e2e6eb;
    border-left: 4px solid #f47a20;
    border-radius: 13px;
    background: #fff;
    overflow: hidden;
}

.rds-included-toner-disclosure.is-not-included {
    border-color: #d9dee5;
    border-left-color: #6b7280;
    background: #f8fafc;
}

.rds-included-toner-toggle {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto 22px;
    gap: 13px;
    align-items: center;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.rds-included-toner-toggle::-webkit-details-marker {
    display: none;
}

.rds-included-toner-toggle:hover {
    background: #fffaf6;
}

.rds-included-toner-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 11px;
    color: #fff;
    background: #f47a20;
}

.rds-included-toner-disclosure.is-not-included .rds-included-toner-icon {
    background: #5f6875;
}

.rds-included-toner-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rds-included-toner-toggle-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.rds-included-toner-toggle-copy strong {
    color: #222a35;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.3;
}

.rds-included-toner-toggle-copy small {
    color: #717b88;
    font-size: 10.6px;
    font-weight: 600;
    line-height: 1.35;
}

.rds-included-toner-method {
    grid-column: 3;
    display: inline-flex;
    min-height: 25px;
    flex: 0 0 auto;
    align-items: center;
    padding: 4px 9px;
    border-radius: 999px;
    color: #a24f0c;
    background: #fff0e3;
    font-size: 10.5px;
    font-weight: 850;
    line-height: 1.1;
    white-space: nowrap;
}

.rds-included-toner-when-open {
    display: none;
}

.rds-included-toner-chevron {
    grid-column: 4;
    color: #a74b0a;
    font-size: 21px;
    font-weight: 900;
    line-height: 1;
    transition: transform .18s ease;
}

.rds-included-toner-disclosure[open] .rds-included-toner-when-closed {
    display: none;
}

.rds-included-toner-disclosure[open] .rds-included-toner-when-open {
    display: inline;
}

.rds-included-toner-disclosure[open] .rds-included-toner-chevron {
    transform: rotate(180deg);
}

.rds-included-toner-panel-body {
    min-width: 0;
    padding: 14px 16px 16px 67px;
    border-top: 1px solid #e8ecf0;
    background: #fff;
}

.rds-included-toner-disclosure.is-not-included .rds-included-toner-panel-body {
    background: #f8fafc;
}

.rds-included-toner-yields {
    display: grid;
    gap: 7px;
}

.rds-included-toner-yield-row {
    display: grid;
    grid-template-columns: 68px minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 7px 0;
    border-top: 1px solid #edf0f3;
}

.rds-included-toner-yield-row:first-child {
    border-top: 0;
}

.rds-included-toner-colour-group {
    display: inline-flex;
    align-items: center;
    gap: 3px;
}

.rds-included-toner-colour-chip {
    display: inline-flex;
    width: 21px;
    height: 21px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 10.5px;
    font-weight: 900;
    line-height: 1;
    box-shadow: inset 0 0 0 1px rgba(17, 24, 39, .08);
}

.rds-included-toner-colour-chip.is-k {
    color: #fff;
    background: #111827;
}

.rds-included-toner-colour-chip.is-c {
    color: #fff;
    background: #00a7d8;
}

.rds-included-toner-colour-chip.is-m {
    color: #fff;
    background: #d1007f;
}

.rds-included-toner-colour-chip.is-y {
    color: #111827;
    background: #ffd400;
}

.rds-included-toner-yield-label {
    min-width: 0;
    color: #374151;
    font-size: 12px;
    font-weight: 750;
}

.rds-included-toner-yield-value {
    color: #222a35;
    font-size: 12px;
    font-weight: 900;
    text-align: right;
    white-space: nowrap;
}

.rds-included-toner-approximate,
.rds-included-toner-note {
    display: block;
    margin-top: 7px;
    color: #6a7482;
    font-size: 10.8px;
    line-height: 1.4;
}

.rds-included-toner-note {
    padding-top: 7px;
    border-top: 1px solid #edf0f3;
}

.rds-included-toner-not-included-text {
    margin: 0;
    color: #465263;
    font-size: 12.5px;
    font-weight: 650;
    line-height: 1.45;
}

.rds-included-supply-section {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #e8ecf0;
}

.rds-included-supply-heading {
    display: grid;
    min-width: 0;
    gap: 2px;
    margin-bottom: 9px;
}

.rds-included-supply-heading > strong {
    color: #2b3441;
    font-size: 12.5px;
    font-weight: 850;
    line-height: 1.35;
}

.rds-included-supply-heading > small {
    color: #7a8491;
    font-size: 10.4px;
    font-weight: 600;
    line-height: 1.35;
}

.rds-included-supply-list {
    margin: 0;
    padding: 0;
    border-top: 1px solid #eef1f4;
}

.rds-included-supply-list > div {
    display: grid;
    grid-template-columns: minmax(145px, .9fr) minmax(0, 1.1fr);
    align-items: start;
    gap: 14px;
    padding: 9px 0;
    border-top: 1px solid #eef1f4;
}

.rds-included-supply-list > div:first-child {
    border-top: 0;
}

.rds-included-supply-list > div.wide {
    grid-template-columns: 1fr;
    gap: 4px;
}

.rds-included-supply-list > div.is-guarantee {
    margin: 4px -8px 0;
    padding: 10px 8px;
    border-top-color: transparent;
    border-radius: 9px;
    background: #fff7f0;
}

.rds-included-supply-list > div.is-guarantee dt {
    color: #ad550f;
}

.rds-included-supply-list dt {
    margin: 0;
    color: #7d8795;
    font-size: 9.4px;
    font-weight: 900;
    letter-spacing: .04em;
    line-height: 1.35;
    text-transform: uppercase;
}

.rds-included-supply-list dd {
    min-width: 0;
    margin: 0;
    color: #202937;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

@media (max-width: 620px) {
    .rds-included-toner-toggle {
        grid-template-columns: 34px minmax(0, 1fr) 20px;
        gap: 10px;
        align-items: start;
        padding: 13px 12px;
    }

    .rds-included-toner-icon {
        width: 34px;
        height: 34px;
    }

    .rds-included-toner-method {
        grid-column: 2;
        justify-self: start;
        margin-top: 3px;
    }

    .rds-included-toner-chevron {
        grid-column: 3;
        grid-row: 1;
        align-self: center;
    }

    .rds-included-toner-panel-body {
        padding: 13px 12px 15px;
    }

    .rds-included-toner-yield-row {
        grid-template-columns: 62px minmax(0, 1fr);
        gap: 7px;
    }

    .rds-included-toner-yield-value {
        grid-column: 2;
        text-align: left;
        white-space: normal;
    }

    .rds-included-supply-heading > small {
        display: none;
    }

    .rds-included-supply-list > div,
    .rds-included-supply-list > div.wide {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 8px 0;
    }
}

.order-machine-included-toner {
    color: #3f4b5a;
}

.order-machine-included-toner strong {
    color: #b85208;
}

.order-line-product-summary {
    display: block;
    margin-top: 4px;
    color: #5f6977;
    font-size: 11px;
    font-weight: 650;
    line-height: 1.4;
}


.quote-request-item-copy > span {
    display: block;
    margin-top: 4px;
    color: #596575;
    font-size: 11.5px;
    font-weight: 650;
    line-height: 1.45;
}

/* Partner machine completion wizard: cabinet/paper-tray, document processor, and toner choices. */
.rds-machine-completion-modal[hidden] {
    display: none !important;
}

.rds-machine-completion-modal {
    position: fixed;
    inset: 0;
    z-index: 10080;
    display: grid;
    place-items: center;
    padding: 24px;
}

.rds-machine-completion-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, .58);
    backdrop-filter: blur(3px);
}

.rds-machine-completion-dialog {
    position: relative;
    width: min(880px, 100%);
    max-height: min(88vh, 820px);
    overflow: auto;
    border: 1px solid #dce2e9;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(15, 23, 42, .28);
}

body.machine-completion-open {
    overflow: hidden;
}

.rds-machine-completion-header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 20px 22px;
    border-bottom: 1px solid #e7ebf0;
    background: rgba(255,255,255,.96);
    backdrop-filter: blur(10px);
}

.rds-machine-completion-header span {
    display: block;
    margin-bottom: 4px;
    color: #e66e1c;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rds-machine-completion-header h2,
.rds-machine-completion-header p {
    margin: 0;
}

.rds-machine-completion-header h2 {
    color: #172033;
    font-size: 23px;
}

.rds-machine-completion-header p {
    margin-top: 4px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
}

.rds-machine-completion-header > button {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: 1px solid #d9e0e8;
    border-radius: 10px;
    color: #344054;
    background: #f8fafc;
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
}

.rds-machine-completion-step {
    padding: 22px;
}

.rds-machine-completion-step[hidden] {
    display: none !important;
}

.rds-machine-completion-step-heading {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin-bottom: 18px;
}

.rds-machine-completion-step-heading > b {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #e97627;
    font-size: 14px;
}

.rds-machine-completion-step-heading h3,
.rds-machine-completion-step-heading p {
    margin: 0;
}

.rds-machine-completion-step-heading h3 {
    color: #172033;
    font-size: 18px;
}

.rds-machine-completion-step-heading p {
    margin-top: 5px;
    color: #667085;
    font-size: 13px;
    line-height: 1.5;
}

.rds-machine-completion-groups {
    display: grid;
    gap: 16px;
}

.rds-machine-completion-group {
    border: 1px solid #e1e6ec;
    border-radius: 14px;
    overflow: hidden;
    background: #fbfcfd;
}

.rds-machine-completion-group-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 13px;
    border-bottom: 1px solid #e6eaf0;
    background: #f5f7fa;
}

.rds-machine-completion-group-title h4 {
    margin: 0;
    color: #273143;
    font-size: 13px;
}

.rds-machine-completion-group-title button {
    border: 0;
    color: #b45309;
    background: transparent;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.rds-machine-completion-option-list {
    display: grid;
}

.rds-machine-completion-option {
    display: grid;
    grid-template-columns: auto auto minmax(0, 1fr) auto;
    gap: 11px;
    align-items: center;
    min-width: 0;
    padding: 12px 13px;
    border-bottom: 1px solid #edf0f3;
    background: #fff;
    cursor: pointer;
}

.rds-machine-completion-option:last-child {
    border-bottom: 0;
}

.rds-machine-completion-option:hover,
.rds-machine-completion-option:has(input:checked) {
    background: #fff8f2;
}

.rds-machine-completion-option input {
    width: 18px;
    height: 18px;
    accent-color: #e97627;
}

.rds-machine-completion-option-copy {
    min-width: 0;
}

.rds-machine-completion-option-copy strong,
.rds-machine-completion-option-copy small {
    display: block;
}

.rds-machine-completion-option-copy strong {
    overflow: hidden;
    color: #202939;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rds-machine-completion-option-copy small {
    margin-top: 3px;
    color: #667085;
    font-size: 11px;
    line-height: 1.4;
}

.rds-machine-completion-option > b {
    color: #172033;
    font-size: 13px;
    white-space: nowrap;
}

.rds-machine-completion-option.is-document-processor {
    grid-template-columns: auto 72px minmax(0, 1fr) auto;
    border: 1px solid #e2e7ed;
    border-radius: 13px;
    margin-bottom: 10px;
}

.rds-machine-completion-option-image {
    display: grid;
    width: 72px;
    height: 56px;
    place-items: center;
    border: 1px solid #e8ebef;
    border-radius: 9px;
    background: #fff;
}

.rds-machine-completion-option-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.rds-machine-completion-empty {
    display: grid;
    gap: 4px;
    padding: 16px;
    border: 1px solid #fed7aa;
    border-radius: 13px;
    color: #8a4b13;
    background: #fff8ef;
}

.rds-machine-completion-empty strong {
    font-size: 13px;
}

.rds-machine-completion-empty span {
    font-size: 12px;
}

.rds-machine-completion-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e7ebf0;
}

.site-basket-line-completion {
    display: grid;
    gap: 4px;
    margin-top: 6px;
}

.site-basket-completion-warning,
.site-basket-completion-note {
    display: block;
    padding: 5px 7px;
    border-radius: 7px;
    font-size: 10px !important;
    font-weight: 800;
    line-height: 1.35;
}

.site-basket-completion-warning {
    color: #9a3412 !important;
    background: #fff2e8;
}

.site-basket-completion-note {
    color: #475467 !important;
    background: #f2f4f7;
}

@media (max-width: 680px) {
    .rds-machine-completion-modal {
        align-items: end;
        padding: 0;
    }

    .rds-machine-completion-dialog {
        width: 100%;
        max-height: 92vh;
        border-radius: 20px 20px 0 0;
    }

    .rds-machine-completion-header,
    .rds-machine-completion-step {
        padding: 16px;
    }

    .rds-machine-completion-option {
        grid-template-columns: auto auto minmax(0, 1fr);
    }

    .rds-machine-completion-option > b {
        grid-column: 3;
        justify-self: start;
    }

    .rds-machine-completion-option.is-document-processor {
        grid-template-columns: auto 56px minmax(0, 1fr);
    }

    .rds-machine-completion-option-image {
        width: 56px;
        height: 48px;
    }

    .rds-machine-completion-actions {
        flex-direction: column-reverse;
    }

    .rds-machine-completion-actions .button {
        width: 100%;
    }
}

.machine-addon-quality-group {
    display: grid;
    gap: 8px;
    margin-bottom: 14px;
}

.machine-addon-quality-group:last-child {
    margin-bottom: 0;
}

.machine-addon-quality-group > h4 {
    margin: 0;
    padding: 7px 10px;
    border-radius: 8px;
    color: #475467;
    background: #f2f4f7;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.basket-line-completion {
    display: grid;
    gap: 4px;
    margin-top: 6px;
}

/* Public machine details: grouped, readable technical specifications. */
.rds-machine-grouped-specifications {
    padding: 24px;
    background: #f7f9fb;
}

.rds-product-specification-disclosure {
    min-width: 0;
}

.rds-product-specification-disclosure > summary {
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.rds-product-specification-disclosure > summary::-webkit-details-marker {
    display: none;
}

.rds-product-specification-disclosure > .rds-product-specification-heading {
    margin-bottom: 0;
}

.rds-product-specification-disclosure[open] > .rds-product-specification-heading {
    margin-bottom: 14px;
}

.rds-product-specification-disclosure > summary:focus-visible {
    outline: 3px solid rgba(230, 110, 11, .22);
    outline-offset: 5px;
    border-radius: 10px;
}

.rds-product-specification-disclosure > .rds-product-specification-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 18px;
}

.rds-product-specification-heading > div:first-child {
    min-width: 0;
    justify-self: start;
}

.rds-product-specification-heading > .rds-product-document-links {
    justify-self: end;
}

.rds-product-specification-disclosure-action {
    display: inline-flex;
    min-width: 192px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    justify-self: center;
    gap: 9px;
    padding: 10px 18px;
    border: 1px solid #f0b47f;
    border-radius: 8px;
    color: #a84d09;
    background: #fff8f1;
    box-shadow: 0 2px 5px rgba(168, 77, 9, .06);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
    pointer-events: none;
}

.rds-product-specification-state-open {
    display: none;
}

.rds-product-specification-disclosure[open] .rds-product-specification-state-closed {
    display: none;
}

.rds-product-specification-disclosure[open] .rds-product-specification-state-open {
    display: inline;
}

.rds-product-specification-disclosure-chevron {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-right: 2px solid #e66e0b;
    border-bottom: 2px solid #e66e0b;
    transform: rotate(45deg) translateY(-2px);
    transition: transform .16s ease;
}

.rds-product-specification-disclosure[open] .rds-product-specification-disclosure-chevron {
    transform: rotate(225deg) translate(-1px, -1px);
}

.rds-product-specification-disclosure-body {
    min-width: 0;
}

.rds-machine-specification-groups {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.rds-machine-specification-group {
    min-width: 0;
    overflow: hidden;
    border: 1px solid #dde3e9;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 5px 14px rgba(27, 36, 50, .035);
}

.rds-machine-specification-group > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 15px 16px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.rds-machine-specification-group > summary::-webkit-details-marker {
    display: none;
}

.rds-machine-specification-group > summary h3 {
    margin: 0;
    color: #222b39;
    font-size: 16px;
    line-height: 1.25;
}

.rds-machine-specification-group > summary p {
    margin: 4px 0 0;
    color: #7a8492;
    font-size: 11px;
    line-height: 1.4;
}

.rds-machine-specification-toggle {
    width: 9px;
    height: 9px;
    flex: 0 0 9px;
    border-right: 2px solid #e66e0b;
    border-bottom: 2px solid #e66e0b;
    transform: rotate(45deg);
    transition: transform .16s ease;
}

.rds-machine-specification-group[open] > summary {
    border-bottom: 1px solid #edf0f3;
}

.rds-machine-specification-group[open] .rds-machine-specification-toggle {
    transform: rotate(225deg);
}

.rds-machine-specification-list {
    margin: 0;
    padding: 4px 16px 12px;
}

.rds-machine-specification-list > div {
    display: grid;
    grid-template-columns: minmax(125px, .82fr) minmax(0, 1.18fr);
    align-items: start;
    gap: 14px;
    padding: 10px 0;
    border-top: 1px solid #eef1f4;
}

.rds-machine-specification-list > div:first-child {
    border-top: 0;
}

.rds-machine-specification-list > div.wide {
    grid-template-columns: 1fr;
    gap: 5px;
}

.rds-machine-specification-list dt {
    margin: 0;
    color: #818b99;
    font-size: 9.5px;
    font-weight: 900;
    letter-spacing: .045em;
    line-height: 1.35;
    text-transform: uppercase;
}

.rds-machine-specification-list dd {
    min-width: 0;
    margin: 0;
    color: #252e3b;
    font-size: 13px;
    font-weight: 760;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.rds-machine-specification-action {
    padding: 0 16px 15px;
}

.rds-machine-specification-action a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid #f1b985;
    border-radius: 9px;
    color: #b65300;
    background: #fff8f1;
    font-size: 11.5px;
    font-weight: 850;
    line-height: 1.2;
    text-decoration: none;
    transition: border-color .16s ease, background .16s ease, transform .16s ease;
}

.rds-machine-specification-action a:hover,
.rds-machine-specification-action a:focus-visible {
    border-color: #e97516;
    background: #fff1e4;
    transform: translateY(-1px);
}

.rds-machine-specification-action a span {
    color: #e66e0b;
    font-size: 14px;
}

.rds-configurator-accessory-card {
    scroll-margin-top: 110px;
}

.rds-configurator-accessory-card.is-document-processor-jump-highlight {
    border-color: #ed7920;
    box-shadow: 0 0 0 3px rgba(237, 121, 32, .16), 0 12px 28px rgba(31, 42, 57, .1);
}

.rds-product-additional-specifications {
    margin-top: 18px;
    padding-top: 17px;
    border-top: 1px solid #dde3e9;
}

.rds-product-additional-specifications > h3 {
    margin: 0 0 11px;
    color: #313b49;
    font-size: 15px;
}

@media (max-width: 900px) {
    .rds-machine-specification-groups {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .rds-product-specification-disclosure > .rds-product-specification-heading {
        grid-template-columns: 1fr;
        align-items: stretch;
        gap: 12px;
    }

    .rds-product-specification-heading > div:first-child,
    .rds-product-specification-disclosure-action,
    .rds-product-specification-heading > .rds-product-document-links {
        width: 100%;
        justify-self: stretch;
    }

    .rds-product-specification-disclosure-action,
    .rds-product-specification-heading > .rds-product-document-links .rds-product-spec-download {
        width: 100%;
    }

    .rds-product-specification-heading > .rds-product-document-links .rds-product-spec-download {
        min-height: 40px;
    }
}

@media (max-width: 620px) {
    .rds-machine-grouped-specifications {
        padding: 16px;
    }

    .rds-machine-specification-groups {
        gap: 10px;
    }

    .rds-machine-specification-group > summary {
        padding: 14px;
    }

    .rds-machine-specification-group > summary p {
        display: none;
    }

    .rds-machine-specification-list {
        padding: 3px 14px 10px;
    }

    .rds-machine-specification-list > div,
    .rds-machine-specification-list > div.wide {
        grid-template-columns: 1fr;
        gap: 4px;
        padding: 9px 0;
    }

    .rds-machine-specification-action {
        padding: 0 14px 13px;
    }

    .rds-machine-specification-action a {
        width: 100%;
        justify-content: center;
    }
}

/* Portal Machines: copy technical specifications from an existing registered machine. */
.machine-copy-specs-title-row {
    align-items: center;
    gap: 14px;
}

.machine-copy-specs-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
}

.machine-copy-specs-open {
    border-color: #f0a36d;
    color: #9b4a08;
    background: #fff8f2;
    font-weight: 850;
}

.machine-copy-specs-open:hover {
    border-color: #eb7625;
    color: #7c3603;
    background: #fff1e5;
}

.machine-copy-specs-notice {
    margin: 0 0 14px;
    padding: 11px 13px;
    border: 1px solid #b9dfc9;
    border-radius: 10px;
    color: #245c3b;
    background: #effaf4;
    font-size: 12px;
    line-height: 1.45;
}

.machine-copy-specs-notice strong {
    display: block;
    margin-bottom: 2px;
}

.machine-spec-copy-dialog {
    width: min(720px, calc(100vw - 32px));
    max-height: min(86vh, 820px);
    padding: 0;
    overflow: hidden;
    border: 0;
    border-radius: 18px;
    color: #1d2633;
    background: #fff;
    box-shadow: 0 30px 80px rgba(17, 24, 39, .28);
}

.machine-spec-copy-dialog::backdrop {
    background: rgba(17, 24, 39, .52);
    backdrop-filter: blur(2px);
}

.machine-spec-copy-shell {
    display: grid;
    gap: 15px;
    max-height: min(86vh, 820px);
    padding: 22px;
    overflow: auto;
}

.machine-spec-copy-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.machine-spec-copy-header h2 {
    margin: 3px 0 5px;
    font-size: 22px;
    line-height: 1.2;
}

.machine-spec-copy-kicker {
    color: #e76d17;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.machine-spec-copy-warning {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid #fed7aa;
    border-radius: 11px;
    color: #75400c;
    background: #fff8ed;
    font-size: 12px;
    line-height: 1.45;
}

.machine-spec-copy-search-label,
.machine-spec-copy-source-label {
    display: grid;
    gap: 7px;
    color: #344054;
    font-size: 12px;
    font-weight: 850;
}

.machine-spec-copy-search-label input,
.machine-spec-copy-source-label select {
    width: 100%;
    border: 1px solid #cfd6df;
    border-radius: 10px;
    color: #1f2937;
    background: #fff;
    font: inherit;
}

.machine-spec-copy-search-label input {
    min-height: 42px;
    padding: 9px 11px;
}

.machine-spec-copy-source-label select {
    min-height: 235px;
    padding: 6px;
}

.machine-spec-copy-source-label option {
    padding: 8px 9px;
    border-radius: 7px;
}

.machine-spec-copy-status {
    min-height: 20px;
    color: #667085;
    font-size: 12px;
    font-weight: 700;
}

.machine-spec-copy-status.success {
    color: #247044;
}

.machine-spec-copy-status.error {
    color: #b42318;
}

.machine-spec-copy-preview {
    padding: 14px;
    border: 1px solid #dde3ea;
    border-radius: 12px;
    background: #f8fafc;
}

.machine-spec-copy-preview-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.machine-spec-copy-preview-grid > div {
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid #e3e8ef;
    border-radius: 9px;
    background: #fff;
}

.machine-spec-copy-preview-grid span,
.machine-spec-copy-preview-grid strong {
    display: block;
}

.machine-spec-copy-preview-grid span {
    margin-bottom: 3px;
    color: #7b8797;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.machine-spec-copy-preview-grid strong {
    overflow: hidden;
    color: #202938;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.machine-spec-copy-exclusions {
    display: grid;
    gap: 3px;
    margin-top: 12px;
    padding-top: 11px;
    border-top: 1px solid #dfe5ec;
    color: #596579;
    font-size: 11px;
    line-height: 1.45;
}

.machine-spec-copy-actions {
    position: sticky;
    bottom: -22px;
    display: flex;
    justify-content: flex-end;
    gap: 9px;
    margin: 2px -22px -22px;
    padding: 15px 22px;
    border-top: 1px solid #e2e7ed;
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(6px);
}

@media (max-width: 680px) {
    .machine-copy-specs-title-row,
    .machine-copy-specs-heading-actions {
        align-items: stretch;
    }

    .machine-copy-specs-title-row {
        flex-direction: column;
    }

    .machine-copy-specs-heading-actions {
        justify-content: flex-start;
    }

    .machine-copy-specs-open {
        width: 100%;
    }

    .machine-spec-copy-shell {
        padding: 17px;
    }

    .machine-spec-copy-preview-grid {
        grid-template-columns: 1fr;
    }

    .machine-spec-copy-actions {
        bottom: -17px;
        margin: 2px -17px -17px;
        padding: 13px 17px;
    }

    .machine-spec-copy-actions .button {
        flex: 1 1 0;
    }
}

@media (max-width: 700px) {
    .rds-product-document-links,
    .rds-product-spec-download {
        width: 100%;
    }

    .rds-product-spec-download {
        min-height: 44px;
        padding: 11px 13px;
        text-align: center;
    }
}

/* Partner-specific fixed-price matrix. */
.settings-heading-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 9px;
}

.partner-pricing-page {
    min-width: 0;
}

.partner-pricing-heading {
    align-items: flex-start;
}

.partner-pricing-summary {
    display: grid;
    grid-template-columns: auto auto minmax(260px, 1fr);
    gap: 12px;
    align-items: stretch;
    margin-bottom: 14px;
    padding: 14px;
}

.partner-pricing-summary > div {
    min-width: 150px;
    padding: 11px 14px;
    border: 1px solid #e4e8ed;
    border-radius: 11px;
    background: #f8fafc;
}

.partner-pricing-summary strong,
.partner-pricing-summary span {
    display: block;
}

.partner-pricing-summary strong {
    color: #172033;
    font-size: 22px;
    line-height: 1;
}

.partner-pricing-summary span {
    margin-top: 4px;
    color: #687385;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.partner-pricing-summary p {
    margin: 0;
    padding: 12px 14px;
    border-left: 3px solid #ed7624;
    border-radius: 8px;
    color: #526074;
    background: #fff8f2;
    font-size: 12px;
    line-height: 1.5;
}

.partner-pricing-filters {
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) minmax(190px, .75fr) minmax(240px, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 14px;
    padding: 14px;
}

.partner-pricing-filters > label:not(.check) {
    display: grid;
    gap: 6px;
    color: #384356;
    font-size: 11px;
    font-weight: 850;
}

.partner-pricing-special-filter {
    min-height: 42px;
    align-items: center;
    margin: 0;
    padding: 8px 11px;
    border: 1px solid #e2e7ed;
    border-radius: 9px;
    background: #fafbfc;
}

.partner-pricing-filter-actions {
    display: flex;
    gap: 8px;
}

.partner-pricing-form {
    min-width: 0;
}

.partner-pricing-savebar {
    position: sticky;
    top: 8px;
    z-index: 7;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 10px;
    padding: 11px 13px;
    border: 1px solid #dfe5eb;
    border-radius: 12px;
    background: rgba(255, 255, 255, .96);
    box-shadow: 0 8px 22px rgba(21, 31, 47, .07);
    backdrop-filter: blur(8px);
}

.partner-pricing-savebar > div {
    display: grid;
    gap: 2px;
}

.partner-pricing-savebar strong {
    color: #202a3a;
    font-size: 13px;
}

.partner-pricing-savebar span {
    color: #748092;
    font-size: 11px;
}

.partner-pricing-table-wrap {
    max-width: 100%;
    max-height: calc(100vh - 220px);
    overflow: auto;
    border: 1px solid #dfe4ea;
    border-radius: 13px;
    background: #fff;
    box-shadow: 0 9px 24px rgba(21, 31, 47, .045);
}

.partner-pricing-table {
    width: max-content;
    min-width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    color: #253044;
    font-size: 12px;
}

.partner-pricing-table th,
.partner-pricing-table td {
    min-width: 155px;
    padding: 10px;
    border-right: 1px solid #e5e9ee;
    border-bottom: 1px solid #e5e9ee;
    vertical-align: middle;
    background: #fff;
}

.partner-pricing-table thead th {
    position: sticky;
    top: 0;
    z-index: 4;
    height: 58px;
    color: #354055;
    background: #f3f6f9;
    box-shadow: 0 1px 0 #dfe4ea;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.partner-pricing-table tbody tr:hover > * {
    background: #fffaf6;
}

.partner-pricing-table tr:last-child > * {
    border-bottom: 0;
}

.partner-pricing-table tr > *:last-child {
    border-right: 0;
}

.partner-pricing-product-column {
    position: sticky;
    left: 0;
    z-index: 3;
    min-width: 245px !important;
    max-width: 310px;
    text-align: left;
    background: #fff !important;
    box-shadow: 2px 0 0 #e1e6eb;
}

.partner-pricing-table thead .partner-pricing-product-column {
    z-index: 6;
    background: #f3f6f9 !important;
}

.partner-pricing-product-column strong,
.partner-pricing-product-column small,
.partner-pricing-default-column strong,
.partner-pricing-default-column small,
.partner-pricing-partner-column strong,
.partner-pricing-partner-column small {
    display: block;
}

.partner-pricing-product-column strong {
    color: #162033;
    font-size: 12px;
    line-height: 1.3;
}

.partner-pricing-product-column small,
.partner-pricing-default-column small,
.partner-pricing-partner-column small {
    margin-top: 3px;
    color: #7b8697;
    font-size: 9.5px;
    font-weight: 700;
    line-height: 1.25;
    text-transform: none;
}

.partner-pricing-type {
    display: inline-flex;
    padding: 4px 7px;
    border-radius: 999px;
    color: #596579;
    background: #eef2f6;
    font-size: 9.5px;
    font-weight: 850;
    white-space: nowrap;
}

.partner-pricing-default-column {
    min-width: 165px !important;
}

.partner-pricing-default-column strong {
    color: #1f2a3c;
    font-size: 12px;
}

.partner-pricing-default-column .price-on-request {
    color: #8a5c2f;
    font-size: 10.5px;
}

.partner-pricing-partner-column {
    min-width: 175px !important;
    max-width: 210px;
    text-align: left;
}

.partner-pricing-partner-column strong {
    color: #172033;
    font-size: 11px;
    line-height: 1.25;
    text-transform: none;
}

.partner-pricing-cell {
    min-width: 175px !important;
    transition: background-color .15s ease;
}

.partner-pricing-cell label {
    position: relative;
    display: block;
}

.partner-pricing-currency {
    position: absolute;
    top: 50%;
    left: 9px;
    transform: translateY(-50%);
    color: #6b7688;
    font-weight: 900;
    pointer-events: none;
}

.partner-pricing-cell input {
    width: 100%;
    min-width: 125px;
    height: 38px;
    padding: 7px 9px 7px 25px;
    border: 1px solid #d8dee6;
    border-radius: 8px;
    color: #172033;
    background: #fff;
    font-size: 12px;
    font-weight: 800;
}

.partner-pricing-cell input::placeholder {
    color: #a3acb8;
    font-weight: 650;
}

.partner-pricing-cell input:focus {
    border-color: #ed7624;
    outline: 3px solid rgba(237, 118, 36, .14);
}

.partner-pricing-cell > small {
    display: block;
    margin-top: 4px;
    color: #8993a2;
    font-size: 9px;
    font-weight: 750;
}

.partner-pricing-cell.has-override input {
    border-color: #efb386;
    background: #fff8f2;
}

.partner-pricing-cell.is-changed {
    background: #fff2e8 !important;
}

.partner-pricing-cell.is-changed input {
    border-color: #e96e17;
    box-shadow: 0 0 0 2px rgba(233, 110, 23, .11);
}

@media (max-width: 1100px) {
    .partner-pricing-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .partner-pricing-filter-actions {
        justify-content: flex-end;
    }
}

@media (max-width: 720px) {
    .settings-heading-actions,
    .partner-pricing-heading,
    .partner-pricing-savebar {
        align-items: stretch;
        flex-direction: column;
    }

    .settings-heading-actions .button,
    .partner-pricing-heading > .button,
    .partner-pricing-savebar .button {
        width: 100%;
    }

    .partner-pricing-summary,
    .partner-pricing-filters {
        grid-template-columns: 1fr;
    }

    .partner-pricing-summary > div {
        min-width: 0;
    }

    .partner-pricing-filter-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .partner-pricing-savebar {
        position: static;
    }

    .partner-pricing-table-wrap {
        max-height: none;
    }

    .partner-pricing-product-column {
        min-width: 205px !important;
        max-width: 235px;
    }
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

/* Partner companies: company-based pricing and user assignment. */
.company-data-table td {
    vertical-align: middle;
}

.company-data-table td > small,
.company-data-table td > span + small {
    display: block;
    margin-top: 4px;
}

.company-management-dialog {
    width: min(760px, calc(100vw - 28px));
}

.company-management-dialog .user-dialog-grid {
    align-items: start;
}

.account-company-name {
    margin-top: 7px;
    color: #5b6470;
    font-size: 13px;
    font-weight: 800;
}

@media (max-width: 720px) {
    .company-data-table {
        min-width: 880px;
    }
}

/* Company user administration and per-user price visibility. */
.user-username {
    display: block;
    margin-top: 3px;
    color: #687384;
    font-size: 11px;
    font-weight: 750;
}

.user-permission-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.company-admin-scope-note {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    margin: 0 0 14px;
    padding: 12px 14px;
    border-left: 4px solid #e97818;
    border-radius: 10px;
    background: #fff7ed;
    color: #4b5563;
}

.company-admin-scope-note strong {
    flex: 0 0 auto;
    color: #9a4b0a;
}

.company-user-table td small {
    display: block;
    margin-top: 3px;
    color: #737e8d;
}

.price-hidden strong,
.basket-prices-hidden strong,
.site-basket-prices-hidden strong,
.order-prices-hidden-notice {
    color: #586271;
}

.order-prices-hidden-notice {
    margin-top: 14px;
    padding: 13px 15px;
    border: 1px solid #dde2e8;
    border-radius: 10px;
    background: #f8fafc;
    font-weight: 750;
}

@media (max-width: 700px) {
    .company-admin-scope-note {
        flex-direction: column;
        gap: 4px;
    }
}

/* Temporary-password onboarding and password complexity */
.temporary-password-note {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    color: #7c3f08;
    background: #fff7ed;
}

.temporary-password-note span {
    color: #6b4a2c;
    font-size: 12px;
    line-height: 1.45;
}

.user-status-badge.password-pending {
    margin-top: 5px;
    color: #8a4b0f;
    background: #fff1dc;
    border-color: #f6c984;
}

.force-password-card {
    width: min(560px, calc(100% - 32px));
    margin: 56px auto;
    padding: 28px;
    border: 1px solid #e1e5ea;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(24, 31, 43, .1);
}

.force-password-card .auth-card-heading h1 {
    margin: 5px 0 8px;
}

.force-password-card .auth-card-heading p {
    color: #647083;
    line-height: 1.55;
}

.password-rules-panel {
    display: grid;
    gap: 5px;
    margin: 6px 0 4px;
    padding: 13px 14px;
    border: 1px solid #dfe5ec;
    border-radius: 12px;
    color: #475569;
    background: #f8fafc;
    font-size: 12px;
    line-height: 1.4;
}

.password-rules-panel strong {
    color: #26303d;
}

.password-rules-panel span::before {
    content: "✓";
    margin-right: 7px;
    color: #e66d10;
    font-weight: 900;
}

.password-rules-panel.compact {
    margin-top: 10px;
}

.force-password-logout {
    margin-top: 10px;
    text-align: center;
}

@media (max-width: 620px) {
    .force-password-card {
        margin: 24px auto;
        padding: 20px;
        border-radius: 16px;
    }
}

.force-password-card .auth-eyebrow {
    display: block;
    color: #d9650d;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.force-password-card .auth-form {
    display: grid;
    gap: 14px;
    margin-top: 20px;
}

.force-password-card .auth-form label {
    display: grid;
    gap: 7px;
    color: #303846;
    font-size: 13px;
    font-weight: 800;
}

.force-password-card .auth-form input {
    width: 100%;
    box-sizing: border-box;
    padding: 11px 12px;
    border: 1px solid #cfd6df;
    border-radius: 10px;
    font: inherit;
}

.force-password-card .auth-form input:focus {
    border-color: #e66d10;
    outline: 3px solid rgba(230, 109, 16, .13);
}

/* Partner company product access controls inside the pricing matrix. */
.partner-product-access-toggle {
    display: flex !important;
    align-items: center;
    gap: 7px;
    margin: 0 0 7px;
    color: #315746;
    font-size: 10px;
    line-height: 1.2;
    cursor: pointer;
}

.partner-product-access-toggle input {
    width: 17px !important;
    height: 17px;
    flex: 0 0 17px;
    margin: 0;
    accent-color: #e97725;
}

.partner-product-access-toggle > span {
    display: grid;
    width: 20px;
    height: 20px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #37805e;
    font-size: 9px;
}

.partner-product-access-toggle strong {
    font-size: 10px;
    font-weight: 850;
}

.partner-price-entry {
    display: block;
    position: relative;
}

.partner-pricing-cell.is-hidden-product {
    background: #f4f5f7;
}

.partner-pricing-cell.is-hidden-product .partner-product-access-toggle {
    color: #7a3940;
}

.partner-pricing-cell.is-hidden-product .partner-product-access-toggle > span {
    background: #8b949f;
}

.partner-pricing-cell.is-hidden-product .partner-price-entry,
.partner-pricing-cell.is-hidden-product [data-price-mode] {
    opacity: .52;
}

.partner-access-column-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
    margin-top: 7px;
}

.partner-access-column-actions button {
    padding: 3px 6px;
    border: 1px solid #d7dde5;
    border-radius: 6px;
    color: #586373;
    background: #fff;
    font: inherit;
    font-size: 8px;
    font-weight: 800;
    cursor: pointer;
}

.partner-access-column-actions button:hover,
.partner-access-column-actions button:focus-visible {
    border-color: #e97725;
    color: #b65300;
    outline: none;
}

.partner-pricing-filters {
    grid-template-columns: minmax(220px, 1.5fr) minmax(180px, .8fr) auto auto auto;
}

@media (max-width: 1100px) {
    .partner-pricing-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .partner-pricing-filters {
        grid-template-columns: 1fr;
    }
}

/* Compact Partner Pricing & Product Access matrix. */
.partner-pricing-table th,
.partner-pricing-table td {
    padding: 7px 9px;
}

.partner-pricing-table tbody tr {
    height: 56px;
}

.partner-pricing-product-column {
    min-width: 230px !important;
    max-width: 285px;
}

.partner-pricing-product-column strong {
    font-size: 12.5px;
}

.partner-pricing-product-meta {
    display: flex !important;
    align-items: center;
    flex-wrap: wrap;
    gap: 3px;
    margin-top: 2px !important;
    color: #7a8595 !important;
    font-size: 9px !important;
    font-weight: 750 !important;
}

.partner-pricing-default-column {
    min-width: 150px !important;
    width: 150px;
}

.partner-default-price-entry,
.partner-price-entry {
    position: relative;
    display: block;
    min-width: 0;
}

.partner-default-price-entry input,
.partner-pricing-cell input[data-company-price] {
    width: 100%;
    min-width: 0;
    height: 32px;
    box-sizing: border-box;
    padding: 5px 7px 5px 23px;
    border: 1px solid #d8dee6;
    border-radius: 7px;
    color: #172033;
    background: #fff;
    font-size: 11.5px;
    font-weight: 800;
}

.partner-default-price-entry input::placeholder,
.partner-pricing-cell input[data-company-price]::placeholder {
    color: #a3acb8;
    font-weight: 650;
}

.partner-default-price-entry input:focus,
.partner-pricing-cell input[data-company-price]:focus {
    border-color: #ed7624;
    outline: 2px solid rgba(237, 118, 36, .13);
}

.partner-pricing-currency {
    left: 8px;
    font-size: 11px;
}

.partner-pricing-default-column > small,
.partner-pricing-cell > small {
    display: block;
    margin-top: 2px;
    color: #8993a2;
    font-size: 8.5px;
    font-weight: 800;
    line-height: 1.15;
    text-transform: lowercase;
}

.partner-pricing-default-column.has-default-price input,
.partner-pricing-cell.has-override input[data-company-price] {
    border-color: #efb386;
    background: #fff8f2;
}

.partner-pricing-default-column.is-changed,
.partner-pricing-cell.is-changed {
    background: #fff2e8 !important;
}

.partner-pricing-default-column.is-changed input,
.partner-pricing-cell.is-changed input[data-company-price] {
    border-color: #e96e17;
    box-shadow: 0 0 0 2px rgba(233, 110, 23, .1);
}

.partner-pricing-partner-column,
.partner-pricing-cell {
    min-width: 158px !important;
    max-width: 185px;
}

.partner-pricing-cell-main {
    display: grid;
    grid-template-columns: 17px minmax(0, 1fr);
    align-items: center;
    gap: 7px;
}

.partner-product-access-toggle {
    display: block !important;
    margin: 0 !important;
    cursor: pointer;
}

.partner-product-access-toggle input[type="checkbox"] {
    display: block;
    width: 16px !important;
    min-width: 16px !important;
    height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0;
    accent-color: #e97725;
    cursor: pointer;
}

.partner-pricing-cell.is-hidden-product {
    background: #f3f5f7 !important;
}

.partner-pricing-cell.is-hidden-product .partner-price-entry,
.partner-pricing-cell.is-hidden-product [data-price-mode] {
    opacity: .5;
}

.partner-pricing-cell.is-hidden-product input[data-company-price] {
    background: #edf0f3;
}

@media (max-width: 720px) {
    .partner-pricing-product-column {
        min-width: 190px !important;
    }

    .partner-pricing-partner-column,
    .partner-pricing-cell {
        min-width: 150px !important;
    }
}

/* Partner Pricing matrix: full-width all-company editing experience. */
.partner-pricing-save-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px;
}

.partner-pricing-view-button {
    min-height: 36px;
    padding: 7px 10px;
    white-space: nowrap;
}

.partner-pricing-horizontal-scroll {
    width: 100%;
    height: 14px;
    overflow-x: auto;
    overflow-y: hidden;
    border: 1px solid #dfe4ea;
    border-radius: 8px;
    background: #f4f6f8;
    scrollbar-color: #9ba5b2 #e8ecf0;
    scrollbar-width: thin;
}

.partner-pricing-horizontal-scroll[hidden] {
    display: none;
}

.partner-pricing-horizontal-scroll > div {
    height: 1px;
}

.partner-pricing-horizontal-scroll-top {
    margin: 0 0 5px;
}

.partner-pricing-horizontal-scroll-bottom {
    margin: 5px 0 0;
}

.partner-pricing-horizontal-scroll::-webkit-scrollbar {
    height: 11px;
}

.partner-pricing-horizontal-scroll::-webkit-scrollbar-track {
    border-radius: 999px;
    background: #e8ecf0;
}

.partner-pricing-horizontal-scroll::-webkit-scrollbar-thumb {
    border: 2px solid #e8ecf0;
    border-radius: 999px;
    background: #9ba5b2;
}

.partner-pricing-table-wrap {
    max-height: calc(100vh - 250px);
    border-radius: 10px;
}

.partner-pricing-table-wrap::-webkit-scrollbar {
    width: 11px;
    height: 0;
}

.partner-pricing-table-wrap::-webkit-scrollbar-thumb {
    border: 2px solid #eef1f4;
    border-radius: 999px;
    background: #9ba5b2;
}

.partner-pricing-table th,
.partner-pricing-table td {
    padding: 6px 7px;
}

.partner-pricing-table thead th {
    height: 52px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.partner-pricing-product-column {
    width: 210px !important;
    min-width: 210px !important;
    max-width: 210px !important;
}

.partner-pricing-default-column {
    position: sticky;
    left: 210px;
    z-index: 3;
    width: 128px !important;
    min-width: 128px !important;
    max-width: 128px !important;
    background: #fff !important;
    box-shadow: 2px 0 0 #e1e6eb;
}

.partner-pricing-table thead .partner-pricing-default-column {
    z-index: 6;
    background: #f3f6f9 !important;
}

.partner-pricing-partner-column,
.partner-pricing-cell {
    width: 136px !important;
    min-width: 136px !important;
    max-width: 136px !important;
}

.partner-company-compact-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 18px;
    align-items: start;
    gap: 4px;
}

.partner-company-compact-header strong {
    display: -webkit-box;
    overflow: hidden;
    min-width: 0;
    margin: 0;
    color: #172033;
    font-size: 10px;
    line-height: 1.15;
    text-transform: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.partner-company-info {
    display: grid;
    width: 18px;
    height: 18px;
    place-items: center;
    padding: 0;
    border: 1px solid #ccd4dd;
    border-radius: 50%;
    color: #5d6878;
    background: #fff;
    font: inherit;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    cursor: help;
}

.partner-company-info:hover,
.partner-company-info:focus-visible {
    border-color: #e97725;
    color: #b65300;
    outline: none;
}

.partner-access-column-actions {
    flex-wrap: nowrap;
    gap: 3px;
    margin-top: 4px;
}

.partner-access-column-actions button {
    flex: 1 1 0;
    min-width: 0;
    padding: 2px 3px;
    font-size: 7.5px;
    white-space: nowrap;
}

.partner-pricing-cell-main {
    grid-template-columns: 15px minmax(0, 1fr);
    gap: 5px;
}

.partner-product-access-toggle input[type="checkbox"] {
    width: 15px !important;
    min-width: 15px !important;
    height: 15px !important;
}

.partner-default-price-entry input,
.partner-pricing-cell input[data-company-price] {
    height: 29px;
    padding: 4px 5px 4px 20px;
    border-radius: 6px;
    font-size: 10.5px;
}

.partner-pricing-currency {
    left: 7px;
    font-size: 9.5px;
}

.partner-pricing-cell.uses-default {
    background: #fff;
}

.partner-pricing-cell.has-override {
    background: #fff8f2;
}

.partner-pricing-cell.is-hidden-product {
    background: #eef1f4 !important;
}

.partner-pricing-cell.is-hidden-product input[data-company-price] {
    color: #8d97a5;
    background: #e4e8ec;
}

.partner-pricing-cell[title="custom"] {
    box-shadow: inset 3px 0 0 #e97725;
}

.partner-pricing-page.is-dense .partner-pricing-table tbody tr {
    height: 43px;
}

.partner-pricing-page.is-dense .partner-pricing-table th,
.partner-pricing-page.is-dense .partner-pricing-table td {
    padding-top: 4px;
    padding-bottom: 4px;
}

.partner-pricing-page.is-dense .partner-pricing-product-column strong {
    overflow: hidden;
    font-size: 11px;
    line-height: 1.15;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.partner-pricing-page.is-dense .partner-pricing-product-meta {
    overflow: hidden;
    flex-wrap: nowrap;
    font-size: 8px !important;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.partner-pricing-page.is-dense .partner-default-price-entry input,
.partner-pricing-page.is-dense .partner-pricing-cell input[data-company-price] {
    height: 27px;
    font-size: 10px;
}

.partner-pricing-page.is-dense .partner-pricing-product-column {
    width: 195px !important;
    min-width: 195px !important;
    max-width: 195px !important;
}

.partner-pricing-page.is-dense .partner-pricing-default-column {
    left: 195px;
    width: 118px !important;
    min-width: 118px !important;
    max-width: 118px !important;
}

.partner-pricing-page.is-dense .partner-pricing-partner-column,
.partner-pricing-page.is-dense .partner-pricing-cell {
    width: 126px !important;
    min-width: 126px !important;
    max-width: 126px !important;
}

/* Full-screen matrix mode covers the site chrome without changing routes or data. */
body.partner-pricing-fullscreen {
    overflow: hidden;
}

body.partner-pricing-fullscreen .partner-pricing-page {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    flex-direction: column;
    width: auto;
    max-width: none;
    min-height: 0;
    padding: 8px;
    overflow: hidden;
    box-sizing: border-box;
    background: #f3f5f7;
}

body.partner-pricing-fullscreen .partner-pricing-heading,
body.partner-pricing-fullscreen .partner-pricing-summary {
    display: none;
}

body.partner-pricing-fullscreen .partner-pricing-page > .alert {
    flex: 0 0 auto;
    margin: 0 0 6px;
    padding: 7px 10px;
}

body.partner-pricing-fullscreen .partner-pricing-filters {
    flex: 0 0 auto;
    grid-template-columns: minmax(190px, 1.4fr) minmax(145px, .7fr) auto auto auto;
    gap: 7px;
    margin: 0 0 6px;
    padding: 7px;
    border-radius: 9px;
}

body.partner-pricing-fullscreen .partner-pricing-filters > label:not(.check) {
    gap: 3px;
    font-size: 9px;
}

body.partner-pricing-fullscreen .partner-pricing-filters input,
body.partner-pricing-fullscreen .partner-pricing-filters select {
    min-height: 32px;
    padding-top: 5px;
    padding-bottom: 5px;
}

body.partner-pricing-fullscreen .partner-pricing-special-filter {
    min-height: 32px;
    padding: 5px 7px;
    font-size: 10px;
}

body.partner-pricing-fullscreen .partner-pricing-form {
    display: flex;
    flex: 1 1 auto;
    min-height: 0;
    flex-direction: column;
}

body.partner-pricing-fullscreen .partner-pricing-savebar {
    position: static;
    flex: 0 0 auto;
    margin-bottom: 5px;
    padding: 7px 9px;
    border-radius: 9px;
}

body.partner-pricing-fullscreen .partner-pricing-savebar strong {
    font-size: 11px;
}

body.partner-pricing-fullscreen .partner-pricing-savebar span {
    font-size: 9px;
}

body.partner-pricing-fullscreen .partner-pricing-save-actions .button {
    min-height: 32px;
    padding: 5px 8px;
    font-size: 10px;
}

body.partner-pricing-fullscreen .partner-pricing-table-wrap {
    flex: 1 1 auto;
    min-height: 0;
    max-height: none;
    border-radius: 8px;
}

body.partner-pricing-fullscreen .partner-pricing-horizontal-scroll {
    flex: 0 0 13px;
    height: 13px;
}

@media (max-width: 900px) {
    .partner-pricing-savebar {
        align-items: stretch;
        flex-direction: column;
    }

    .partner-pricing-save-actions {
        justify-content: flex-start;
    }

    body.partner-pricing-fullscreen .partner-pricing-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
.partner-pricing-cell.has-override {
    box-shadow: inset 3px 0 0 #e97725;
}

/* Partner Pricing: confirmation dialog for hiding active website products. */
.partner-access-warning-dialog {
    width: min(620px, calc(100vw - 32px));
    max-width: 620px;
    padding: 0;
    overflow: visible;
    border: 0;
    border-radius: 18px;
    color: #26313f;
    background: transparent;
    box-shadow: 0 26px 70px rgba(17, 24, 39, .28);
}

.partner-access-warning-dialog::backdrop {
    background: rgba(17, 24, 39, .56);
    backdrop-filter: blur(2px);
}

.partner-access-warning-card {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding: 22px;
    border: 1px solid #f2c9a7;
    border-radius: 18px;
    background: #fff;
}

.partner-access-warning-icon {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    color: #9a4100;
    background: #fff0e3;
    font-size: 22px;
    font-weight: 950;
}

.partner-access-warning-copy h2 {
    margin: 0;
    color: #202833;
    font-size: 20px;
    line-height: 1.25;
}

.partner-access-warning-copy p {
    margin: 8px 0 0;
    color: #566171;
    font-size: 13px;
    line-height: 1.55;
}

.partner-access-warning-copy .partner-access-warning-detail {
    padding: 10px 12px;
    border: 1px solid #e4e8ed;
    border-radius: 10px;
    color: #384454;
    background: #f7f9fb;
    font-weight: 700;
}

.partner-access-warning-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    padding-top: 4px;
}

.partner-access-warning-actions .button.danger {
    border-color: #b42318;
    color: #fff;
    background: #b42318;
}

.partner-access-warning-actions .button.danger:hover,
.partner-access-warning-actions .button.danger:focus-visible {
    border-color: #8f1c13;
    background: #8f1c13;
}

.partner-access-warning-related {
    border-color: #e97725 !important;
    color: #9b470d !important;
    background: #fff6ef !important;
}

@media (max-width: 620px) {
    .partner-access-warning-card {
        grid-template-columns: 36px minmax(0, 1fr);
        gap: 11px;
        padding: 17px;
    }

    .partner-access-warning-icon {
        width: 36px;
        height: 36px;
        font-size: 18px;
    }

    .partner-access-warning-copy h2 {
        font-size: 17px;
    }

    .partner-access-warning-actions {
        flex-direction: column-reverse;
    }

    .partner-access-warning-actions .button {
        width: 100%;
    }
}

/* Portal Machines: copy only one reusable machine-data section. */
.machine-section-copy-open {
    flex: 0 0 auto;
    min-height: 36px;
    align-self: center;
    border-color: #efb083;
    color: #934409;
    background: #fff8f2;
    font-weight: 850;
    white-space: nowrap;
}

.machine-section-copy-open:hover {
    border-color: #e97818;
    color: #713202;
    background: #fff0e3;
}

.machine-section-copy-notice {
    margin: -2px 0 13px;
    padding: 10px 12px;
    border: 1px solid #b9dfc9;
    border-radius: 10px;
    color: #245c3b;
    background: #effaf4;
    font-size: 12px;
    line-height: 1.45;
}

.machine-section-copy-notice strong {
    display: block;
    margin-bottom: 2px;
}

@media (max-width: 680px) {
    .machine-spec-subsection-heading:has(.machine-section-copy-open) {
        align-items: stretch;
        flex-direction: column;
    }

    .machine-section-copy-open {
        width: 100%;
        justify-content: center;
    }
}

/* Configurable, collapsed toner running-cost estimates. */
.rds-running-cost-disclosure {
    margin: 14px 0 2px;
    border: 1px solid #dfe4ea;
    border-left: 4px solid #202936;
    border-radius: 13px;
    background: #f9fafb;
    overflow: hidden;
}

.rds-running-cost-toggle {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) auto 22px;
    gap: 13px;
    align-items: center;
    padding: 14px 16px;
    cursor: pointer;
    list-style: none;
}

.rds-running-cost-toggle::-webkit-details-marker {
    display: none;
}

.rds-running-cost-toggle:hover {
    background: #fff;
}

.rds-running-cost-toggle-copy {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.rds-running-cost-toggle-copy strong {
    color: #222a35;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.3;
}

.rds-running-cost-toggle-copy small {
    color: #717b88;
    font-size: 10.6px;
    font-weight: 600;
    line-height: 1.35;
}

.rds-running-cost-chevron {
    color: #a74b0a;
    font-size: 21px;
    font-weight: 900;
    line-height: 1;
    transition: transform .18s ease;
}

.rds-running-cost-disclosure[open] .rds-running-cost-chevron {
    transform: rotate(180deg);
}

.rds-running-cost-panel {
    padding: 14px 16px 16px 67px;
    border-top: 1px solid #e3e7ec;
    background: #f9fafb;
}

.rds-running-cost-icon {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border-radius: 11px;
    color: #fff;
    background: #202936;
}

.rds-running-cost-icon svg {
    width: 23px;
    height: 23px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rds-running-cost-content {
    min-width: 0;
}

.rds-running-cost-heading-row {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.rds-running-cost-heading-row > div {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.rds-running-cost-heading-row strong {
    color: #222a35;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.3;
}

.rds-running-cost-heading-row small {
    color: #717b88;
    font-size: 10.6px;
    font-weight: 600;
    line-height: 1.35;
}

.rds-running-cost-basis {
    display: inline-flex;
    min-height: 25px;
    flex: 0 0 auto;
    align-items: center;
    padding: 4px 9px;
    border: 1px solid #fed7aa;
    border-radius: 999px;
    color: #9a4410;
    background: #fff7ed;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.1;
    white-space: nowrap;
}

.rds-running-cost-rows {
    display: grid;
    gap: 7px;
    margin-top: 11px;
}

.rds-running-cost-row {
    display: grid;
    grid-template-columns: minmax(84px, .62fr) repeat(2, minmax(118px, 1fr));
    gap: 8px;
    align-items: stretch;
}

.rds-running-cost-quality {
    display: flex;
    min-width: 0;
    align-items: center;
    padding: 9px 10px;
    border: 1px solid #e1e5ea;
    border-radius: 9px;
    color: #303946;
    background: #fff;
    font-size: 11px;
    font-weight: 900;
}

.rds-running-cost-metric {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 1px 8px;
    align-items: center;
    min-width: 0;
    padding: 8px 10px;
    border: 1px solid #e1e5ea;
    border-radius: 9px;
    background: #fff;
}

.rds-running-cost-metric > span {
    min-width: 0;
    color: #6c7684;
    font-size: 10px;
    font-weight: 800;
}

.rds-running-cost-metric > strong {
    grid-row: 1;
    grid-column: 2;
    color: #111827;
    font-size: 14px;
    font-weight: 950;
    letter-spacing: -.015em;
    white-space: nowrap;
}


.rds-running-cost-metric.is-colour {
    border-color: #f1d4bf;
    background: #fffaf6;
}

.rds-running-cost-metric.is-colour > strong {
    color: #b65312;
}

.rds-running-cost-note {
    display: block;
    margin-top: 9px;
    color: #737d8a;
    font-size: 9.8px;
    line-height: 1.45;
}

.order-machine-running-cost {
    margin-top: 2px;
    padding-top: 7px;
    border-top: 1px solid #e3e8ee;
}

.order-machine-running-cost > summary {
    width: fit-content;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 9px;
    border: 1px solid #f0b98f;
    border-radius: 999px;
    color: #9d450b;
    background: #fff7ed;
    cursor: pointer;
    list-style: none;
    font-size: 10.5px;
    font-weight: 900;
}

.order-machine-running-cost > summary::-webkit-details-marker {
    display: none;
}

.order-machine-running-cost > summary::after {
    content: "⌄";
    font-size: 14px;
    line-height: 1;
}

.order-machine-running-cost[open] > summary::after {
    transform: rotate(180deg);
}

.order-machine-running-cost > .order-machine-running-cost-rows {
    margin-top: 7px;
}

.order-machine-running-cost > small {
    display: block;
    margin-top: 6px;
    color: #7b8490;
    font-size: 9.5px;
    line-height: 1.4;
}

.order-machine-running-cost-rows {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.order-machine-running-cost-rows > span {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
    padding: 4px 7px;
    border: 1px solid #e1e5ea;
    border-radius: 999px;
    background: #fff;
    color: #475467;
    font-size: 10.5px;
    font-weight: 700;
}

.order-machine-running-cost-rows b {
    color: #202936;
    font-weight: 900;
}

.order-machine-running-cost-rows > span > span {
    padding-left: 5px;
    border-left: 1px solid #e1e5ea;
    white-space: nowrap;
}

@media (max-width: 620px) {
    .rds-running-cost-toggle {
        grid-template-columns: 34px minmax(0, 1fr) 20px;
        gap: 10px;
        padding: 13px 12px;
    }

    .rds-running-cost-toggle .rds-running-cost-basis {
        grid-column: 2;
        justify-self: start;
    }

    .rds-running-cost-toggle .rds-running-cost-chevron {
        grid-column: 3;
        grid-row: 1 / span 2;
    }

    .rds-running-cost-panel {
        padding: 13px 12px;
    }

    .rds-running-cost-icon {
        width: 34px;
        height: 34px;
    }

    .rds-running-cost-heading-row {
        flex-direction: column;
        gap: 7px;
    }

    .rds-running-cost-row {
        grid-template-columns: 1fr;
    }

    .rds-running-cost-quality {
        padding: 6px 9px;
    }
}


/* Settings controls for running-cost visibility. */
.running-cost-settings-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin-top: 14px;
}

.running-cost-setting-choice {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 14px;
    border: 1px solid #dfe4e9;
    border-radius: 12px;
    background: #f8fafb;
    cursor: pointer;
}

.running-cost-setting-choice input {
    width: 18px;
    height: 18px;
    margin-top: 1px;
    accent-color: #e96f25;
}

.running-cost-setting-choice span {
    display: grid;
    gap: 3px;
}

.running-cost-setting-choice strong {
    color: #202936;
    font-size: 13px;
    font-weight: 900;
}

.running-cost-setting-choice small {
    color: #6f7884;
    font-size: 11px;
    line-height: 1.45;
}

.running-cost-settings-help {
    display: block;
    margin-top: 10px;
}

@media (max-width: 720px) {
    .running-cost-settings-options {
        grid-template-columns: 1fr;
    }
}

/* Partner interactive running-cost calculator in Toners & Consumables. */
.rds-running-cost-calculator-button {
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 13px;
    border: 1px solid #ef9c5d;
    border-radius: 9px;
    color: #a84805;
    background: #fff7ef;
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    white-space: nowrap;
    box-shadow: 0 2px 6px rgba(175, 79, 10, .07);
    cursor: pointer;
}

.rds-running-cost-calculator-button svg {
    width: 18px;
    height: 18px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.rds-running-cost-calculator-button:hover,
.rds-running-cost-calculator-button:focus-visible {
    color: #fff;
    border-color: #df650a;
    background: #e66e0b;
    outline: none;
}

.rds-running-cost-calculator-modal[hidden] {
    display: none !important;
}

.rds-running-cost-calculator-modal {
    position: fixed;
    inset: 0;
    z-index: 10120;
    display: grid;
    place-items: center;
    padding: 24px;
}

.rds-running-cost-calculator-backdrop {
    position: absolute;
    inset: 0;
    border: 0;
    background: rgba(15, 23, 42, .64);
    backdrop-filter: blur(4px);
}

.rds-running-cost-calculator-dialog {
    position: relative;
    width: min(1180px, 100%);
    max-height: min(92vh, 920px);
    overflow: hidden;
    border: 1px solid #dce2e9;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 30px 90px rgba(15, 23, 42, .32);
}

body.rds-running-cost-calculator-open {
    overflow: hidden;
}

.rds-running-cost-calculator-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 22px;
    border-bottom: 1px solid #e6eaf0;
    background: #fff;
}

.rds-running-cost-calculator-header span {
    display: block;
    margin-bottom: 4px;
    color: #e66e1c;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rds-running-cost-calculator-header h2,
.rds-running-cost-calculator-header p {
    margin: 0;
}

.rds-running-cost-calculator-header h2 {
    color: #172033;
    font-size: 23px;
}

.rds-running-cost-calculator-header p {
    margin-top: 4px;
    color: #667085;
    font-size: 13px;
    font-weight: 700;
}

.rds-running-cost-calculator-header > button {
    width: 36px;
    height: 36px;
    flex: 0 0 36px;
    border: 1px solid #d9e0e8;
    border-radius: 10px;
    color: #344054;
    background: #f8fafc;
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
}

.rds-running-cost-calculator-content {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, .85fr);
    min-height: 0;
    max-height: calc(min(92vh, 920px) - 142px);
    overflow: hidden;
}

.rds-running-cost-calculator-selection {
    min-width: 0;
    overflow: auto;
    padding: 20px;
    background: #f7f9fb;
}

.rds-running-cost-calculator-guidance {
    display: grid;
    gap: 4px;
    margin-bottom: 15px;
    padding: 12px 14px;
    border: 1px solid #fed7aa;
    border-radius: 12px;
    color: #8a4b13;
    background: #fff8ef;
}

.rds-running-cost-calculator-guidance strong {
    font-size: 13px;
}

.rds-running-cost-calculator-guidance span {
    font-size: 11.5px;
    line-height: 1.5;
}

.rds-running-cost-calculator-groups {
    display: grid;
    gap: 14px;
}

.rds-running-cost-calculator-group {
    overflow: hidden;
    border: 1px solid #dfe5eb;
    border-radius: 14px;
    background: #fff;
}

.rds-running-cost-calculator-group > header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 11px 13px;
    border-bottom: 1px solid #e7ebef;
    background: #f4f6f8;
}

.rds-running-cost-calculator-group > header span {
    display: block;
    margin-bottom: 2px;
    color: #7b8490;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.rds-running-cost-calculator-group > header h3 {
    margin: 0;
    color: #273143;
    font-size: 14px;
}

.rds-running-cost-calculator-group > header button {
    border: 0;
    color: #b45309;
    background: transparent;
    font-size: 11px;
    font-weight: 900;
    cursor: pointer;
}

.rds-running-cost-calculator-options {
    display: grid;
}

.rds-running-cost-calculator-option {
    display: grid;
    grid-template-columns: auto 32px minmax(150px, 1fr) minmax(250px, auto);
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 11px 13px;
    border-bottom: 1px solid #edf0f3;
    background: #fff;
    cursor: pointer;
}

.rds-running-cost-calculator-option:last-child {
    border-bottom: 0;
}

.rds-running-cost-calculator-option:hover,
.rds-running-cost-calculator-option:has(input:checked) {
    background: #fff8f2;
}

.rds-running-cost-calculator-option input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #e97627;
}

.rds-running-cost-calculator-colour,
.rds-running-cost-calculator-maintenance-icon {
    display: grid;
    width: 28px;
    height: 28px;
    place-items: center;
    border-radius: 50%;
    color: #fff;
    background: #29313d;
    font-size: 11px;
    font-weight: 950;
}

.rds-running-cost-calculator-colour.is-c { background: #00a8c8; }
.rds-running-cost-calculator-colour.is-m { background: #dd2d7f; }
.rds-running-cost-calculator-colour.is-y { color: #5c4b00; background: #f4d13d; }
.rds-running-cost-calculator-colour.is-default { background: #667085; }

.rds-running-cost-calculator-maintenance-icon {
    border-radius: 8px;
    color: #8a4b13;
    background: #ffedd5;
    font-size: 9px;
}

.rds-running-cost-calculator-option-copy {
    min-width: 0;
}

.rds-running-cost-calculator-option-copy strong,
.rds-running-cost-calculator-option-copy small {
    display: block;
}

.rds-running-cost-calculator-option-copy strong {
    overflow: hidden;
    color: #202939;
    font-size: 13px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rds-running-cost-calculator-option-copy small {
    margin-top: 3px;
    color: #667085;
    font-size: 10.5px;
}

.rds-running-cost-calculator-option-metrics {
    display: grid;
    grid-template-columns: repeat(3, minmax(76px, auto));
    gap: 12px;
    justify-content: end;
    text-align: right;
}

.rds-running-cost-calculator-option-metrics > span {
    display: grid;
    gap: 2px;
}

.rds-running-cost-calculator-option-metrics small {
    color: #8a93a0;
    font-size: 9px;
    font-weight: 800;
    text-transform: uppercase;
}

.rds-running-cost-calculator-option-metrics b {
    color: #273143;
    font-size: 11px;
    white-space: nowrap;
}

.rds-running-cost-calculator-results {
    min-width: 0;
    overflow: auto;
    padding: 20px;
    border-left: 1px solid #e3e7ec;
    background: #fff;
}

.rds-running-cost-calculator-result-section,
.rds-running-cost-calculator-breakdown {
    margin-bottom: 14px;
    padding: 14px;
    border: 1px solid #e1e6ec;
    border-radius: 14px;
    background: #fbfcfd;
}

.rds-running-cost-calculator-result-section.is-total {
    border-color: #f1c59f;
    background: #fff8f2;
}

.rds-running-cost-calculator-result-section > header span,
.rds-running-cost-calculator-breakdown > header span {
    display: block;
    color: #29313d;
    font-size: 13px;
    font-weight: 950;
}

.rds-running-cost-calculator-result-section > header p,
.rds-running-cost-calculator-breakdown > header p {
    margin: 3px 0 0;
    color: #667085;
    font-size: 10.5px;
    line-height: 1.45;
}

.rds-running-cost-calculator-result-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
    margin-top: 11px;
}

.rds-running-cost-calculator-result-grid article {
    min-width: 0;
    padding: 11px;
    border: 1px solid #e1e6eb;
    border-radius: 11px;
    background: #fff;
}

.rds-running-cost-calculator-result-grid article > span,
.rds-running-cost-calculator-result-grid article > strong,
.rds-running-cost-calculator-result-grid article > small {
    display: block;
}

.rds-running-cost-calculator-result-grid article > span {
    color: #667085;
    font-size: 9.5px;
    font-weight: 900;
    text-transform: uppercase;
}

.rds-running-cost-calculator-result-grid article > strong {
    margin-top: 4px;
    color: #192230;
    font-size: 20px;
    font-weight: 950;
}

.rds-running-cost-calculator-result-grid article > small {
    overflow: hidden;
    margin-top: 4px;
    color: #7b8490;
    font-size: 9.5px;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.rds-running-cost-calculator-empty {
    margin-top: 10px;
    padding: 12px;
    border: 1px dashed #ccd4dd;
    border-radius: 10px;
    color: #667085;
    background: #fff;
    font-size: 11px;
    line-height: 1.45;
}

.rds-running-cost-calculator-table-wrap {
    overflow-x: auto;
    margin-top: 10px;
}

.rds-running-cost-calculator-table-wrap[hidden] {
    display: none !important;
}

.rds-running-cost-calculator-table-wrap table {
    width: 100%;
    border-collapse: collapse;
    font-size: 10px;
}

.rds-running-cost-calculator-table-wrap th,
.rds-running-cost-calculator-table-wrap td {
    padding: 7px 6px;
    border-bottom: 1px solid #e9edf1;
    text-align: right;
    white-space: nowrap;
}

.rds-running-cost-calculator-table-wrap th:first-child,
.rds-running-cost-calculator-table-wrap td:first-child {
    max-width: 190px;
    overflow: hidden;
    text-align: left;
    text-overflow: ellipsis;
}

.rds-running-cost-calculator-table-wrap th {
    color: #667085;
    font-size: 8.5px;
    font-weight: 900;
    text-transform: uppercase;
}

.rds-running-cost-calculator-table-wrap td {
    color: #273143;
    font-weight: 700;
}

.rds-running-cost-calculator-disclaimer {
    margin: 0;
    color: #7b8490;
    font-size: 9.5px;
    line-height: 1.5;
}

.rds-running-cost-calculator-actions {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 14px 20px;
    border-top: 1px solid #e4e8ed;
    background: #fff;
}

@media (max-width: 960px) {
    .rds-running-cost-calculator-content {
        grid-template-columns: 1fr;
        overflow: auto;
    }

    .rds-running-cost-calculator-selection,
    .rds-running-cost-calculator-results {
        overflow: visible;
    }

    .rds-running-cost-calculator-results {
        border-top: 1px solid #e3e7ec;
        border-left: 0;
    }
}

@media (max-width: 760px) {
    .rds-running-cost-calculator-button {
        width: 100%;
        white-space: normal;
    }

    .rds-running-cost-calculator-modal {
        align-items: end;
        padding: 0;
    }

    .rds-running-cost-calculator-dialog {
        width: 100%;
        max-height: 94vh;
        border-radius: 20px 20px 0 0;
    }

    .rds-running-cost-calculator-header,
    .rds-running-cost-calculator-selection,
    .rds-running-cost-calculator-results,
    .rds-running-cost-calculator-actions {
        padding-right: 15px;
        padding-left: 15px;
    }

    .rds-running-cost-calculator-option {
        grid-template-columns: auto 30px minmax(0, 1fr);
    }

    .rds-running-cost-calculator-option-metrics {
        grid-column: 3;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        width: 100%;
        justify-content: stretch;
        text-align: left;
    }

    .rds-running-cost-calculator-option-metrics b {
        white-space: normal;
    }

    .rds-running-cost-calculator-result-grid {
        grid-template-columns: 1fr;
    }

    .rds-running-cost-calculator-actions {
        flex-direction: column-reverse;
    }

    .rds-running-cost-calculator-actions .button {
        width: 100%;
    }
}


/* Compact Partner running-cost calculator: keeps headings, results and footer visible. */
.rds-running-cost-calculator-modal {
    padding: 14px;
}

.rds-running-cost-calculator-dialog {
    width: min(1120px, 100%);
    max-height: calc(100vh - 28px);
    max-height: calc(100dvh - 28px);
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
}

.rds-running-cost-calculator-header {
    align-items: center;
    padding: 12px 16px;
}

.rds-running-cost-calculator-header span {
    margin-bottom: 2px;
    font-size: 9px;
}

.rds-running-cost-calculator-header h2 {
    font-size: 20px;
    line-height: 1.15;
}

.rds-running-cost-calculator-header p {
    margin-top: 2px;
    font-size: 11.5px;
}

.rds-running-cost-calculator-header > button {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    border-radius: 9px;
    font-size: 20px;
}

.rds-running-cost-calculator-content {
    grid-template-columns: minmax(0, 1.5fr) minmax(330px, .8fr);
    max-height: none;
}

.rds-running-cost-calculator-selection,
.rds-running-cost-calculator-results {
    padding: 12px;
    overscroll-behavior: contain;
}

.rds-running-cost-calculator-guidance {
    gap: 2px;
    margin-bottom: 10px;
    padding: 8px 10px;
    border-radius: 10px;
}

.rds-running-cost-calculator-guidance strong {
    font-size: 11.5px;
}

.rds-running-cost-calculator-guidance span {
    font-size: 10px;
    line-height: 1.35;
}

.rds-running-cost-calculator-groups {
    gap: 10px;
}

.rds-running-cost-calculator-group {
    border-radius: 12px;
}

.rds-running-cost-calculator-group > header {
    padding: 8px 11px;
}

.rds-running-cost-calculator-group > header span {
    margin-bottom: 1px;
    font-size: 8px;
}

.rds-running-cost-calculator-group > header h3 {
    font-size: 13px;
}

.rds-running-cost-calculator-group > header button {
    font-size: 10px;
}

.rds-running-cost-calculator-option {
    grid-template-columns: auto 26px minmax(130px, 1fr) minmax(220px, auto);
    gap: 8px;
    padding: 7px 10px;
}

.rds-running-cost-calculator-option input {
    width: 16px;
    height: 16px;
}

.rds-running-cost-calculator-colour,
.rds-running-cost-calculator-maintenance-icon {
    width: 24px;
    height: 24px;
    font-size: 10px;
}

.rds-running-cost-calculator-maintenance-icon {
    border-radius: 7px;
    font-size: 8px;
}

.rds-running-cost-calculator-option-copy strong {
    font-size: 12px;
}

.rds-running-cost-calculator-option-copy small {
    margin-top: 1px;
    font-size: 9.5px;
    line-height: 1.25;
}

.rds-running-cost-calculator-option-metrics {
    grid-template-columns: repeat(3, minmax(66px, auto));
    gap: 8px;
}

.rds-running-cost-calculator-option-metrics small {
    font-size: 8px;
}

.rds-running-cost-calculator-option-metrics b {
    font-size: 10px;
}

.rds-running-cost-calculator-result-section,
.rds-running-cost-calculator-breakdown {
    margin-bottom: 9px;
    padding: 10px;
    border-radius: 12px;
}

.rds-running-cost-calculator-result-section > header span,
.rds-running-cost-calculator-breakdown > header span {
    font-size: 12px;
}

.rds-running-cost-calculator-result-section > header p,
.rds-running-cost-calculator-breakdown > header p {
    margin-top: 2px;
    font-size: 9.5px;
    line-height: 1.3;
}

.rds-running-cost-calculator-result-grid {
    gap: 7px;
    margin-top: 8px;
}

.rds-running-cost-calculator-result-grid article {
    padding: 8px;
    border-radius: 9px;
}

.rds-running-cost-calculator-result-grid article > span {
    font-size: 8.5px;
}

.rds-running-cost-calculator-result-grid article > strong {
    margin-top: 2px;
    font-size: 17px;
}

.rds-running-cost-calculator-result-grid article > small {
    margin-top: 2px;
    font-size: 8.5px;
}

.rds-running-cost-calculator-empty {
    margin-top: 7px;
    padding: 9px;
    font-size: 9.5px;
}

.rds-running-cost-calculator-table-wrap {
    margin-top: 7px;
}

.rds-running-cost-calculator-table-wrap table {
    font-size: 9px;
}

.rds-running-cost-calculator-table-wrap th,
.rds-running-cost-calculator-table-wrap td {
    padding: 5px 4px;
}

.rds-running-cost-calculator-table-wrap th {
    font-size: 7.5px;
}

.rds-running-cost-calculator-disclaimer {
    font-size: 8.5px;
    line-height: 1.35;
}

.rds-running-cost-calculator-actions {
    padding: 9px 14px;
}

.rds-running-cost-calculator-actions .button {
    min-height: 36px;
    padding-top: 7px;
    padding-bottom: 7px;
}

@media (max-width: 960px) {
    .rds-running-cost-calculator-content {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .rds-running-cost-calculator-modal {
        padding: 0;
    }

    .rds-running-cost-calculator-dialog {
        max-height: 96vh;
        max-height: 96dvh;
    }

    .rds-running-cost-calculator-header,
    .rds-running-cost-calculator-selection,
    .rds-running-cost-calculator-results,
    .rds-running-cost-calculator-actions {
        padding-right: 12px;
        padding-left: 12px;
    }
}

/* Running-cost report actions: print the current selection or export it as PDF. */
.rds-running-cost-calculator-actions {
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

.rds-running-cost-calculator-report-actions,
.rds-running-cost-calculator-close-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

.rds-running-cost-calculator-actions .button:disabled {
    opacity: .5;
    cursor: not-allowed;
    filter: grayscale(.2);
}

@media (max-width: 760px) {
    .rds-running-cost-calculator-actions,
    .rds-running-cost-calculator-report-actions,
    .rds-running-cost-calculator-close-actions {
        width: 100%;
    }

    .rds-running-cost-calculator-actions {
        flex-direction: column;
    }

    .rds-running-cost-calculator-report-actions,
    .rds-running-cost-calculator-close-actions {
        display: grid;
        grid-template-columns: 1fr 1fr;
    }
}

/* Quotation Builder */
.quotation-page-header{align-items:flex-start;gap:24px}.quotation-header-actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}.quotation-list-card,.quotation-editor-section,.quotation-send-card{background:#fff;border:1px solid #dde3ea;border-radius:16px;box-shadow:0 8px 24px rgba(29,36,48,.06)}.quotation-list-card{margin-top:20px;overflow:hidden}.quotation-list-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-bottom:1px solid #e6eaf0}.quotation-list-heading h2{margin:0 0 4px;font-size:1.25rem}.quotation-list-heading p{margin:0;color:#687386}.quotation-count{display:grid;place-items:center;min-width:38px;height:38px;border-radius:10px;background:#fff3e9;color:#d45e0f;font-weight:800}.quotation-empty,.quotation-machine-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:44px 20px;color:#7a8596;text-align:center}.quotation-empty strong,.quotation-machine-empty strong{color:#293241;font-size:1.05rem}.quotation-table-wrap{overflow:auto}.quotation-table{width:100%;border-collapse:collapse;min-width:980px}.quotation-table th{padding:11px 14px;background:#f6f8fa;color:#657185;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;text-align:left}.quotation-table td{padding:14px;border-top:1px solid #e8ebef;vertical-align:middle}.quotation-table td>strong,.quotation-table td>small{display:block}.quotation-table td>small{margin-top:3px;color:#7a8596}.quotation-row-actions{display:flex;gap:7px;justify-content:flex-end}.quotation-status{display:inline-flex;align-items:center;white-space:nowrap;padding:5px 9px;border-radius:7px;background:#eef2f6;color:#475466;font-size:.78rem;font-weight:800}.quotation-status-sent{background:#eaf6ef;color:#247244}.quotation-status-accepted{background:#e6f6ec;color:#176a38}.quotation-status-draft{background:#fff3e9;color:#b9500f}.quote-request-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px;padding:18px}.quote-request-admin-card{border:1px solid #e1e6ec;border-radius:12px;padding:16px;background:#fbfcfd}.quote-request-admin-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.quote-request-admin-head div span,.quote-request-admin-head div strong{display:block}.quote-request-admin-head div span{color:#e66f20;font-size:.78rem;font-weight:800}.quote-request-admin-head div strong{font-size:1.05rem;margin-top:3px}.quote-request-admin-contact{margin:10px 0;color:#677386;font-size:.88rem}.quote-request-admin-products{display:flex;flex-direction:column;gap:5px;padding:10px;border-radius:8px;background:#fff}.quote-request-admin-products span{font-size:.86rem;font-weight:700}.quote-request-admin-card p{color:#5f6b7d;font-size:.9rem}.quote-request-admin-actions{display:flex;justify-content:flex-end;margin-top:13px}

.quotation-builder,.quotation-profile-form{display:flex;flex-direction:column;gap:18px}.quotation-editor-section{padding:22px}.quotation-editor-section-head{display:flex;align-items:flex-start;gap:13px;margin-bottom:20px}.quotation-editor-section-head>span{display:grid;place-items:center;flex:0 0 34px;height:34px;border-radius:9px;background:#eb7021;color:#fff;font-weight:900}.quotation-editor-section-head h2{margin:1px 0 4px;font-size:1.2rem}.quotation-editor-section-head p{margin:0;color:#718093}.quotation-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.quotation-form-grid label,.quotation-option-fields label,.quotation-machine-head>label,.quotation-accessory-row>label,.quotation-send-card label{display:flex;flex-direction:column;gap:6px;color:#495669;font-size:.84rem;font-weight:750}.quotation-form-grid label.wide{grid-column:1/-1}.quotation-form-grid input,.quotation-form-grid select,.quotation-form-grid textarea,.quotation-option-fields input,.quotation-machine-head input,.quotation-add-machine-bar select,.quotation-accessory-row input,.quotation-machine-notes textarea,.quotation-send-card input,.quotation-send-card textarea{width:100%;border:1px solid #cfd6df;border-radius:8px;background:#fff;padding:10px 11px;color:#202a38}.quotation-form-grid textarea,.quotation-machine-notes textarea,.quotation-send-card textarea{resize:vertical}.quotation-form-grid label>b{color:#c44c1a}.quotation-add-machine-bar{display:grid;grid-template-columns:minmax(240px,1fr) auto;gap:10px;padding:13px;border:1px solid #e0e5eb;border-radius:11px;background:#f8fafc}.quotation-machine-list{display:flex;flex-direction:column;gap:18px;margin-top:18px}.quotation-machine-card{border:1px solid #dbe1e8;border-radius:15px;overflow:hidden;background:#fff}.quotation-machine-head{display:grid;grid-template-columns:76px minmax(0,1fr) 92px auto;gap:14px;align-items:center;padding:15px 17px;background:#f7f9fb;border-bottom:1px solid #e2e6ec}.quotation-machine-thumb{display:grid;place-items:center;width:76px;height:62px;border-radius:9px;background:#fff;border:1px solid #e1e5ea;overflow:hidden}.quotation-machine-thumb img{max-width:100%;max-height:100%;object-fit:contain}.quotation-machine-thumb span{font-weight:900;color:#9aa3af}.quotation-machine-head small{color:#e36c1d;text-transform:uppercase;font-weight:850;letter-spacing:.05em}.quotation-machine-head h3{margin:2px 0 3px;font-size:1.13rem}.quotation-machine-head p{margin:0;color:#6f7a8b;font-size:.84rem}.quotation-commercial-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:16px}.quotation-option-panel{border:1px solid #dce2e9;border-radius:12px;padding:14px}.quotation-option-panel.purchase{border-top:3px solid #29465f}.quotation-option-panel.rental{border-top:3px solid #eb7021}.quotation-option-toggle{display:flex;align-items:flex-start;gap:10px;cursor:pointer}.quotation-option-toggle input{margin-top:4px}.quotation-option-toggle span,.quotation-option-toggle strong,.quotation-option-toggle small{display:block}.quotation-option-toggle strong{font-size:1rem}.quotation-option-toggle small{color:#758195;margin-top:2px}.quotation-option-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px}.quotation-live-total{grid-column:1/-1;display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:8px;background:#f5f7f9;font-size:.86rem}.quotation-accessories,.quotation-content-options{margin:0 16px 14px;border:1px solid #dfe4ea;border-radius:10px;overflow:hidden}.quotation-accessories summary,.quotation-content-options summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f8fafc;cursor:pointer;font-weight:850}.quotation-accessories summary small,.quotation-content-options summary small{color:#798596;font-weight:650}.quotation-accessory-list{display:flex;flex-direction:column}.quotation-accessory-row{display:grid;grid-template-columns:minmax(220px,1.5fr) 60px 100px auto auto 110px auto auto;gap:8px;align-items:end;padding:10px 12px;border-top:1px solid #e8ebef}.quotation-accessory-select{flex-direction:row!important;align-items:flex-start!important}.quotation-accessory-select input{width:auto;margin-top:4px}.quotation-accessory-select span,.quotation-accessory-select strong,.quotation-accessory-select small{display:block}.quotation-accessory-select small{color:#788496;margin-top:2px}.quotation-accessory-row label.check{flex-direction:row;align-items:center;padding-bottom:10px;white-space:nowrap}.quotation-accessory-row label.check input{width:auto}.quotation-inline-empty{padding:20px;text-align:center;color:#7b8695}.quotation-content-checks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:14px}.quotation-content-checks label{display:flex;align-items:center;gap:8px;padding:10px;border-radius:8px;background:#f8fafc;font-size:.88rem;font-weight:700}.quotation-content-checks input{width:auto}.quotation-machine-notes{display:flex;flex-direction:column;gap:6px;padding:0 16px 16px;color:#4c596b;font-size:.84rem;font-weight:750}.quotation-editor-footer{position:sticky;bottom:0;z-index:4;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px 17px;border:1px solid #d8dee6;border-radius:12px;background:rgba(255,255,255,.96);box-shadow:0 -7px 24px rgba(29,36,48,.08);backdrop-filter:blur(8px)}.quotation-editor-footer>span{color:#667386;font-size:.84rem}.quotation-editor-footer>div{display:flex;gap:9px;white-space:nowrap}

.quotation-profile-branding{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:18px}.quotation-profile-upload{border:1px dashed #cbd3dd;border-radius:12px;padding:14px}.quotation-profile-upload>strong{display:block;margin-bottom:10px}.quotation-profile-image{display:grid;place-items:center;height:100px;margin-bottom:10px;border-radius:9px;background:#f8fafc;overflow:hidden;color:#9aa4b2;font-weight:900}.quotation-profile-image.signature{height:80px}.quotation-profile-image img{max-width:100%;max-height:100%;object-fit:contain}.quotation-profile-upload label.check{display:flex;align-items:center;gap:7px;margin-top:8px;font-size:.84rem}.quotation-profile-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.check-card{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:10px;padding:10px;border:1px solid #dce2e8;border-radius:9px;background:#f8fafc}.check-card input{width:auto!important;margin-top:4px}.check-card span,.check-card strong,.check-card small{display:block}.check-card small{color:#7a8595;margin-top:2px}

.quotation-details-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:20px;align-items:start}.quotation-preview-sheet{background:#fff;border:1px solid #dce2e8;border-top:7px solid #eb7021;border-radius:5px;padding:30px;box-shadow:0 10px 30px rgba(29,36,48,.08)}.quotation-preview-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding-bottom:18px;border-bottom:1px solid #e2e6ec}.quotation-preview-head img{max-width:180px;max-height:70px;object-fit:contain}.quotation-preview-head>div:last-child{text-align:right}.quotation-preview-head span,.quotation-preview-head strong,.quotation-preview-head small{display:block}.quotation-preview-head span{color:#eb7021;font-size:.78rem;letter-spacing:.11em;font-weight:900}.quotation-preview-head strong{font-size:1.2rem;margin:5px 0}.quotation-preview-head small{color:#718093}.quotation-preview-customer{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:18px 0}.quotation-preview-customer>div{display:flex;flex-direction:column;gap:4px;padding:14px;border-radius:10px;background:#f7f9fb}.quotation-preview-customer small{color:#eb7021;font-weight:850}.quotation-preview-customer strong{font-size:1.05rem}.quotation-preview-customer span{color:#657185;font-size:.88rem}.quotation-preview-intro{padding:14px;border-left:4px solid #eb7021;background:#fff8f2;color:#49576a;white-space:pre-line}.quotation-preview-machine{margin-top:20px;border:1px solid #dce2e8;border-radius:12px;overflow:hidden}.quotation-preview-machine>header{display:flex;justify-content:space-between;gap:15px;padding:15px 17px;background:#252f3d;color:#fff}.quotation-preview-machine header small{color:#f7a46c;font-weight:850}.quotation-preview-machine header h2{margin:2px 0 4px;font-size:1.18rem}.quotation-preview-machine header p{margin:0;color:#cbd2dc;font-size:.82rem}.quotation-preview-machine>header>span{font-weight:850;white-space:nowrap}.quotation-preview-machine-body{display:grid;grid-template-columns:160px minmax(0,1fr);gap:16px;padding:16px}.quotation-preview-machine-image{display:grid;place-items:center;min-height:150px}.quotation-preview-machine-image img{max-width:100%;max-height:160px;object-fit:contain}.quotation-preview-offers{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.quotation-preview-offers section{border:1px solid #dfe4ea;border-radius:10px;overflow:hidden}.quotation-preview-offers h3{margin:0;padding:10px 12px;background:#fff3e9;color:#c55511;font-size:1rem}.quotation-preview-offers section>div{display:flex;justify-content:space-between;gap:12px;padding:8px 11px;border-top:1px solid #e8ebef;font-size:.84rem}.quotation-preview-offers section>div.total{background:#f5f7f9;font-weight:850}.quotation-preview-accessories{padding:0 16px 14px}.quotation-preview-accessories h3{margin:0 0 7px;font-size:.95rem}.quotation-preview-accessories>div{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:7px 0;border-top:1px solid #e7ebef;font-size:.84rem}.quotation-preview-accessories small{color:#778294}.quotation-preview-docs{display:flex;gap:12px;flex-wrap:wrap;padding:10px 16px;background:#f7f9fb;color:#687487;font-size:.8rem}.quotation-preview-totals{display:flex;flex-direction:column;gap:9px;margin-top:20px}.quotation-preview-totals>div{display:flex;justify-content:space-between;gap:18px;padding:14px 16px;border-radius:9px;background:#252f3d;color:#fff;font-weight:850}.quotation-send-card{position:sticky;top:18px;padding:19px}.quotation-send-card h2{margin:5px 0}.quotation-send-card>p{color:#687487;font-size:.88rem}.quotation-send-card form{display:flex;flex-direction:column;gap:11px}.quotation-send-docs{display:flex;flex-direction:column;gap:4px;padding:10px;border-radius:8px;background:#f7f9fb;font-size:.82rem}.quotation-send-docs strong{margin-top:4px}.quotation-send-card>small{display:block;margin-top:11px;color:#7b8695;line-height:1.45}

@media(max-width:1150px){.quotation-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-accessory-row{grid-template-columns:minmax(220px,1fr) 65px 110px auto auto}.quotation-accessory-row label:nth-last-child(-n+3){grid-column:auto}.quotation-details-layout{grid-template-columns:1fr}.quotation-send-card{position:static}.quotation-commercial-grid{grid-template-columns:1fr}}
@media(max-width:760px){.quotation-header-actions{width:100%;justify-content:stretch}.quotation-header-actions .button{flex:1}.quotation-form-grid,.quotation-profile-branding,.quotation-content-checks{grid-template-columns:1fr}.quotation-form-grid label.wide{grid-column:auto}.quotation-add-machine-bar{grid-template-columns:1fr}.quotation-machine-head{grid-template-columns:64px 1fr}.quotation-machine-head>label,.quotation-machine-head>button{grid-row:2}.quotation-machine-head>label{grid-column:1}.quotation-machine-head>button{grid-column:2;justify-self:end}.quotation-commercial-grid{padding:12px}.quotation-option-fields{grid-template-columns:1fr}.quotation-accessory-row{grid-template-columns:1fr 70px 1fr}.quotation-accessory-row label.check{padding:5px 0}.quotation-editor-footer{position:static;align-items:stretch;flex-direction:column}.quotation-editor-footer>div{display:grid;grid-template-columns:1fr 1fr}.quotation-preview-sheet{padding:18px}.quotation-preview-customer,.quotation-preview-machine-body{grid-template-columns:1fr}.quotation-preview-machine-image{min-height:120px}.quotation-preview-accessories>div{grid-template-columns:1fr}.quotation-preview-head{flex-direction:column}.quotation-preview-head>div:last-child{text-align:left}}

/* Quotation commercial alternatives, consumables and safe send feedback */
.quotation-commercial-grid-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.quotation-purchase-common{display:grid;grid-template-columns:minmax(220px,360px) minmax(240px,1fr);align-items:end;gap:14px;margin:16px 16px 0;padding:13px 14px;border:1px solid #dce2e9;border-radius:11px;background:#f7f9fb}
.quotation-purchase-common>label{display:flex;flex-direction:column;gap:6px;color:#495669;font-size:.84rem;font-weight:750}
.quotation-purchase-common input{width:100%;border:1px solid #cfd6df;border-radius:8px;background:#fff;padding:10px 11px;color:#202a38}
.quotation-option-panel.per-copy-purchase{border-top:3px solid #29465f}
.quotation-option-panel.no-agreement-purchase{border-top:3px solid #6c7787}
.quotation-option-note{display:block;color:#667386;font-size:.85rem;line-height:1.45}
.quotation-consumables{margin:0 16px 14px;border:1px solid #dfe4ea;border-radius:10px;overflow:hidden}
.quotation-consumables summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#f8fafc;cursor:pointer;font-weight:850}
.quotation-consumables summary small{color:#798596;font-weight:650}
.quotation-consumable-tools{display:flex;justify-content:flex-end;gap:8px;padding:9px 12px;border-top:1px solid #e7ebef;background:#fff}
.quotation-consumable-list{display:flex;flex-direction:column}
.quotation-consumable-row{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(200px,1fr) 165px;gap:12px;align-items:center;padding:11px 13px;border-top:1px solid #e8ebef}
.quotation-consumable-select{display:flex;align-items:flex-start;gap:9px;color:#3f4b5d;font-size:.85rem;font-weight:750}
.quotation-consumable-select input{width:auto;margin-top:4px}
.quotation-consumable-select span,.quotation-consumable-select strong,.quotation-consumable-select small{display:block}
.quotation-consumable-select small{margin-top:2px;color:#788496;font-weight:600}
.quotation-consumable-life{color:#657286;font-size:.82rem}
.quotation-consumable-row>label:last-child{display:flex;flex-direction:column;gap:6px;color:#495669;font-size:.82rem;font-weight:750}
.quotation-consumable-row input[type=number]{width:100%;border:1px solid #cfd6df;border-radius:8px;background:#fff;padding:9px 10px;color:#202a38}
.quotation-send-button{position:relative;min-height:42px}
.quotation-send-button[disabled]{cursor:wait;opacity:.78}
.quotation-send-button .quotation-send-spinner{display:none;width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:quotation-spin .8s linear infinite}
.quotation-send-button.is-sending .quotation-send-spinner{display:inline-block}
.quotation-send-button.is-sending{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.quotation-send-progress{display:none;align-items:center;gap:9px;padding:10px 12px;border-radius:8px;background:#fff7ef;color:#a74b10;font-size:.84rem;font-weight:750}
.quotation-send-form.is-sending .quotation-send-progress{display:flex}
@keyframes quotation-spin{to{transform:rotate(360deg)}}
@media(max-width:1280px){.quotation-commercial-grid-three{grid-template-columns:1fr 1fr}.quotation-option-panel.rental{grid-column:1/-1}}
@media(max-width:900px){.quotation-commercial-grid-three{grid-template-columns:1fr}.quotation-option-panel.rental{grid-column:auto}.quotation-purchase-common{grid-template-columns:1fr}.quotation-consumable-row{grid-template-columns:1fr 1fr}.quotation-consumable-row>label:last-child{grid-column:1/-1}}
@media(max-width:620px){.quotation-consumable-row{grid-template-columns:1fr}.quotation-consumable-row>label:last-child{grid-column:auto}}
.quotation-preview-consumables{padding:0 16px 14px}.quotation-preview-consumables h3{margin:0 0 7px;font-size:.95rem}.quotation-preview-consumables>div{display:grid;grid-template-columns:minmax(0,1fr) minmax(170px,.8fr) auto;gap:10px;padding:7px 0;border-top:1px solid #e7ebef;font-size:.84rem}.quotation-preview-consumables small{color:#778294}.quotation-send-progress>.quotation-send-spinner{display:inline-block;width:16px;height:16px;flex:0 0 16px;border:2px solid rgba(235,112,33,.25);border-top-color:#eb7021;border-radius:50%;animation:quotation-spin .8s linear infinite}
@media(max-width:760px){.quotation-preview-consumables>div{grid-template-columns:1fr}.quotation-preview-consumables>div>strong{justify-self:start}}

/* Quotation payment terms and advance-payment controls */
.quotation-advance-payment{margin-top:14px;padding:16px;border:1px solid #f0cfb7;border-radius:12px;background:#fff9f4}.quotation-input-with-unit{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch}.quotation-input-with-unit input{border-radius:8px 0 0 8px!important}.quotation-input-with-unit>span{display:grid;place-items:center;min-width:42px;padding:0 10px;border:1px solid #cfd6df;border-left:0;border-radius:0 8px 8px 0;background:#f2f5f8;color:#4d596b;font-weight:850}.quotation-payment-guidance{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:13px;padding:11px 13px;border-radius:9px;background:#fff;color:#637084;font-size:.82rem}.quotation-payment-guidance strong{color:#d25f18}.quotation-form-grid label>small{color:#788496;font-weight:600;line-height:1.35}.quotation-preview-payment{margin-top:16px;border:1px solid #f0cfb7;border-radius:11px;overflow:hidden;background:#fffaf6}.quotation-preview-payment-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 14px;background:#fff1e6}.quotation-preview-payment-head span{color:#d65e16;font-size:.76rem;letter-spacing:.08em;font-weight:900}.quotation-preview-payment-head strong{font-size:.95rem}.quotation-preview-payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px}.quotation-preview-payment-grid>div{display:flex;flex-direction:column;gap:3px;padding:11px;border:1px solid #e5e8ec;border-radius:9px;background:#fff}.quotation-preview-payment-grid span{color:#687487;font-size:.79rem;font-weight:750}.quotation-preview-payment-grid strong{font-size:1.08rem}.quotation-preview-payment-grid small{color:#798596}.quotation-preview-payment>p{margin:0;padding:8px 14px;border-top:1px solid #eee3da;color:#566275;font-size:.84rem}.button.disabled{pointer-events:none;opacity:.55;cursor:not-allowed}.status-message.warning{background:#fff7e8;border-color:#f0d19a;color:#765015}.status-message.warning a{color:#a84b11;font-weight:850;margin-left:5px}
@media(max-width:760px){.quotation-preview-payment-grid{grid-template-columns:1fr}.quotation-payment-guidance{flex-direction:column}}

/* Quotation VAT clarity */
.quotation-vat-notice{padding:12px 14px;border:1px solid #f0cfb7;border-radius:10px;background:#fff8f2;color:#4d596b}.quotation-vat-notice strong{color:#a84b11}.quotation-vat-notice small{display:block}.quotation-preview-sheet>.status-message.info{margin:0 0 16px;padding:11px 13px;border:1px solid #cfddea;border-radius:9px;background:#f2f7fb;color:#31506a}.quotation-preview-sheet>.status-message.info strong{color:#203e56}

/* Quotation full-catalogue multi-product picker */
.quotation-product-picker-modal[hidden]{display:none!important}.quotation-add-products-bar{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 17px;border:1px solid #e0e5eb;border-radius:12px;background:#f8fafc}.quotation-add-products-bar>div,.quotation-add-products-bar strong,.quotation-add-products-bar span{display:block}.quotation-add-products-bar strong{font-size:1rem;color:#202a38}.quotation-add-products-bar span{margin-top:3px;color:#718093;font-size:.86rem}.quotation-product-picker-modal{position:fixed;inset:0;z-index:2000;display:grid;place-items:center;padding:24px;background:rgba(18,24,34,.66);backdrop-filter:blur(4px)}.quotation-product-picker-dialog{display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1050px,calc(100vw - 36px));height:min(820px,calc(100vh - 36px));overflow:hidden;border:1px solid #d7dde5;border-radius:18px;background:#fff;box-shadow:0 28px 80px rgba(10,16,25,.28)}.quotation-product-picker-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid #e5e9ef}.quotation-product-picker-dialog>header h2{margin:4px 0 4px;font-size:1.45rem}.quotation-product-picker-dialog>header p{margin:0;color:#718093}.quotation-product-picker-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d6dde6;border-radius:10px;background:#f8fafc;color:#354155;font-size:1.6rem;line-height:1;cursor:pointer}.quotation-product-picker-tools{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:12px;padding:14px 22px;border-bottom:1px solid #e7ebf0;background:#fbfcfd}.quotation-product-picker-tools label{display:flex;flex-direction:column;gap:5px;color:#596679;font-size:.78rem;font-weight:800}.quotation-product-picker-tools input,.quotation-product-picker-tools select{width:100%;padding:11px 12px;border:1px solid #ccd4de;border-radius:9px;background:#fff;color:#202a38}.quotation-product-picker-results{overflow:auto;padding:12px 16px 18px}.quotation-product-picker-row{display:grid;grid-template-columns:28px 74px minmax(0,1fr) 150px;gap:12px;align-items:center;padding:11px 12px;border:1px solid #e1e6ec;border-radius:11px;background:#fff;cursor:pointer}.quotation-product-picker-row+.quotation-product-picker-row{margin-top:8px}.quotation-product-picker-row:hover{border-color:#ec9b65;background:#fffaf6}.quotation-product-picker-row.is-added{opacity:.58;cursor:default;background:#f6f8fa}.quotation-product-picker-row>input{width:19px;height:19px}.quotation-product-picker-thumb{display:grid;place-items:center;width:74px;height:58px;overflow:hidden;border:1px solid #e1e6ec;border-radius:8px;background:#fff}.quotation-product-picker-thumb img{max-width:100%;max-height:100%;object-fit:contain}.quotation-product-picker-thumb>span{font-size:.72rem;font-weight:900;color:#9aa4b2}.quotation-product-picker-copy,.quotation-product-picker-copy small,.quotation-product-picker-copy strong,.quotation-product-picker-copy em,.quotation-product-picker-price,.quotation-product-picker-price small,.quotation-product-picker-price strong,.quotation-product-picker-price em{display:block;min-width:0}.quotation-product-picker-copy small{color:#e16b1c;font-size:.68rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}.quotation-product-picker-copy strong{margin-top:2px;font-size:.98rem}.quotation-product-picker-copy em{margin-top:3px;overflow:hidden;color:#6e7a8d;font-size:.79rem;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.quotation-product-picker-price{text-align:right}.quotation-product-picker-price small{color:#7c8797;font-size:.66rem;font-weight:850;text-transform:uppercase}.quotation-product-picker-price strong{margin-top:3px}.quotation-product-picker-price em{margin-top:3px;color:#368257;font-size:.72rem;font-style:normal;font-weight:800}.quotation-product-picker-empty{padding:50px 20px;text-align:center;color:#7a8697}.quotation-product-picker-dialog>footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 20px;border-top:1px solid #e2e7ed;background:#f8fafc}.quotation-product-picker-dialog>footer>div{display:flex;gap:9px}.quotation-picker-open{overflow:hidden}.quotation-generic-product-card{border-left:4px solid #536174}.quotation-generic-commercial-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.quotation-generic-product-card .quotation-content-checks{grid-template-columns:repeat(2,minmax(0,1fr))}
@media(max-width:760px){.quotation-add-products-bar{align-items:stretch;flex-direction:column}.quotation-product-picker-modal{padding:8px}.quotation-product-picker-dialog{width:100%;height:100%;border-radius:12px}.quotation-product-picker-tools{grid-template-columns:1fr}.quotation-product-picker-row{grid-template-columns:24px 58px minmax(0,1fr)}.quotation-product-picker-thumb{width:58px;height:50px}.quotation-product-picker-price{grid-column:3;text-align:left}.quotation-product-picker-dialog>footer{align-items:stretch;flex-direction:column}.quotation-product-picker-dialog>footer>div{display:grid;grid-template-columns:1fr 1fr}.quotation-generic-commercial-grid{grid-template-columns:1fr}.quotation-generic-product-card .quotation-content-checks{grid-template-columns:1fr}}

.quotation-preview-machine-body.no-picture{grid-template-columns:1fr}.quotation-preview-product{border-left:4px solid #536174}

/* Quotation consumable pricing and agreement rules */
.quotation-consumable-row{grid-template-columns:minmax(260px,1.55fr) minmax(180px,.9fr) 135px 165px}
.quotation-consumable-cost{display:flex;flex-direction:column;gap:4px;min-width:0;color:#657286;text-align:right}
.quotation-consumable-cost small{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.quotation-consumable-cost strong{color:#202a38;font-size:.94rem}
.quotation-consumable-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border-top:1px solid #e8ebef;background:#fbfcfd}
.quotation-consumable-tools>span{color:#6e7a8d;font-size:.78rem}
.quotation-consumable-tools>div{display:flex;gap:8px}
.quotation-generic-commercial-grid.is-consumable{grid-template-columns:minmax(0,1fr)}
.quotation-consumable-agreement-note{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:1px solid #d8e3ee;border-radius:12px;background:#f5f8fb;color:#526176}
.quotation-consumable-agreement-note strong{flex:0 0 auto;color:#233044}
.quotation-consumable-agreement-note span{line-height:1.45}
@media(max-width:900px){.quotation-consumable-row{grid-template-columns:minmax(0,1fr) 150px 120px 155px}}
@media(max-width:720px){.quotation-consumable-row{grid-template-columns:1fr 1fr}.quotation-consumable-select{grid-column:1/-1}.quotation-consumable-cost{text-align:left}.quotation-consumable-tools{align-items:flex-start;flex-direction:column}}
@media(max-width:520px){.quotation-consumable-row{grid-template-columns:1fr}.quotation-consumable-select{grid-column:auto}.quotation-consumable-tools>div{width:100%}.quotation-consumable-tools .button{flex:1}}

/* Quotation product picker: clear K/C/M/Y toner names and compact colour badges */
.quotation-picker-toner-title {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 0;
    flex-wrap: wrap;
}

.quotation-picker-toner-title .quotation-picker-toner-badge {
    width: 21px;
    height: 21px;
    flex: 0 0 21px;
    border-width: 1px;
    font-size: 10px;
    box-shadow: inset 0 0 0 1px rgba(15, 23, 42, .12);
}

/* Quotation accessories inherit their machine's commercial arrangement. */
.quotation-machine-accessory-card{border-left-color:#eb7021}
.quotation-inherited-quantity{display:flex;min-width:92px;flex-direction:column;align-items:flex-end;gap:1px;color:#516074}
.quotation-inherited-quantity small{font-size:.68rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.quotation-inherited-quantity strong{font-size:1.05rem;color:#172235}
.quotation-inherited-quantity span{font-size:.69rem;white-space:nowrap}
.quotation-accessory-commercial-grid.single{grid-template-columns:minmax(0,1fr)}
.quotation-inherited-option-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.quotation-inherited-option-head strong,.quotation-inherited-option-head small{display:block}
.quotation-inherited-option-head strong{font-size:1rem}
.quotation-inherited-option-head small{max-width:68%;color:#758195;text-align:right}
.quotation-option-fields-single{grid-template-columns:minmax(0,1fr)}
.quotation-inherited-rental-period{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px;border-radius:8px;background:#f5f7f9;font-size:.84rem}
.quotation-accessory-link-warning{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:14px 16px 0;padding:12px 14px;border:1px solid #f1b58d;border-radius:10px;background:#fff8f3;color:#8a451d}
.quotation-accessory-link-warning strong,.quotation-accessory-link-warning span{display:block}
.quotation-accessory-link-warning span{font-size:.82rem}
@media(max-width:760px){.quotation-inherited-quantity{grid-column:1;grid-row:2;align-items:flex-start}.quotation-inherited-option-head,.quotation-accessory-link-warning{align-items:flex-start;flex-direction:column}.quotation-inherited-option-head small{max-width:none;text-align:left}}

/* Internal Partner cost reference on quotation machine-accessory lines. */
.quotation-machine-accessory-card .quotation-machine-head{grid-template-columns:76px minmax(0,1fr) minmax(220px,.72fr) 92px auto}
.quotation-accessory-partner-cost{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0}
.quotation-accessory-partner-cost.single{grid-template-columns:minmax(0,1fr)}
.quotation-accessory-cost-item{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:1px;padding:8px 10px;border:1px solid #dce3eb;border-radius:9px;background:#fff;color:#536174}
.quotation-accessory-cost-item.rental{border-color:#f1c4a7;background:#fffaf6}
.quotation-accessory-cost-item small{font-size:.66rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;color:#6d798a}
.quotation-accessory-cost-item strong{overflow:hidden;color:#172235;font-size:.86rem;line-height:1.25;text-overflow:ellipsis;white-space:nowrap}
.quotation-accessory-cost-item em{overflow:hidden;color:#7b8797;font-size:.66rem;font-style:normal;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1180px){.quotation-machine-accessory-card .quotation-machine-head{grid-template-columns:76px minmax(0,1fr) 92px auto}.quotation-accessory-partner-cost{grid-column:2/5;grid-row:2}}
@media(max-width:760px){.quotation-machine-accessory-card .quotation-machine-head{grid-template-columns:64px minmax(0,1fr)}.quotation-accessory-partner-cost{grid-column:1/-1;grid-row:auto;grid-template-columns:1fr}.quotation-machine-accessory-card .quotation-inherited-quantity{grid-column:1;grid-row:auto}.quotation-machine-accessory-card .quotation-machine-head>button{grid-column:2;grid-row:auto}}

/* Quotation draft delete confirmation */
.quotation-delete-dialog .quotation-delete-summary {
    display: grid;
    gap: 4px;
    padding: 13px 14px;
    border: 1px solid #e5e7eb;
    border-radius: 10px;
    background: #f8fafc;
}

.quotation-delete-dialog .quotation-delete-summary span {
    color: #6b7280;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.quotation-delete-dialog .quotation-delete-summary strong {
    color: #172033;
    font-size: 1rem;
}

.quotation-row-actions .quotation-delete-button {
    white-space: nowrap;
}


/* Quotation multi-recipient email fields */
.quotation-send-recipients{display:flex;flex-direction:column;gap:9px;padding:11px;border:1px solid #dce2e8;border-radius:10px;background:#f8fafc}
.quotation-send-recipients label{display:flex;flex-direction:column;gap:5px;margin:0}
.quotation-send-recipients label>span{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-weight:850;color:#364255}
.quotation-send-recipients label>span small{color:#7b8797;font-size:.72rem;font-weight:700;text-align:right}
.quotation-send-recipients textarea{min-height:54px;resize:vertical;background:#fff;line-height:1.35}
.quotation-send-recipient-hint{display:block;color:#6d798a;font-size:.75rem;line-height:1.45}

.quotation-option-panel.has-missing-fields,.quotation-accessories.has-missing-fields,.quotation-consumables.has-missing-fields,.quotation-editor-section.has-missing-fields{border-color:rgba(204,76,26,.45)!important;box-shadow:0 0 0 3px rgba(204,76,26,.08)}
.quotation-form-grid label.quotation-field-missing,.quotation-option-fields label.quotation-field-missing,.quotation-machine-head label.quotation-field-missing,.quotation-send-card label.quotation-field-missing{color:#a43b16}
.quotation-builder .quotation-field-missing,.quotation-builder .quotation-field-missing input,.quotation-builder input.quotation-field-missing,.quotation-builder select.quotation-field-missing,.quotation-builder textarea.quotation-field-missing{border-color:rgba(204,76,26,.55)!important;background:rgba(204,76,26,.08)!important;box-shadow:0 0 0 2px rgba(204,76,26,.08)}
.quotation-validation-hint{display:flex;flex-direction:column;gap:4px;margin-top:12px;padding:12px 14px;border:1px solid rgba(204,76,26,.24);border-radius:10px;background:rgba(204,76,26,.06);color:#7c3115;font-size:.88rem}
.quotation-validation-hint strong{font-size:.9rem}
.quotation-option-panel.has-missing-fields .quotation-option-toggle strong,.quotation-editor-section.has-missing-fields .quotation-editor-section-head h2{color:#963915}


/* Quotation partner-cost visibility and clickable missing-data guidance. */
.quotation-card-with-partner-cost .quotation-machine-head{grid-template-columns:76px minmax(0,1fr) minmax(190px,.64fr) 92px auto}
.quotation-partner-cost-summary{display:grid;min-width:0}
.quotation-partner-cost-summary .quotation-accessory-cost-item{min-height:58px}
.quotation-accessory-cost-item.is-actionable,.quotation-inherited-rental-period.is-actionable,.quotation-accessory-link-warning.is-actionable{appearance:none;width:100%;font:inherit;text-align:left;cursor:pointer}
.quotation-accessory-cost-item.is-actionable{transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.quotation-accessory-cost-item.is-actionable:hover,.quotation-accessory-cost-item.is-actionable:focus-visible{border-color:#eb7021;box-shadow:0 0 0 3px rgba(235,112,33,.12);transform:translateY(-1px);outline:none}
.quotation-inherited-rental-period.is-actionable{border:1px solid #f1b58d;color:#8a451d;transition:border-color .16s ease,box-shadow .16s ease}
.quotation-inherited-rental-period.is-actionable:hover,.quotation-inherited-rental-period.is-actionable:focus-visible{border-color:#eb7021;box-shadow:0 0 0 3px rgba(235,112,33,.12);outline:none}
.quotation-accessory-link-warning.is-actionable{border-color:#f1b58d}
.quotation-accessory-link-warning.is-actionable em{margin-left:auto;color:#9a5429;font-size:.72rem;font-style:normal;font-weight:850;white-space:nowrap}
.quotation-accessory-link-warning.is-actionable:hover,.quotation-accessory-link-warning.is-actionable:focus-visible{border-color:#eb7021;box-shadow:0 0 0 3px rgba(235,112,33,.12);outline:none}
.quotation-validation-hint{padding:0;overflow:hidden}
.quotation-validation-hint>button{appearance:none;display:flex;width:100%;flex-direction:column;gap:4px;padding:12px 14px;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}
.quotation-validation-hint>button em{color:#9a5429;font-size:.72rem;font-style:normal;font-weight:850}
.quotation-validation-hint>button:hover,.quotation-validation-hint>button:focus-visible{background:rgba(204,76,26,.07);outline:none}
.quotation-focus-pulse{animation:quotation-focus-pulse 1.75s ease both}
@keyframes quotation-focus-pulse{0%,100%{box-shadow:0 0 0 2px rgba(204,76,26,.08)}25%,70%{box-shadow:0 0 0 5px rgba(235,112,33,.28)}}
@media(max-width:1180px){.quotation-card-with-partner-cost .quotation-machine-head{grid-template-columns:76px minmax(0,1fr) 92px auto}.quotation-partner-cost-summary{grid-column:2/5;grid-row:2}}
@media(max-width:760px){.quotation-card-with-partner-cost .quotation-machine-head{grid-template-columns:64px minmax(0,1fr)}.quotation-partner-cost-summary{grid-column:1/-1;grid-row:auto}.quotation-card-with-partner-cost .quotation-machine-head>label{grid-column:1;grid-row:auto}.quotation-card-with-partner-cost .quotation-machine-head>button{grid-column:2;grid-row:auto}.quotation-accessory-link-warning.is-actionable em{margin-left:0;white-space:normal}}


/* Live internal quotation profit/loss indicators for machines and machine accessories. */
.quotation-price-margin-pair{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;align-items:end}
.quotation-margin-field input[readonly]{cursor:default;font-weight:900}
.quotation-margin-field small{min-height:14px;color:#778395;font-size:.68rem;font-weight:700;line-height:1.25}
.quotation-margin-field.is-profit{color:#176a38!important}
.quotation-margin-field.is-profit input{border-color:#68ad7c!important;background:rgba(31,139,73,.10)!important;color:#176a38!important;box-shadow:0 0 0 2px rgba(31,139,73,.08)!important}
.quotation-margin-field.is-profit small{color:#247244}
.quotation-margin-field.is-loss{color:#a52d24!important}
.quotation-margin-field.is-loss input{border-color:#d66a61!important;background:rgba(201,50,42,.10)!important;color:#a52d24!important;box-shadow:0 0 0 2px rgba(201,50,42,.08)!important}
.quotation-margin-field.is-loss small{color:#a52d24}
.quotation-margin-field.is-even input{border-color:#aeb8c5!important;background:#f5f7f9!important;color:#4d5969!important}
.quotation-margin-field.is-unavailable input{border-color:#d6dde5!important;background:#f7f9fb!important;color:#778395!important;font-weight:750}
.quotation-partner-cost-summary.has-monthly{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quotation-card-with-monthly-cost .quotation-machine-head{grid-template-columns:76px minmax(0,1fr) minmax(360px,.95fr) 92px auto}
@media(max-width:1180px){.quotation-card-with-monthly-cost .quotation-machine-head{grid-template-columns:76px minmax(0,1fr) 92px auto}.quotation-partner-cost-summary.has-monthly{grid-column:2/5;grid-row:2}}
@media(max-width:760px){.quotation-price-margin-pair{grid-template-columns:1fr}.quotation-partner-cost-summary.has-monthly{grid-template-columns:1fr;grid-column:1/-1;grid-row:auto}}

/* Compact quotation profit/loss layout. */
.quotation-purchase-common{grid-template-columns:minmax(220px,360px) minmax(220px,360px) minmax(0,1fr);align-items:end}
.quotation-margin-field{gap:6px!important}
.quotation-rental-fields-compact{grid-template-columns:repeat(6,minmax(0,1fr));align-items:end}
.quotation-rental-fields-compact>.quotation-price-margin-pair{grid-column:1/-1}
.quotation-rental-fields-compact.is-colour>.quotation-rental-period-field,
.quotation-rental-fields-compact.is-colour>.quotation-black-charge-field,
.quotation-rental-fields-compact.is-colour>.quotation-colour-charge-field{grid-column:span 2}
.quotation-rental-fields-compact.is-bw>.quotation-rental-period-field,
.quotation-rental-fields-compact.is-bw>.quotation-black-charge-field{grid-column:span 3}
@media(max-width:900px){.quotation-purchase-common{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.quotation-purchase-common .quotation-live-total{grid-column:1/-1}}
@media(max-width:760px){.quotation-purchase-common{grid-template-columns:1fr}.quotation-rental-fields-compact{grid-template-columns:1fr}.quotation-rental-fields-compact>.quotation-price-margin-pair,.quotation-rental-fields-compact.is-colour>.quotation-rental-period-field,.quotation-rental-fields-compact.is-colour>.quotation-black-charge-field,.quotation-rental-fields-compact.is-colour>.quotation-colour-charge-field,.quotation-rental-fields-compact.is-bw>.quotation-rental-period-field,.quotation-rental-fields-compact.is-bw>.quotation-black-charge-field{grid-column:1/-1}}


/* Quotation machine header cost centering and single-line rental charge labels. */
@media(min-width:1181px){
    .quotation-machine-card.quotation-card-with-partner-cost[data-line-kind="machine"] .quotation-machine-head{
        grid-template-columns:76px minmax(220px,1fr) minmax(430px,620px) minmax(0,1fr) 92px auto;
    }
    .quotation-machine-card.quotation-card-with-partner-cost[data-line-kind="machine"] .quotation-machine-head>.quotation-partner-cost-summary{
        grid-column:3;
        width:100%;
        max-width:620px;
        justify-self:center;
    }
    .quotation-machine-card.quotation-card-with-partner-cost[data-line-kind="machine"] .quotation-machine-head>label{
        grid-column:5;
    }
    .quotation-machine-card.quotation-card-with-partner-cost[data-line-kind="machine"] .quotation-machine-head>button{
        grid-column:6;
    }
}
@media(min-width:761px){
    .quotation-rental-fields-compact>.quotation-price-margin-pair{grid-column:span 4}
    .quotation-rental-fields-compact.is-colour>.quotation-rental-period-field{grid-column:span 2}
    .quotation-rental-fields-compact.is-colour>.quotation-black-charge-field,
    .quotation-rental-fields-compact.is-colour>.quotation-colour-charge-field{grid-column:span 3}
    .quotation-rental-fields-compact.is-bw>.quotation-rental-period-field{grid-column:span 2}
    .quotation-rental-fields-compact.is-bw>.quotation-black-charge-field{grid-column:span 6}
    .quotation-rental-fields-compact>.quotation-black-charge-field,
    .quotation-rental-fields-compact>.quotation-colour-charge-field{
        white-space:nowrap;
        font-size:.76rem;
        letter-spacing:-.01em;
    }
}


/* True centre alignment for internal partner cost cards.
   The cost group is centred against the full header, independently of the
   product identity and the Qty / Remove controls. */
@media(min-width:1181px){
    .quotation-card-with-partner-cost .quotation-machine-head,
    .quotation-machine-accessory-card .quotation-machine-head{
        position:relative;
        grid-template-columns:76px minmax(260px,1fr) 92px auto;
        min-height:92px;
    }
    .quotation-card-with-partner-cost .quotation-machine-head>.quotation-partner-cost-summary,
    .quotation-machine-accessory-card .quotation-machine-head>.quotation-accessory-partner-cost{
        position:absolute;
        top:50%;
        left:50%;
        z-index:1;
        width:clamp(380px,42vw,620px);
        max-width:calc(100% - 560px);
        transform:translate(-50%,-50%);
    }
    .quotation-card-with-partner-cost .quotation-machine-head>label{
        grid-column:3;
    }
    .quotation-card-with-partner-cost .quotation-machine-head>button{
        grid-column:4;
    }
    .quotation-machine-accessory-card .quotation-inherited-quantity{
        grid-column:3;
    }
    .quotation-machine-accessory-card .quotation-machine-head>button{
        grid-column:4;
    }
}

/* Final compact Rental + Per-Copy alignment fix.
   Desktop/tablet: price + margin on the first row; rental period and A4
   charges share one bottom row. Keep the three bottom labels on one line. */
@media(min-width:761px){
    .quotation-rental-fields-compact{
        grid-template-columns:repeat(6,minmax(0,1fr));
        column-gap:8px;
        row-gap:11px;
        align-items:end;
    }
    .quotation-rental-fields-compact>.quotation-price-margin-pair{
        grid-column:1/-1;
    }
    .quotation-rental-fields-compact.is-colour>.quotation-rental-period-field,
    .quotation-rental-fields-compact.is-colour>.quotation-black-charge-field,
    .quotation-rental-fields-compact.is-colour>.quotation-colour-charge-field{
        grid-column:span 2;
    }
    .quotation-rental-fields-compact.is-bw>.quotation-rental-period-field,
    .quotation-rental-fields-compact.is-bw>.quotation-black-charge-field{
        grid-column:span 3;
    }
    .quotation-rental-fields-compact>.quotation-rental-period-field,
    .quotation-rental-fields-compact>.quotation-black-charge-field,
    .quotation-rental-fields-compact>.quotation-colour-charge-field{
        white-space:nowrap;
        font-size:.69rem;
        letter-spacing:-.018em;
        line-height:1.15;
    }
}

/* Final header-centre lock for internal cost cards.
   Reset old grid placement before absolute centring. Without this reset,
   an absolutely positioned grid item can be centred inside its former grid
   area instead of against the complete quotation product header. */
@media(min-width:1181px){
    .quotation-machine-card.quotation-card-with-partner-cost[data-line-kind="machine"] .quotation-machine-head,
    .quotation-machine-card.quotation-card-with-partner-cost[data-line-kind="product"] .quotation-machine-head,
    .quotation-machine-card.quotation-machine-accessory-card[data-line-kind="accessory"] .quotation-machine-head{
        position:relative!important;
    }
    .quotation-machine-card.quotation-card-with-partner-cost[data-line-kind="machine"] .quotation-machine-head>.quotation-partner-cost-summary,
    .quotation-machine-card.quotation-card-with-partner-cost[data-line-kind="product"] .quotation-machine-head>.quotation-partner-cost-summary,
    .quotation-machine-card.quotation-machine-accessory-card[data-line-kind="accessory"] .quotation-machine-head>.quotation-accessory-partner-cost{
        grid-column:auto!important;
        grid-row:auto!important;
        position:absolute!important;
        top:50%!important;
        left:50%!important;
        right:auto!important;
        bottom:auto!important;
        width:min(620px,42vw)!important;
        max-width:calc(100% - 560px)!important;
        margin:0!important;
        justify-self:auto!important;
        align-self:auto!important;
        transform:translate(-50%,-50%)!important;
    }
}


/* Quotation rental field order: rental period above, monthly rental below.
   Desktop/tablet top row: Rental period + Profit/Loss.
   Bottom row: Monthly rental + Black charge + Colour charge. */
@media(min-width:761px){
    .quotation-rental-fields-compact>.quotation-price-margin-pair{
        grid-column:1/-1!important;
    }
    .quotation-rental-fields-compact.is-colour>.quotation-rental-price-field,
    .quotation-rental-fields-compact.is-colour>.quotation-black-charge-field,
    .quotation-rental-fields-compact.is-colour>.quotation-colour-charge-field{
        grid-column:span 2!important;
    }
    .quotation-rental-fields-compact.is-bw>.quotation-rental-price-field,
    .quotation-rental-fields-compact.is-bw>.quotation-black-charge-field{
        grid-column:span 3!important;
    }
    .quotation-rental-fields-compact>.quotation-rental-price-field,
    .quotation-rental-fields-compact>.quotation-black-charge-field,
    .quotation-rental-fields-compact>.quotation-colour-charge-field{
        white-space:nowrap;
        font-size:.69rem;
        letter-spacing:-.018em;
        line-height:1.15;
    }
}
@media(max-width:760px){
    .quotation-rental-fields-compact>.quotation-rental-price-field{grid-column:1/-1}
}

/* Accessory rental contract profit/loss. Keep the approved monthly layout,
   adding one compact full-contract result without changing the inherited
   rental-period row below it. */
.quotation-accessory-rental-margin-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:10px;
}
.quotation-accessory-rental-margin-grid>.quotation-margin-field{
    min-width:0;
    font-size:.76rem;
    letter-spacing:-.01em;
}
.quotation-accessory-rental-margin-grid>.quotation-margin-field input{
    min-width:0;
}
@media(max-width:980px) and (min-width:761px){
    .quotation-accessory-rental-margin-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .quotation-accessory-rental-margin-grid>[data-rental-contract-margin-field]{
        grid-column:1/-1;
    }
}
@media(max-width:760px){
    .quotation-accessory-rental-margin-grid{
        grid-template-columns:1fr;
    }
    .quotation-accessory-rental-margin-grid>[data-rental-contract-margin-field]{
        grid-column:auto;
    }
}

/* Quotation Page Charge Calculator — partner-only floating launcher and modal. */
.quotation-machine-card-stage{position:relative;min-width:0;overflow:visible}
.quotation-machine-card-stage>.quotation-machine-card{overflow:visible}
.quotation-machine-card-stage>.quotation-machine-card>.quotation-machine-head{border-radius:14px 14px 0 0}
.quotation-option-panel.rental{position:relative}
.quotation-page-charge-launch{appearance:none;position:absolute;right:-74px;bottom:8px;left:auto;top:auto;z-index:6;display:flex;align-items:center;gap:9px;width:52px;height:52px;padding:6px;border:1px solid #df651c;border-radius:26px;background:#eb7021;color:#fff;font:inherit;font-weight:900;box-shadow:0 8px 22px rgba(34,43,56,.18);cursor:pointer;overflow:hidden;white-space:nowrap;transform:none;transition:width .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease}
.quotation-page-charge-launch:hover,.quotation-page-charge-launch:focus-visible{width:230px;background:#d96318;box-shadow:0 11px 30px rgba(34,43,56,.25);transform:translateX(-2px);outline:none}
.quotation-page-charge-launch-icon{display:grid;place-items:center;position:relative;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:#fff;color:#c75111;box-shadow:inset 0 0 0 1.5px rgba(199,81,17,.22)}
.quotation-page-charge-launch-icon::before{content:"";display:block;width:22px;height:24px;border-radius:5px;border:2px solid currentColor;background:linear-gradient(to bottom,currentColor 0 4px,transparent 4px 100%);box-sizing:border-box}
.quotation-page-charge-launch-icon::after{content:"";position:absolute;left:13px;top:16px;width:14px;height:13px;background:radial-gradient(circle at 2px 2px,currentColor 1.25px,transparent 1.45px) 0 0/7px 6.5px}
.quotation-page-charge-launch-text{padding-right:12px;font-size:.8rem;line-height:1.1;opacity:0;transition:opacity .14s ease}
.quotation-page-charge-launch:hover .quotation-page-charge-launch-text,.quotation-page-charge-launch:focus-visible .quotation-page-charge-launch-text{opacity:1}
body.quotation-page-charge-open{overflow:hidden}
.quotation-page-charge-modal[hidden]{display:none!important}
.quotation-page-charge-modal{position:fixed;inset:0;z-index:10030;display:grid;place-items:center;padding:24px}
.quotation-page-charge-backdrop{position:absolute;inset:0;border:0;background:rgba(20,27,38,.64);cursor:default}
.quotation-page-charge-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(1120px,calc(100vw - 36px));max-height:min(860px,calc(100vh - 42px));border:1px solid #d9dfe7;border-radius:16px;background:#fff;box-shadow:0 28px 80px rgba(10,17,27,.32);overflow:hidden}
.quotation-page-charge-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 21px;border-bottom:1px solid #e1e6ec;background:#f7f9fb}
.quotation-page-charge-header span{display:block;color:#e0651c;font-size:.72rem;font-weight:900;letter-spacing:.08em}
.quotation-page-charge-header h2{margin:3px 0 2px;color:#172033;font-size:1.35rem}
.quotation-page-charge-header p{margin:0;color:#6f7c8e;font-size:.87rem}
.quotation-page-charge-header>button{display:grid;place-items:center;flex:0 0 38px;height:38px;border:1px solid #d6dce4;border-radius:50%;background:#fff;color:#263244;font-size:1.35rem;cursor:pointer}
.quotation-page-charge-header>button:hover,.quotation-page-charge-header>button:focus-visible{border-color:#eb7021;color:#c75111;outline:none}
.quotation-page-charge-body{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);min-height:0;overflow:hidden}
.quotation-page-charge-selection{min-width:0;padding:17px;overflow:auto}
.quotation-page-charge-guidance{display:flex;flex-direction:column;gap:4px;margin-bottom:13px;padding:11px 13px;border:1px solid #dce3ea;border-radius:10px;background:#f8fafc;color:#536075;font-size:.8rem;line-height:1.42}
.quotation-page-charge-guidance strong{color:#263244;font-size:.86rem}
.quotation-page-charge-groups,.quotation-page-charge-maintenance{display:flex;flex-direction:column;gap:11px}
.quotation-page-charge-maintenance:not(:empty){margin-top:11px}
.quotation-page-charge-group{border:1px solid #dce2e9;border-radius:11px;overflow:hidden;background:#fff}
.quotation-page-charge-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 11px;background:#f4f7fa;border-bottom:1px solid #e0e5eb}
.quotation-page-charge-group>header span{display:block;color:#e0651c;font-size:.66rem;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.quotation-page-charge-group>header h3{margin:1px 0 0;color:#202b3c;font-size:.9rem}
.quotation-page-charge-group>header button{border:1px solid #e2a77f;border-radius:7px;background:#fff7f1;color:#9a4515;padding:6px 9px;font-size:.72rem;font-weight:850;cursor:pointer}
.quotation-page-charge-group>header button:hover,.quotation-page-charge-group>header button:focus-visible{border-color:#eb7021;background:#fff0e5;outline:none}
.quotation-page-charge-option{display:grid;grid-template-columns:22px 28px minmax(0,1fr) minmax(116px,.52fr);gap:8px;align-items:center;padding:9px 11px;border-top:1px solid #edf0f4;cursor:pointer}
.quotation-page-charge-option:first-child{border-top:0}
.quotation-page-charge-option:hover{background:#fbfcfd}
.quotation-page-charge-option.is-disabled{opacity:.48;cursor:not-allowed}
.quotation-page-charge-option>input{width:auto;margin:0}
.quotation-page-charge-colour,.quotation-page-charge-maintenance-icon{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;color:#fff;font-size:.71rem;font-weight:950}
.quotation-page-charge-colour.is-k{background:#202733}.quotation-page-charge-colour.is-c{background:#00a9d3}.quotation-page-charge-colour.is-m{background:#d42d7d}.quotation-page-charge-colour.is-y{background:#f1c713;color:#202733}
.quotation-page-charge-maintenance-icon{background:#687588;font-size:.58rem}
.quotation-page-charge-option-copy{min-width:0}
.quotation-page-charge-option-copy strong,.quotation-page-charge-option-copy small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.quotation-page-charge-option-copy strong{color:#222d3e;font-size:.82rem}
.quotation-page-charge-option-copy small{margin-top:2px;color:#7a8696;font-size:.7rem}
.quotation-page-charge-option-metrics{text-align:right;min-width:0}
.quotation-page-charge-option-metrics small,.quotation-page-charge-option-metrics strong,.quotation-page-charge-option-metrics em{display:block}
.quotation-page-charge-option-metrics small{color:#7d8897;font-size:.62rem;font-weight:800;text-transform:uppercase}
.quotation-page-charge-option-metrics strong{color:#182333;font-size:.82rem}
.quotation-page-charge-option-metrics em{color:#7a8696;font-size:.65rem;font-style:normal}
.quotation-page-charge-empty{padding:24px;border:1px dashed #cfd6df;border-radius:10px;background:#fafbfc;color:#7a8696;text-align:center}
.quotation-page-charge-results{display:flex;flex-direction:column;gap:10px;padding:19px;border-left:1px solid #e1e6ec;background:#f8fafc;overflow:auto}
.quotation-page-charge-results>h3{margin:0 0 2px;color:#202b3c;font-size:1rem}
.quotation-page-charge-result-card{display:flex;flex-direction:column;gap:3px;padding:12px;border:1px solid #d9e0e8;border-radius:10px;background:#fff}
.quotation-page-charge-result-card>span{color:#596679;font-size:.74rem;font-weight:800}
.quotation-page-charge-result-card>strong{color:#176a38;font-size:1.25rem}
.quotation-page-charge-result-card>small{color:#778395;font-size:.68rem;line-height:1.35}
.quotation-page-charge-apply-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:3px}
.quotation-page-charge-apply-fields label{display:flex;flex-direction:column;gap:5px;color:#465367;font-size:.75rem;font-weight:850}
.quotation-page-charge-apply-fields input{width:100%;border:1px solid #cfd6df;border-radius:8px;background:#fff;padding:10px 11px;color:#202a38;font-weight:900}
.quotation-page-charge-actions{display:flex;gap:8px;margin-top:auto;padding-top:6px}
.quotation-page-charge-actions .button{flex:1;justify-content:center}
@media(max-width:1380px){.quotation-page-charge-launch{position:static;width:auto;height:40px;margin:9px 16px 0 auto;padding:4px 12px;border-radius:9px;transform:none}.quotation-page-charge-launch:hover,.quotation-page-charge-launch:focus-visible{width:auto;transform:translateY(-1px)}.quotation-page-charge-launch-icon{flex-basis:29px;width:29px;height:29px;border-radius:9px}.quotation-page-charge-launch-icon::before{width:16px;height:18px;border-radius:4px;border-width:1.6px;background:linear-gradient(to bottom,currentColor 0 3px,transparent 3px 100%)}.quotation-page-charge-launch-icon::after{left:10px;top:12px;width:10px;height:9px;background:radial-gradient(circle at 1.7px 1.7px,currentColor 1px,transparent 1.15px) 0 0/5px 4.5px}.quotation-page-charge-launch-text{opacity:1;padding-right:0}}
@media(max-width:860px){.quotation-page-charge-modal{padding:10px}.quotation-page-charge-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px)}.quotation-page-charge-body{grid-template-columns:1fr;overflow:auto}.quotation-page-charge-selection{overflow:visible}.quotation-page-charge-results{border-left:0;border-top:1px solid #e1e6ec;overflow:visible}.quotation-page-charge-option{grid-template-columns:22px 28px minmax(0,1fr)}.quotation-page-charge-option-metrics{grid-column:3;text-align:left}}
@media(max-width:520px){.quotation-page-charge-header{padding:14px}.quotation-page-charge-selection,.quotation-page-charge-results{padding:13px}.quotation-page-charge-option{padding:8px}.quotation-page-charge-launch{width:calc(100% - 32px);margin:9px 16px 0;justify-content:center}}


/* =========================================================
   Greek public-header desktop spacing
   Greek-only override: English header remains unchanged.
   ========================================================= */
@media (min-width: 1200px) {
    .topbar-public.mm-public-header.topbar-greek .topbar-inner {
        max-width: 1740px;
        grid-template-columns: minmax(350px, auto) minmax(0, 1fr) auto;
        gap: 12px;
        padding-left: 20px;
        padding-right: 20px;
    }

    .topbar-public.mm-public-header.topbar-greek .site-brand {
        min-width: 350px;
        gap: 12px;
    }

    .topbar-public.mm-public-header.topbar-greek .site-brand-logo {
        width: 116px;
        flex-basis: 116px;
    }

    .topbar-public.mm-public-header.topbar-greek .site-brand-text strong {
        font-size: 20px;
    }

    .topbar-public.mm-public-header.topbar-greek .site-brand-text small {
        font-size: 9.5px;
        letter-spacing: .04em;
    }

    .topbar-public.mm-public-header.topbar-greek .topbar-links {
        min-width: 0;
        gap: 0;
    }

    .topbar-public.mm-public-header.topbar-greek .topbar-links a {
        flex: 0 0 auto;
        padding-left: 7px;
        padding-right: 7px;
        font-size: 11.5px;
        white-space: nowrap;
    }

    .topbar-public.mm-public-header.topbar-greek .topbar-action-cluster {
        gap: 8px;
    }

    .topbar-public.mm-public-header.topbar-greek .language-switcher {
        gap: 3px;
        padding: 3px;
    }

    .topbar-public.mm-public-header.topbar-greek .language-choice {
        min-width: 43px;
        padding-left: 6px;
        padding-right: 6px;
    }

    .topbar-public.mm-public-header.topbar-greek .topbar-login {
        padding-left: 13px;
        padding-right: 13px;
        font-size: 11.5px;
        white-space: nowrap;
    }
}

@media (min-width: 1200px) and (max-width: 1450px) {
    .topbar-public.mm-public-header.topbar-greek .site-brand-text small {
        display: none;
    }

    .topbar-public.mm-public-header.topbar-greek .topbar-inner {
        grid-template-columns: minmax(290px, auto) minmax(0, 1fr) auto;
    }

    .topbar-public.mm-public-header.topbar-greek .site-brand {
        min-width: 290px;
    }

    .topbar-public.mm-public-header.topbar-greek .topbar-links a {
        padding-left: 5px;
        padding-right: 5px;
        font-size: 10.8px;
    }
}

/* Guided quotation product picker: machine -> matching accessories -> other products */
.quotation-product-picker-guided{grid-template-rows:auto auto auto auto auto minmax(0,1fr) auto}
/* The quotation builder keeps all changing picker content in one bounded body.
   The action footer therefore remains visible in every step and viewport size. */
.quotation-product-picker-guided[data-product-picker-dialog]{grid-template-rows:auto auto minmax(0,1fr) auto;min-height:0;height:min(820px,calc(100dvh - 24px))}
.quotation-product-picker-body{display:grid;grid-template-rows:auto auto auto minmax(0,1fr);min-height:0;overflow:hidden}
.quotation-product-picker-body>.quotation-product-picker-machine-context{grid-row:1}
.quotation-product-picker-body>.quotation-picker-accessory-mode{grid-row:2}
.quotation-product-picker-body>.quotation-product-picker-tools{grid-row:3}
.quotation-product-picker-body>.quotation-product-picker-results{grid-row:4;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.quotation-product-picker-guided[data-product-picker-dialog]>footer{position:relative;z-index:4;min-height:68px;box-shadow:0 -10px 24px rgba(31,42,56,.08)}
.quotation-product-picker-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 22px;border-bottom:1px solid #e5e9ef;background:#f8fafc}
.quotation-product-picker-steps button{display:flex;align-items:center;justify-content:center;gap:8px;min-width:0;padding:9px 11px;border:1px solid #d9e0e8;border-radius:10px;background:#fff;color:#657286;font:inherit;font-size:.8rem;font-weight:850;cursor:pointer}
.quotation-product-picker-steps button>span{display:grid;place-items:center;flex:0 0 23px;height:23px;border-radius:50%;background:#edf1f5;color:#5e6a7b;font-size:.7rem}
.quotation-product-picker-steps button.is-active{border-color:#eb7021;background:#fff7f1;color:#9d3f0d;box-shadow:0 0 0 2px rgba(235,112,33,.08)}
.quotation-product-picker-steps button.is-active>span{background:#eb7021;color:#fff}
.quotation-product-picker-steps button.is-complete:not(.is-active)>span{background:#2e8b57;color:#fff}
.quotation-product-picker-steps button:disabled{opacity:.45;cursor:not-allowed}
.quotation-product-picker-machine-context{display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:12px;align-items:center;padding:10px 22px;border-bottom:1px solid #e6eaf0;background:#fffaf6}
.quotation-picker-machine-context-thumb{display:grid;place-items:center;width:64px;height:48px;overflow:hidden;border:1px solid #e1e6ec;border-radius:8px;background:#fff}
.quotation-picker-machine-context-thumb img{max-width:100%;max-height:100%;object-fit:contain}
.quotation-picker-machine-context-thumb span{font-size:.7rem;font-weight:900;color:#98a3b2}
.quotation-product-picker-machine-context>div:nth-child(2),.quotation-product-picker-machine-context small,.quotation-product-picker-machine-context strong,.quotation-product-picker-machine-context span{display:block;min-width:0}
.quotation-product-picker-machine-context small{color:#e16b1c;font-size:.65rem;font-weight:900;letter-spacing:.06em}
.quotation-product-picker-machine-context strong{margin-top:2px;color:#202a38}
.quotation-product-picker-machine-context span{margin-top:2px;color:#728094;font-size:.75rem}
.quotation-product-picker-machine-context>em{padding:6px 9px;border-radius:999px;background:#eaf6ef;color:#2d774d;font-size:.7rem;font-style:normal;font-weight:850;white-space:nowrap}
.quotation-product-picker-guided .quotation-product-picker-tools{grid-template-columns:minmax(0,1fr) 250px}
.quotation-product-picker-guided .quotation-product-picker-row{grid-template-columns:28px 74px minmax(0,1fr) 178px}
.quotation-product-picker-row.is-selected{border-color:#eb7021;background:#fff8f3;box-shadow:0 0 0 2px rgba(235,112,33,.08)}
.quotation-picker-machine-row.is-added{opacity:1;background:#f8fbf9}
.quotation-picker-machine-row.is-added:hover{background:#fffaf6}
.quotation-picker-accessory-group{overflow:hidden;margin-bottom:11px;border:1px solid #dfe5ec;border-radius:12px;background:#fff}
.quotation-picker-accessory-group>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 12px;background:#eef3f8;color:#344256}
.quotation-picker-accessory-group>header strong{font-size:.82rem}
.quotation-picker-accessory-group>header span{color:#738096;font-size:.7rem;font-weight:800}
.quotation-picker-accessory-group .quotation-product-picker-row{border-width:0;border-top-width:1px;border-radius:0;margin:0}
.quotation-picker-accessory-group .quotation-product-picker-row:first-child{border-top:0}
.quotation-picker-dual-price{display:grid;grid-template-columns:1fr 1fr;gap:2px 8px;text-align:left}
.quotation-picker-dual-price small,.quotation-picker-dual-price strong{margin:0}
.quotation-picker-dual-price em{grid-column:1/-1}
.quotation-product-picker-empty strong,.quotation-product-picker-empty span{display:block}
.quotation-product-picker-empty span{margin-top:5px;font-size:.82rem}

@media(max-width:760px){
  .quotation-product-picker-body{display:block;overflow-x:hidden;overflow-y:auto}
  .quotation-product-picker-body>.quotation-product-picker-results{min-height:180px;overflow:visible}
  .quotation-product-picker-steps{grid-template-columns:1fr;padding:9px 12px}
  .quotation-product-picker-steps button{justify-content:flex-start}
  .quotation-product-picker-machine-context{grid-template-columns:52px minmax(0,1fr);padding:9px 13px}
  .quotation-product-picker-machine-context>em{grid-column:1/-1;justify-self:start}
  .quotation-product-picker-guided .quotation-product-picker-tools{grid-template-columns:1fr}
  .quotation-product-picker-guided .quotation-product-picker-row{grid-template-columns:24px 58px minmax(0,1fr)}
  .quotation-product-picker-guided .quotation-product-picker-price{grid-column:3}
  .quotation-picker-dual-price{display:grid;grid-template-columns:auto auto;justify-content:start}
}

@media(max-height:620px) and (min-width:761px){
  .quotation-product-picker-body{display:block;overflow-x:hidden;overflow-y:auto}
  .quotation-product-picker-body>.quotation-product-picker-results{min-height:180px;overflow:visible}
}

.quotation-required-label{display:inline-flex;align-items:center;gap:3px;min-height:1.15em;line-height:1.15;white-space:nowrap}.quotation-required-label>b{color:#c44c1a;font-weight:900}

.rds-utax-configurator-button{border-color:#252b34;background:#252b34;color:#fff}
.rds-utax-configurator-button:hover,.rds-utax-configurator-button:focus-visible{border-color:#eb7021;background:#eb7021;color:#fff}
.rds-utax-configurator-button svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.rds-utax-configurator-section-button{flex:0 0 auto;align-self:center;margin-left:auto;min-width:210px;justify-content:center}
@media(max-width:760px){.rds-utax-configurator-section-button{width:100%;margin-left:0}}


/* Quotation customer details compact layout and optional validity date */
.quotation-customer-section{padding:18px 20px}
.quotation-customer-section .quotation-editor-section-head{margin-bottom:14px}
.quotation-customer-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:10px 12px;align-items:start}
.quotation-customer-grid>label,.quotation-customer-grid>.quotation-form-field{min-width:0}
.quotation-customer-grid .quotation-language-field,.quotation-customer-grid .quotation-customer-name-field,.quotation-customer-grid .quotation-customer-company-field,.quotation-customer-grid .quotation-customer-email-field{grid-column:span 3}
.quotation-customer-grid .quotation-customer-phone-field{grid-column:span 2}
.quotation-customer-grid .quotation-customer-address-field{grid-column:span 6}
.quotation-customer-grid .quotation-date-field,.quotation-customer-grid .quotation-validity-field{grid-column:span 2}
.quotation-customer-grid .quotation-currency-field,.quotation-customer-grid .quotation-vat-field{grid-column:span 2}
.quotation-customer-grid .quotation-customer-vat-notice{grid-column:span 8}
.quotation-customer-grid .quotation-introduction-field{grid-column:1/-1}
.quotation-customer-grid textarea{min-height:44px}
.quotation-customer-grid .quotation-customer-address-field textarea,.quotation-customer-grid .quotation-introduction-field textarea{height:58px;min-height:58px}
.quotation-customer-grid label,.quotation-customer-grid .quotation-form-field{gap:5px}
.quotation-form-field{display:flex;flex-direction:column;color:#495669;font-size:.84rem;font-weight:750}
.quotation-field-label-row{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:18px}
.quotation-field-label-row>label{margin:0;white-space:nowrap}
.quotation-validity-switch{display:inline-flex!important;flex-direction:row!important;align-items:center!important;gap:5px!important;cursor:pointer;font-size:.7rem!important;font-weight:850!important;color:#677386!important}
.quotation-validity-switch>input{position:absolute;opacity:0;pointer-events:none;width:1px!important;height:1px;padding:0!important}
.quotation-validity-switch-track{position:relative;display:block;width:31px;height:17px;border-radius:999px;background:#aeb7c3;box-shadow:inset 0 0 0 1px rgba(29,36,48,.08);transition:background .18s ease}
.quotation-validity-switch-track::after{content:"";position:absolute;left:2px;top:2px;width:13px;height:13px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(29,36,48,.3);transition:transform .18s ease}
.quotation-validity-switch>input:checked+.quotation-validity-switch-track{background:#eb7021}
.quotation-validity-switch>input:checked+.quotation-validity-switch-track::after{transform:translateX(14px)}
.quotation-validity-switch>input:focus-visible+.quotation-validity-switch-track{outline:2px solid rgba(235,112,33,.35);outline-offset:2px}
.quotation-validity-field.is-disabled>input[type=date]{background:#f1f3f6;color:#8993a2;border-color:#dbe0e6}
.quotation-validity-field>small{color:#788496;font-weight:600;line-height:1.25}
.quotation-customer-vat-notice{display:flex;flex-direction:column;justify-content:center;gap:3px;padding:9px 12px;border:1px solid #f0cfb7;border-radius:9px;background:#fff9f4;color:#8d3e12}
.quotation-customer-vat-notice strong{font-size:.82rem}
.quotation-customer-vat-notice small{color:#80614e;font-weight:600}
@media(max-width:1350px){.quotation-customer-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.quotation-customer-grid .quotation-language-field,.quotation-customer-grid .quotation-customer-name-field,.quotation-customer-grid .quotation-customer-company-field,.quotation-customer-grid .quotation-customer-email-field{grid-column:span 3}.quotation-customer-grid .quotation-customer-phone-field,.quotation-customer-grid .quotation-date-field,.quotation-customer-grid .quotation-validity-field,.quotation-customer-grid .quotation-currency-field,.quotation-customer-grid .quotation-vat-field{grid-column:span 2}.quotation-customer-grid .quotation-customer-address-field{grid-column:span 4}.quotation-customer-grid .quotation-customer-vat-notice{grid-column:span 4}}
@media(max-width:760px){.quotation-customer-section{padding:16px}.quotation-customer-grid{grid-template-columns:1fr}.quotation-customer-grid>*{grid-column:1/-1!important}.quotation-customer-grid .quotation-customer-address-field textarea,.quotation-customer-grid .quotation-introduction-field textarea{height:auto;min-height:68px}}

/* Quotation details: inline payment terms and protected financial settings */
.quotation-customer-grid .quotation-payment-inline{grid-column:span 8;display:grid;grid-template-columns:minmax(210px,3fr) minmax(280px,5fr);gap:10px 12px;align-items:start;min-width:0;padding:9px 10px;border:1px solid #dfe4ea;border-radius:10px;background:#f8fafc}
.quotation-payment-inline>label{min-width:0}
.quotation-payment-inline .quotation-payment-note-field textarea{height:42px;min-height:42px;resize:vertical}
.quotation-payment-inline .quotation-advance-payment,.quotation-payment-inline .quotation-validation-hint{grid-column:1/-1}
.quotation-payment-inline .quotation-advance-payment{margin-top:1px;padding-top:10px;border-top:1px solid #e2e6eb}
.quotation-payment-inline .quotation-advance-payment .quotation-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px}
.quotation-payment-inline .quotation-payment-guidance{margin-top:9px}
.quotation-payment-inline.has-missing-fields{border-color:rgba(204,76,26,.5);box-shadow:0 0 0 3px rgba(204,76,26,.07)}
.quotation-customer-grid .quotation-customer-vat-notice{grid-column:span 4}
.quotation-customer-grid .quotation-introduction-field{grid-column:span 8}
.quotation-customer-grid .quotation-introduction-field textarea{height:58px;min-height:58px}
.quotation-protected-setting{min-width:0}
.quotation-protected-setting .quotation-field-label-row{min-height:21px}
.quotation-setting-edit{appearance:none;border:0;background:transparent;color:#c75111;padding:1px 3px;font:inherit;font-size:.7rem;font-weight:850;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.quotation-setting-edit:hover,.quotation-setting-edit:focus-visible{color:#8d3711;outline:none}
.quotation-protected-setting.is-locked select,.quotation-protected-setting.is-locked input{background:#f1f3f6!important;color:#626e7e!important;border-color:#d7dde5!important}
.quotation-protected-setting.is-locked select{pointer-events:none}
.quotation-protected-setting.is-unlocked{padding:7px;border:1px solid rgba(235,112,33,.5);border-radius:9px;background:rgba(235,112,33,.055)}
.quotation-protected-setting>small{color:#788496;font-weight:600;line-height:1.22}
.quotation-protected-setting.is-unlocked>small{color:#a84617;font-weight:750}

@media(max-width:1350px){
  .quotation-customer-grid .quotation-payment-inline{grid-column:1/-1}
  .quotation-customer-grid .quotation-customer-vat-notice{grid-column:span 2}
  .quotation-customer-grid .quotation-introduction-field{grid-column:span 4}
}
@media(max-width:900px){
  .quotation-payment-inline{grid-template-columns:1fr!important}
  .quotation-payment-inline>*{grid-column:1/-1!important}
  .quotation-payment-inline .quotation-advance-payment .quotation-form-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .quotation-customer-grid .quotation-customer-vat-notice,.quotation-customer-grid .quotation-introduction-field{grid-column:1/-1!important}
}

/* Quotation send card: compact sticky layout with collapsed attachment details */
.quotation-send-card{
    position:sticky;
    top:18px;
    display:flex;
    flex-direction:column;
    max-height:calc(100vh - 36px);
    padding:0;
    overflow:hidden;
}
.quotation-send-card-head{
    flex:0 0 auto;
    padding:19px 19px 0;
}
.quotation-send-card-head h2{margin:5px 0}
.quotation-send-card-head>p{margin:0;color:#687487;font-size:.88rem;line-height:1.45}
.quotation-send-card .quotation-send-form{
    display:flex;
    flex:1 1 auto;
    min-height:0;
    flex-direction:column;
    gap:0;
}
.quotation-send-scroll{
    display:flex;
    flex:1 1 auto;
    min-height:0;
    flex-direction:column;
    gap:11px;
    padding:12px 19px 16px;
    overflow-y:auto;
    overscroll-behavior:contain;
    scrollbar-gutter:stable;
}
.quotation-send-scroll::-webkit-scrollbar{width:9px}
.quotation-send-scroll::-webkit-scrollbar-thumb{border:2px solid transparent;border-radius:999px;background:#c7ced8;background-clip:padding-box}
.quotation-send-attachments{
    overflow:hidden;
    border:1px solid #dce2e8;
    border-radius:10px;
    background:#f8fafc;
}
.quotation-send-attachments summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:11px 12px;
    cursor:pointer;
    list-style:none;
    color:#374357;
}
.quotation-send-attachments summary::-webkit-details-marker{display:none}
.quotation-send-attachments summary>span:first-child{display:flex;min-width:0;flex-direction:column;gap:2px}
.quotation-send-attachments summary strong{font-size:.84rem}
.quotation-send-attachments summary small{color:#758195;font-size:.73rem;font-weight:650}
.quotation-send-attachments summary>span:last-child{flex:0 0 auto;font-size:1.05rem;transition:transform .18s ease}
.quotation-send-attachments[open] summary>span:last-child{transform:rotate(180deg)}
.quotation-send-attachment-list{
    display:flex;
    max-height:210px;
    flex-direction:column;
    gap:7px;
    padding:10px 12px 12px;
    overflow-y:auto;
    border-top:1px solid #e2e7ed;
    background:#fff;
}
.quotation-send-attachment-list>span{display:grid;grid-template-columns:16px minmax(0,1fr);gap:7px;align-items:start;color:#5f6b7d;font-size:.78rem;line-height:1.35}
.quotation-send-attachment-list>span>strong{color:#2e8b57}
.quotation-send-attachment-list b{color:#303b4c}
.quotation-send-smtp-note{display:block;color:#7b8695;font-size:.72rem;line-height:1.4}
.quotation-send-footer{
    flex:0 0 auto;
    display:flex;
    flex-direction:column;
    gap:9px;
    padding:12px 19px 16px;
    border-top:1px solid #e2e7ed;
    background:#fff;
    box-shadow:0 -8px 18px rgba(29,36,48,.06);
}
.quotation-send-footer .quotation-send-button{width:100%}
.quotation-send-static{display:flex;flex-direction:column;gap:11px;padding:14px 19px 19px}
.quotation-send-static>small{display:block;color:#7b8695;line-height:1.45}

@media(max-width:1150px){
    .quotation-send-card{position:static;max-height:none;overflow:visible}
    .quotation-send-scroll{overflow:visible}
    .quotation-send-footer{box-shadow:none}
}


/* Quotation missing-information floating rail */
.quotation-missing-rail[hidden]{display:none!important}
.quotation-missing-rail{position:fixed;left:14px;top:158px;z-index:120;display:flex;align-items:flex-start;gap:9px;font-family:inherit}
.quotation-missing-rail-trigger{appearance:none;position:relative;display:grid;place-items:center;flex:0 0 50px;width:50px;height:50px;padding:0;border:1px solid #b63f17;border-radius:15px;background:#c94c1b;color:#fff;box-shadow:0 10px 28px rgba(34,43,56,.2);cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,background .18s ease}
.quotation-missing-rail-trigger:hover,.quotation-missing-rail-trigger:focus-visible{background:#ad3c12;box-shadow:0 13px 34px rgba(34,43,56,.26);transform:translateY(-1px);outline:none}
.quotation-missing-rail-symbol{font-size:1.35rem;font-weight:950;line-height:1}
.quotation-missing-rail-count{position:absolute;right:-7px;top:-8px;display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border:2px solid #fff;border-radius:999px;background:#1d2430;color:#fff;font-size:.72rem;font-weight:900}
.quotation-missing-rail-panel{width:0;max-height:calc(100vh - 190px);border:0 solid rgba(204,76,26,.28);border-radius:14px;background:rgba(255,255,255,.98);box-shadow:0 16px 45px rgba(29,36,48,.2);opacity:0;overflow:hidden;pointer-events:none;transform:translateX(-12px);transition:width .2s ease,opacity .16s ease,transform .2s ease,border-width .2s ease;backdrop-filter:blur(10px)}
.quotation-missing-rail:hover .quotation-missing-rail-panel,.quotation-missing-rail:focus-within .quotation-missing-rail-panel,.quotation-missing-rail.is-open .quotation-missing-rail-panel{width:310px;border-width:1px;opacity:1;pointer-events:auto;transform:translateX(0)}
.quotation-missing-rail-panel>header{display:flex;flex-direction:column;gap:3px;padding:13px 14px 11px;border-bottom:1px solid #e4e8ed;background:#fff7f3}
.quotation-missing-rail-panel>header strong{color:#8f3212;font-size:.9rem}
.quotation-missing-rail-panel>header small{color:#697689;font-size:.72rem;line-height:1.35}
.quotation-missing-rail-list{display:flex;flex-direction:column;gap:7px;max-height:calc(100vh - 285px);padding:10px;overflow:auto;overscroll-behavior:contain}
.quotation-missing-rail-list button{appearance:none;display:grid;grid-template-columns:27px minmax(0,1fr);gap:9px;width:100%;padding:9px;border:1px solid #e0e5eb;border-radius:10px;background:#fff;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.quotation-missing-rail-list button:hover,.quotation-missing-rail-list button:focus-visible{border-color:#e36c1d;background:#fff8f3;transform:translateX(2px);outline:none}
.quotation-missing-item-number{display:grid;place-items:center;width:27px;height:27px;border-radius:8px;background:#eb7021;color:#fff;font-size:.72rem;font-weight:900}
.quotation-missing-rail-list button>span:last-child,.quotation-missing-rail-list button strong,.quotation-missing-rail-list button small{display:block;min-width:0}
.quotation-missing-rail-list button strong{margin-bottom:2px;color:#2d3746;font-size:.76rem}
.quotation-missing-rail-list button small{color:#667386;font-size:.71rem;line-height:1.35}
@media(min-width:1451px){
    .quotation-missing-rail{display:block;width:50px;height:50px}
    .quotation-missing-rail-panel{position:absolute;right:calc(100% + 9px);top:0;transform:translateX(12px)}
    .quotation-missing-rail:hover .quotation-missing-rail-panel,.quotation-missing-rail:focus-within .quotation-missing-rail-panel,.quotation-missing-rail.is-open .quotation-missing-rail-panel{transform:translateX(0)}
}
@media(max-width:1450px){.quotation-missing-rail{left:10px;top:auto;bottom:18px}.quotation-missing-rail-panel{max-height:min(520px,calc(100vh - 90px))}.quotation-missing-rail-list{max-height:min(420px,calc(100vh - 190px))}}
@media(max-width:900px){.quotation-missing-rail{left:12px;bottom:12px}.quotation-missing-rail-trigger{width:46px;height:46px;flex-basis:46px;border-radius:14px}.quotation-missing-rail:hover .quotation-missing-rail-panel,.quotation-missing-rail:focus-within .quotation-missing-rail-panel,.quotation-missing-rail.is-open .quotation-missing-rail-panel{width:min(310px,calc(100vw - 82px))}}

/* Quotation customer details: friendly three-card layout */
.quotation-customer-section{padding:18px 20px}
.quotation-customer-section .quotation-editor-section-head{margin-bottom:14px}
.quotation-detail-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:12px;align-items:start}
.quotation-detail-card{min-width:0;padding:14px;border:1px solid #dfe4ea;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(31,42,55,.035)}
.quotation-detail-card-customer{grid-column:1/-1}
.quotation-detail-card-settings{grid-column:span 5}
.quotation-detail-card-terms{grid-column:span 7}
.quotation-detail-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:11px;padding-bottom:9px;border-bottom:1px solid #edf0f4}
.quotation-detail-card-head h3{margin:0;color:#202a38;font-size:1rem;line-height:1.15}
.quotation-detail-card-head small{display:block;margin-top:3px;color:#7a8697;font-size:.72rem;font-weight:650;line-height:1.25}
.quotation-detail-card label,.quotation-detail-card .quotation-form-field{display:flex;flex-direction:column;gap:5px;min-width:0;color:#495669;font-size:.8rem;font-weight:750}
.quotation-detail-card input,.quotation-detail-card select,.quotation-detail-card textarea{width:100%;border:1px solid #cfd6df;border-radius:8px;background:#fff;padding:9px 10px;color:#202a38;font:inherit}
.quotation-detail-card textarea{resize:vertical}
.quotation-detail-card label>small,.quotation-detail-card .quotation-form-field>small{color:#788496;font-size:.69rem;font-weight:600;line-height:1.25}
.quotation-customer-primary-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:9px 11px;align-items:start}
.quotation-customer-primary-grid .quotation-language-field,.quotation-customer-primary-grid .quotation-customer-name-field,.quotation-customer-primary-grid .quotation-customer-company-field,.quotation-customer-primary-grid .quotation-customer-email-field{grid-column:span 3}
.quotation-customer-primary-grid .quotation-customer-phone-field{grid-column:span 2}
.quotation-customer-primary-grid .quotation-customer-address-field{grid-column:span 10}
.quotation-customer-primary-grid .quotation-customer-address-field textarea{height:42px;min-height:42px}
.quotation-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 11px;align-items:start}
.quotation-settings-grid .quotation-field-label-row{min-height:19px}
.quotation-detail-card-settings .quotation-customer-vat-notice{margin-top:10px;padding:8px 10px;border-radius:8px}
.quotation-detail-card-settings .quotation-customer-vat-notice strong{font-size:.76rem}
.quotation-detail-card-settings .quotation-customer-vat-notice small{font-size:.68rem}
.quotation-terms-grid{display:grid;grid-template-columns:minmax(205px,4fr) minmax(280px,8fr);gap:9px 11px;align-items:start}
.quotation-terms-grid .quotation-payment-note-field textarea{height:40px;min-height:40px}
.quotation-terms-grid .quotation-advance-payment,.quotation-terms-grid .quotation-introduction-field{grid-column:1/-1}
.quotation-terms-grid .quotation-introduction-field{padding-top:10px;border-top:1px solid #edf0f4}
.quotation-terms-grid .quotation-introduction-field textarea{height:54px;min-height:54px}
.quotation-terms-grid .quotation-advance-payment{margin-top:1px;padding:10px;border:1px solid #e4e8ed;border-radius:9px;background:#f8fafc}
.quotation-terms-grid .quotation-advance-payment .quotation-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px 11px}
.quotation-terms-grid .quotation-payment-guidance{margin-top:8px}
.quotation-detail-card.has-missing-fields{border-color:#dfe4ea;box-shadow:0 3px 12px rgba(31,42,55,.035)}
.quotation-detail-card label.quotation-field-missing{border:0!important;background:transparent!important;box-shadow:none!important;color:#a43b16}
.quotation-detail-card input.quotation-field-missing,.quotation-detail-card select.quotation-field-missing,.quotation-detail-card textarea.quotation-field-missing{border-color:#dc744a!important;background:#fff8f4!important;box-shadow:0 0 0 2px rgba(220,116,74,.09)!important}
.quotation-detail-card .quotation-protected-setting.is-unlocked{padding:6px;border-radius:8px}

@media(max-width:1400px){
  .quotation-detail-card-settings,.quotation-detail-card-terms{grid-column:1/-1}
  .quotation-settings-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:1050px){
  .quotation-customer-primary-grid{grid-template-columns:repeat(6,minmax(0,1fr))}
  .quotation-customer-primary-grid .quotation-language-field,.quotation-customer-primary-grid .quotation-customer-name-field,.quotation-customer-primary-grid .quotation-customer-company-field,.quotation-customer-primary-grid .quotation-customer-email-field{grid-column:span 3}
  .quotation-customer-primary-grid .quotation-customer-phone-field{grid-column:span 2}
  .quotation-customer-primary-grid .quotation-customer-address-field{grid-column:span 4}
  .quotation-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .quotation-customer-section{padding:15px}
  .quotation-detail-layout,.quotation-customer-primary-grid,.quotation-settings-grid,.quotation-terms-grid{grid-template-columns:1fr}
  .quotation-detail-card,.quotation-customer-primary-grid>*,.quotation-settings-grid>*,.quotation-terms-grid>*{grid-column:1/-1!important}
  .quotation-terms-grid .quotation-advance-payment .quotation-form-grid{grid-template-columns:1fr}
  .quotation-detail-card{padding:12px}
}

/* Keep Payment terms note and optional marker on one aligned line. */
.quotation-horizontal-field-label{display:flex;align-items:baseline;gap:5px;min-width:0;white-space:nowrap;line-height:1.2}
.quotation-horizontal-field-label small{display:inline!important;margin:0!important;color:#788496;font-size:.69rem;font-weight:600;line-height:inherit}
@media(max-width:520px){.quotation-horizontal-field-label{white-space:normal;flex-wrap:wrap}}

/* Quotation commercial PDF variants */
.quotation-pdf-download-button{white-space:nowrap;font-size:.78rem;padding-inline:11px}
.quotation-send-pdf-options{margin:0;padding:11px 12px;border:1px solid #dce2e8;border-radius:10px;background:#f8fafc}
.quotation-send-pdf-options legend{padding:0 5px;color:#303b4c;font-size:.82rem;font-weight:850}
.quotation-send-pdf-options>p{margin:0 0 9px;color:#738093;font-size:.73rem;line-height:1.4}
.quotation-send-pdf-options>div{display:flex;flex-direction:column;gap:7px}
.quotation-send-pdf-options label{display:flex;align-items:center;gap:8px;padding:8px 9px;border:1px solid #e1e6ec;border-radius:8px;background:#fff;color:#344052;font-size:.8rem;font-weight:750;cursor:pointer}
.quotation-send-pdf-options label:has(input:checked){border-color:#ef9a63;background:#fff7f1;color:#9f4211}
.quotation-send-pdf-options input{flex:0 0 auto;margin:0;accent-color:#e66f20}
.quotation-send-pdf-error{display:block;margin-top:8px;color:#b83a20;font-size:.73rem;font-weight:800}
.quotation-send-pdf-error[hidden]{display:none}
@media(max-width:760px){.quotation-pdf-download-button{flex-basis:100%}}

.quotation-purchase-toner-note{display:grid;gap:5px!important;align-content:start}.quotation-purchase-toner-note label{display:grid;gap:4px;width:100%;font-weight:800}.quotation-purchase-toner-note input{width:100%;min-width:0}.quotation-purchase-toner-note>span{font-size:.78rem;color:var(--muted,#667085);line-height:1.3}

/* Purchase Only included toner selector */
.quotation-purchase-toner-selector{margin:0 16px 14px;padding:14px;border:1px solid #dfe5ec;border-radius:12px;background:#fbfcfd;display:grid;gap:12px}
.quotation-purchase-toner-selector[hidden]{display:none!important}
.quotation-purchase-toner-selector-head{display:flex;align-items:end;justify-content:space-between;gap:18px}
.quotation-purchase-toner-selector-head>label{display:grid;gap:6px;min-width:min(420px,100%);font-weight:850;color:#273346}
.quotation-purchase-toner-selector-head select{width:100%;min-height:42px;border:1px solid #cbd4df;border-radius:9px;background:#fff;padding:8px 10px;color:#202a38;font-weight:750}
.quotation-purchase-toner-selector-head>small{max-width:460px;color:#6e7a8d;line-height:1.4;text-align:right}
.quotation-purchase-toner-mode-panel{display:grid;gap:10px}
.quotation-included-toner-yields{display:flex;flex-wrap:wrap;gap:8px}
.quotation-included-toner-yields>span{display:flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #dce3eb;border-radius:9px;background:#fff}
.quotation-included-toner-yields strong{font-size:.82rem;color:#263246}
.quotation-toner-badge{display:grid;place-items:center;width:24px;height:24px;border-radius:6px;font-size:.76rem;font-weight:950;line-height:1}
.quotation-toner-badge.is-k{background:#1b2531;color:#fff}
.quotation-toner-badge.is-c{background:#00a8cf;color:#fff}
.quotation-toner-badge.is-m{background:#d72f89;color:#fff}
.quotation-toner-badge.is-y{background:#ffc20e;color:#202733}
.quotation-included-toner-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.quotation-included-toner-group{min-width:0;margin:0;padding:10px;border:1px solid #dce3eb;border-radius:10px;background:#fff}
.quotation-included-toner-group legend{display:flex;align-items:center;gap:8px;padding:0 5px;color:#29364a;font-size:.82rem;font-weight:850}
.quotation-included-toner-group>div{display:grid;gap:6px;margin-top:4px}
.quotation-included-toner-choice{display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:9px;align-items:center;padding:8px;border:1px solid #e2e7ed;border-radius:8px;background:#fbfcfd;cursor:pointer}
.quotation-included-toner-choice:hover{border-color:#e99a66;background:#fffaf7}
.quotation-included-toner-choice.is-selected{border-color:#e46c22;background:#fff8f2;box-shadow:0 0 0 2px rgba(228,108,34,.08)}
.quotation-included-toner-choice input{width:auto;margin:0}
.quotation-included-toner-choice span,.quotation-included-toner-choice strong,.quotation-included-toner-choice small{display:block;min-width:0}
.quotation-included-toner-choice span strong{font-size:.8rem;color:#202b3b}
.quotation-included-toner-choice span small{margin-top:2px;color:#758195;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.quotation-included-toner-choice>em{font-style:normal;color:#657286;font-size:.73rem;white-space:nowrap}
.quotation-included-toner-choice>b{color:#202b3b;font-size:.8rem;white-space:nowrap}
.quotation-included-toner-group.is-missing{border-color:#dc744a;background:#fff8f4}
.quotation-included-toner-group-title{display:flex;align-items:center;gap:8px;color:#963915}
.quotation-included-toner-empty{padding:10px;border:1px dashed #d8dee7;border-radius:9px;background:#fff;color:#687589;font-size:.8rem}
.quotation-toner-price-inclusion{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #d8e5db;border-radius:10px;background:#f4faf6}
.quotation-toner-price-inclusion label{display:flex;align-items:center;gap:8px;margin:0;color:#263a2d;font-weight:800}
.quotation-toner-price-inclusion input{width:auto;margin:0}
.quotation-toner-price-inclusion strong{color:#1f6b3c;white-space:nowrap}
.quotation-purchase-toner-note-label{display:grid;grid-template-columns:auto auto minmax(200px,1fr);align-items:center;gap:6px 10px;font-weight:800;color:#334054}
.quotation-purchase-toner-note-label>small{color:#7a8596;font-weight:650}
.quotation-purchase-toner-note-label input{min-width:0;width:100%;border:1px solid #cfd7e1;border-radius:8px;background:#fff;padding:9px 10px}
@media(max-width:1000px){.quotation-included-toner-groups{grid-template-columns:1fr}.quotation-purchase-toner-selector-head{align-items:stretch;flex-direction:column}.quotation-purchase-toner-selector-head>small{text-align:left}.quotation-purchase-toner-note-label{grid-template-columns:auto auto}.quotation-purchase-toner-note-label input{grid-column:1/-1}}
@media(max-width:620px){.quotation-purchase-toner-selector{margin-inline:10px;padding:11px}.quotation-included-toner-choice{grid-template-columns:auto minmax(0,1fr)}.quotation-included-toner-choice>em,.quotation-included-toner-choice>b{grid-column:2}.quotation-toner-price-inclusion{align-items:flex-start;flex-direction:column}.quotation-purchase-toner-note-label{grid-template-columns:1fr}.quotation-purchase-toner-note-label>small{display:none}.quotation-purchase-toner-note-label input{grid-column:auto}}

/* Quotation Purchase Only compact price fields and included-toner popup */
.quotation-purchase-common-in-panel{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin:14px 0 0;
    padding:0;
    border:0;
    border-radius:0;
    background:transparent;
}
.quotation-purchase-common-in-panel>label{min-width:0}
.quotation-purchase-only-actions{display:block;grid-template-columns:1fr}
.quotation-purchase-toner-launch-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
    width:100%;
    overflow:hidden;
    border:1px solid #e4c6b0;
    border-radius:11px;
    background:#fff;
    box-shadow:0 4px 12px rgba(35,45,60,.05);
}
.quotation-purchase-toner-summary{
    display:grid;
    gap:8px;
    min-width:0;
    padding:12px 13px;
    background:linear-gradient(135deg,#fffaf6 0%,#fff 72%);
}
.quotation-purchase-toner-summary-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    min-width:0;
}
.quotation-purchase-toner-summary-head>strong{
    min-width:0;
    color:#253246;
    font-size:.9rem;
    line-height:1.2;
}
.quotation-purchase-toner-status{
    display:inline-flex;
    align-items:center;
    flex:0 0 auto;
    min-height:22px;
    padding:3px 8px;
    border-radius:999px;
    background:#eef2f6;
    color:#586579;
    font-size:.64rem;
    font-weight:850;
    letter-spacing:.02em;
    white-space:nowrap;
}
.quotation-purchase-toner-status.is-ready{background:#eaf7ee;color:#17643a}
.quotation-purchase-toner-status.is-starter{background:#eaf5fb;color:#16617c}
.quotation-purchase-toner-status.is-empty{background:#f1f3f6;color:#687486}
.quotation-purchase-toner-summary-selection{
    display:flex;
    align-items:center;
    gap:9px;
    min-width:0;
}
.quotation-purchase-toner-summary-selection>strong{
    min-width:0;
    color:#1f2b3d;
    font-size:.83rem;
    line-height:1.25;
}
.quotation-purchase-toner-summary-badges{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}
.quotation-purchase-toner-summary-badges .quotation-toner-badge{
    display:inline-grid;
    place-items:center;
    width:22px;
    height:22px;
    padding:0;
    border-radius:6px;
    font-size:.68rem;
    line-height:1;
}
.quotation-purchase-toner-summary-facts{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
}
.quotation-purchase-toner-summary-facts>span{
    display:grid;
    gap:2px;
    min-width:0;
    padding:7px 8px;
    border:1px solid #e3e8ee;
    border-radius:8px;
    background:#f7f9fb;
}
.quotation-purchase-toner-summary-facts small{
    display:block;
    min-width:0;
    margin:0;
    color:#758095;
    font-size:.61rem;
    font-weight:800;
    letter-spacing:.035em;
    line-height:1.15;
    text-transform:uppercase;
}
.quotation-purchase-toner-summary-facts strong{
    display:block;
    min-width:0;
    color:#263346;
    font-size:.78rem;
    line-height:1.2;
}
.quotation-purchase-toner-summary-facts>span.is-positive{border-color:#b8dec4;background:#f0faf3}
.quotation-purchase-toner-summary-facts>span.is-positive strong{color:#17643a}
.quotation-purchase-toner-summary-facts>span.is-warning{border-color:#efcfb8;background:#fff8f2}
.quotation-purchase-toner-summary-facts>span.is-warning strong{color:#a34d14}
.quotation-purchase-toner-summary-empty{display:grid;gap:3px;min-width:0;padding:2px 0 1px}
.quotation-purchase-toner-summary-empty strong{color:#374459;font-size:.82rem;line-height:1.25}
.quotation-purchase-toner-summary-empty small{color:#6f7b8d;font-size:.7rem;line-height:1.35}
.quotation-purchase-toner-launch-card.has-missing-fields{
    border-color:rgba(204,76,26,.58);
    background:#fff8f4;
    box-shadow:0 0 0 3px rgba(204,76,26,.09);
}
.quotation-purchase-toner-launch{
    display:flex;
    flex:0 0 auto;
    min-width:142px;
    padding:12px 15px;
    border:0;
    border-left:1px solid rgba(139,69,15,.12);
    border-radius:0;
    justify-content:center;
    gap:9px;
    white-space:nowrap;
    font-size:.78rem;
    font-weight:850;
}
.quotation-purchase-toner-launch>b{font-size:1.25rem;line-height:1;font-weight:500;transform:translateY(-1px)}
.quotation-purchase-toner-launch:hover,.quotation-purchase-toner-launch:focus-visible{filter:brightness(.96)}
body.quotation-purchase-toner-open{overflow:hidden}
.quotation-purchase-toner-modal[hidden]{display:none!important}
.quotation-purchase-toner-modal{
    position:fixed;
    inset:0;
    z-index:10040;
    display:grid;
    place-items:center;
    padding:20px;
}
.quotation-purchase-toner-backdrop{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    border:0;
    background:rgba(18,24,34,.68);
    backdrop-filter:blur(4px);
    cursor:default;
}
.quotation-purchase-toner-dialog{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    width:min(1160px,calc(100vw - 40px));
    max-height:calc(100vh - 40px);
    overflow:hidden;
    border:1px solid #d7dde5;
    border-radius:18px;
    background:#fff;
    box-shadow:0 30px 90px rgba(10,16,25,.32);
}
.quotation-purchase-toner-dialog-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:20px;
    padding:18px 22px 15px;
    border-bottom:1px solid #e3e8ee;
    background:#fbfcfd;
}
.quotation-purchase-toner-dialog-head h2{margin:4px 0 3px;font-size:1.35rem;color:#202a38}
.quotation-purchase-toner-dialog-head p{margin:0;color:#6f7b8d;font-size:.85rem}
.quotation-purchase-toner-close{
    display:grid;
    place-items:center;
    flex:0 0 40px;
    width:40px;
    height:40px;
    border:1px solid #d6dde6;
    border-radius:10px;
    background:#fff;
    color:#354155;
    font-size:1.6rem;
    line-height:1;
    cursor:pointer;
}
.quotation-purchase-toner-close:hover,.quotation-purchase-toner-close:focus-visible{border-color:#e58b51;color:#bd4f11;outline:none}
.quotation-purchase-toner-dialog-body{min-height:0;overflow:auto;background:#f7f9fb}
.quotation-purchase-toner-dialog .quotation-purchase-toner-selector{
    margin:0;
    padding:18px 22px;
    border:0;
    border-radius:0;
    background:transparent;
}
.quotation-purchase-toner-dialog-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:13px 18px;
    border-top:1px solid #e2e7ed;
    background:#fff;
}
.quotation-purchase-toner-dialog-footer>span{color:#596679;font-size:.78rem;font-weight:750;line-height:1.35}
.quotation-purchase-toner-dialog-footer>.button{min-width:120px;justify-content:center}
@media(max-width:1280px){
    .quotation-purchase-common-in-panel{grid-template-columns:1fr}
    .quotation-purchase-toner-launch-card{grid-template-columns:1fr}
    .quotation-purchase-toner-launch{width:100%;min-height:42px;border-left:0;border-top:1px solid rgba(139,69,15,.12)}
}
@media(max-width:860px){
    .quotation-purchase-toner-modal{padding:10px}
    .quotation-purchase-toner-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px);border-radius:13px}
    .quotation-purchase-toner-dialog-head{padding:14px 15px}
    .quotation-purchase-toner-dialog .quotation-purchase-toner-selector{padding:14px}
    .quotation-purchase-toner-dialog-footer{align-items:stretch;flex-direction:column;padding:12px 14px}
    .quotation-purchase-toner-dialog-footer>.button{width:100%}
}
@media(max-width:620px){
    .quotation-purchase-common-in-panel{grid-template-columns:1fr}
    .quotation-purchase-toner-summary-facts{grid-template-columns:1fr}
    .quotation-purchase-toner-summary-head{align-items:flex-start}
    .quotation-purchase-toner-modal{padding:0}
    .quotation-purchase-toner-dialog{width:100vw;max-height:100vh;height:100vh;border:0;border-radius:0}
}

/* Quotation details: floating fixed action rail */
.quotation-details-header{margin-bottom:14px}
.quotation-details-action-bar{
    position:fixed;
    top:50%;
    left:max(14px,calc((100vw - 1320px)/2 - 304px));
    z-index:60;
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:9px;
    width:140px;
    margin:0;
    padding:10px;
    transform:translateY(-50%);
    border:1px solid #d8dee6;
    border-radius:14px;
    background:rgba(255,255,255,.97);
    box-shadow:0 14px 34px rgba(29,36,48,.18);
    backdrop-filter:blur(10px)
}
.quotation-details-navigation-actions,.quotation-details-pdf-actions{
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:8px;
    width:100%
}
.quotation-details-pdf-actions{margin:0;padding-top:1px}
.quotation-details-action-bar .button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:42px;
    padding:8px 10px;
    white-space:normal;
    text-align:center;
    line-height:1.18;
    box-shadow:0 3px 9px rgba(29,36,48,.10)
}
.quotation-details-action-bar .quotation-action-back{
    border-color:#121820;
    background:#121820;
    color:#fff
}
.quotation-details-action-bar .quotation-action-back:hover,
.quotation-details-action-bar .quotation-action-back:focus-visible{
    border-color:#000;
    background:#000;
    color:#fff
}
.quotation-details-action-bar .quotation-action-edit{
    border-color:#c7ced8;
    background:#e4e7eb;
    color:#202a38
}
.quotation-details-action-bar .quotation-action-edit:hover,
.quotation-details-action-bar .quotation-action-edit:focus-visible{
    border-color:#aeb7c3;
    background:#d5dae0;
    color:#151c26
}
.quotation-details-action-bar .quotation-pdf-download-button{font-size:.78rem;padding-inline:9px}
@media(min-width:1151px) and (max-width:1499px){
    .quotation-details-page{padding-left:142px}
    .quotation-details-action-bar{left:12px;width:126px}
}
@media(max-width:1150px){
    .quotation-details-page{padding-bottom:94px}
    .quotation-details-action-bar{
        top:auto;
        right:10px;
        bottom:10px;
        left:10px;
        width:auto;
        flex-direction:row;
        align-items:center;
        justify-content:space-between;
        gap:10px;
        padding:9px;
        transform:none
    }
    .quotation-details-navigation-actions,.quotation-details-pdf-actions{
        width:auto;
        flex-direction:row;
        flex-wrap:wrap
    }
    .quotation-details-pdf-actions{justify-content:flex-end;margin-left:auto}
    .quotation-details-action-bar .button{width:auto;min-height:40px;white-space:nowrap}
}
@media(max-width:720px){
    .quotation-details-page{padding-bottom:150px}
    .quotation-details-action-bar{align-items:stretch;flex-direction:column;gap:8px}
    .quotation-details-navigation-actions,.quotation-details-pdf-actions{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:8px;
        width:100%
    }
    .quotation-details-pdf-actions{margin-left:0}
    .quotation-details-pdf-actions .button:last-child:nth-child(odd){grid-column:1/-1}
    .quotation-details-action-bar .button{width:100%;white-space:normal}
}

/* Quotation rental contract profit and frozen internal rental calculator. */
.quotation-machine-rental-margin-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))
}
.quotation-machine-rental-margin-grid>.quotation-margin-field{
    min-width:0;
    font-size:.75rem;
    letter-spacing:-.012em
}
.quotation-machine-rental-margin-grid>.quotation-margin-field>span{
    display:block;
    min-height:1.15em
}
.quotation-machine-rental-margin-grid [data-rental-contract-period-label]{
    font:inherit;
    font-weight:800;
    white-space:nowrap
}

.quotation-profit-calculator{
    position:fixed;
    top:148px;
    right:auto;
    left:calc(50% + 868px);
    z-index:108;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
        "header"
        "totals"
        "breakdown"
        "volume"
        "footer";
    align-items:start;
    width:310px;
    max-height:calc(100vh - 170px);
    overflow:visible;
    border:1px solid #d8dee6;
    border-top:5px solid #eb7021;
    border-radius:16px;
    background:rgba(255,255,255,.98);
    box-shadow:0 18px 46px rgba(29,36,48,.20);
    backdrop-filter:blur(12px)
}

.quotation-profit-calculator.has-machine-tabs{
    grid-template-columns:minmax(0,1fr) 104px;
    grid-template-areas:
        "header tabs"
        "totals tabs"
        "breakdown tabs"
        "volume tabs"
        "footer tabs";
    width:412px
}
.quotation-profit-tabs{
    grid-area:tabs;
    align-self:start;
    position:sticky;
    top:12px;
    display:flex;
    flex-direction:column;
    gap:8px;
    padding:12px 10px 12px 0;
    overflow:visible;
    border-left:1px solid #dfe5ec;
    background:linear-gradient(180deg,#f7f9fb 0%,rgba(247,249,251,0) 100%);
    scrollbar-width:none
}
.quotation-profit-tabs::-webkit-scrollbar{display:none}
.quotation-profit-tabs[hidden]{display:none!important}
.quotation-profit-tab{
    display:grid;
    grid-template-columns:24px minmax(0,1fr);
    align-items:center;
    gap:7px;
    width:100%;
    min-width:0;
    max-width:none;
    padding:9px 8px 9px 10px;
    border:1px solid #d4dce5;
    border-right:0;
    border-radius:12px 0 0 12px;
    background:#f7f9fb;
    color:#445267;
    cursor:pointer;
    text-align:left;
    box-shadow:inset -1px 0 0 #dfe5ec;
    transition:border-color .16s ease,background .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease
}
.quotation-profit-tab>span{
    display:grid;
    place-items:center;
    width:24px;
    height:24px;
    border-radius:999px;
    background:#e8edf3;
    color:#405066;
    font-size:.65rem;
    font-weight:950
}
.quotation-profit-tab>strong{
    min-width:0;
    overflow:hidden;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    font-size:.68rem;
    line-height:1.12;
    text-overflow:ellipsis
}
.quotation-profit-tab:hover{
    border-color:#e8a16d;
    background:#fff8f3;
    transform:translateX(-3px)
}
.quotation-profit-tab.is-active{
    border-color:#eb7021;
    background:#fff3ea;
    color:#9c430c;
    transform:translateX(-7px);
    box-shadow:0 10px 18px rgba(235,112,33,.12),inset -1px 0 0 rgba(235,112,33,.12)
}
.quotation-profit-tab.is-active>span{background:#eb7021;color:#fff}
.quotation-profit-calculator>header{
    grid-area:header;
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:15px 16px 13px;
    border-bottom:1px solid #e5e9ee;
    background:linear-gradient(145deg,#202a38,#293646);
    color:#fff
}
.quotation-profit-calculator>header>span{
    color:#ff9b56;
    font-size:.66rem;
    font-weight:950;
    letter-spacing:.09em
}
.quotation-profit-calculator>header>strong{
    font-size:1.02rem;
    line-height:1.18
}
.quotation-profit-calculator>header>small{
    color:#cbd3dd;
    font-size:.72rem;
    font-weight:700;
    line-height:1.3
}
.quotation-profit-calculator.has-warning>header>small{
    color:#ffd1b3
}
.quotation-profit-calculator-totals{
    grid-area:totals;
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:9px;
    padding:12px
}
.quotation-profit-calculator-totals article{
    display:flex;
    min-width:0;
    min-height:104px;
    flex-direction:column;
    justify-content:center;
    gap:5px;
    padding:11px;
    border:1px solid #dfe4ea;
    border-radius:12px;
    background:#f7f9fb
}
.quotation-profit-calculator-totals article>span{
    color:#667386;
    font-size:.61rem;
    font-weight:950;
    letter-spacing:.055em
}
.quotation-profit-calculator-totals article>strong{
    overflow-wrap:anywhere;
    color:#263241;
    font-size:.91rem;
    line-height:1.25
}
.quotation-profit-calculator-totals article>small{
    color:#748094;
    font-size:.66rem;
    font-weight:700;
    line-height:1.25
}
.quotation-profit-calculator-totals article.is-profit{
    border-color:#78b88b;
    background:#eef8f1
}
.quotation-profit-calculator-totals article.is-profit>strong{color:#176a38}
.quotation-profit-calculator-totals article.is-loss{
    border-color:#dd827a;
    background:#fff1ef
}
.quotation-profit-calculator-totals article.is-loss>strong{color:#a52d24}
.quotation-profit-calculator-totals article.is-even{
    border-color:#aeb8c5;
    background:#f5f7f9
}
.quotation-profit-calculator-totals article.is-unavailable>strong{color:#8993a1}
.quotation-profit-calculator-breakdown{
    grid-area:breakdown;
    display:flex;
    flex-direction:column;
    gap:0;
    margin:0 12px 12px;
    overflow:hidden;
    border:1px solid #e1e6ec;
    border-radius:11px;
    background:#fff
}
.quotation-profit-calculator-breakdown>div{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:3px 10px;
    padding:9px 10px;
    border-top:1px solid #e8ecf0
}
.quotation-profit-calculator-breakdown>div:first-child{border-top:0}
.quotation-profit-calculator-breakdown>div[hidden]{display:none!important}
.quotation-profit-calculator-breakdown span{
    grid-row:1/3;
    align-self:center;
    color:#4d5a6b;
    font-size:.73rem;
    font-weight:850
}
.quotation-profit-calculator-breakdown strong,
.quotation-profit-calculator-breakdown small{
    text-align:right;
    white-space:nowrap
}
.quotation-profit-calculator-breakdown strong{
    color:#273342;
    font-size:.74rem
}
.quotation-profit-calculator-breakdown small{
    color:#718093;
    font-size:.65rem;
    font-weight:750
}
.quotation-profit-calculator-breakdown>div.is-profit strong,
.quotation-profit-calculator-breakdown>div.is-profit small{color:#176a38}
.quotation-profit-calculator-breakdown>div.is-loss strong,
.quotation-profit-calculator-breakdown>div.is-loss small{color:#a52d24}
.quotation-profit-volume{
    grid-area:volume;
    display:grid;
    gap:10px;
    margin:0 12px 12px;
    padding:11px;
    border:1px solid #dfe5ec;
    border-radius:12px;
    background:#f8fafc
}
.quotation-profit-volume[hidden]{display:none!important}
.quotation-profit-volume>header{
    display:grid;
    gap:7px
}
.quotation-profit-volume>header div>span,
.quotation-profit-volume>header div>strong{display:block}
.quotation-profit-volume>header div>span{
    color:#e56e1c;
    font-size:.59rem;
    font-weight:950;
    letter-spacing:.065em
}
.quotation-profit-volume>header div>strong{
    margin-top:2px;
    color:#263343;
    font-size:.82rem
}
.quotation-profit-volume-machine-label{
    display:block;
    min-width:0;
    padding:6px 8px;
    border-radius:8px;
    background:#eaf0f6;
    color:#33445a;
    font-size:.66rem;
    font-weight:900;
    line-height:1.25
}
.quotation-profit-volume>header select{
    width:100%;
    min-width:0;
    padding:7px 8px;
    border-radius:8px;
    font-size:.7rem;
    font-weight:800
}
.quotation-profit-volume-inputs{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px
}
.quotation-profit-volume-inputs label{
    display:grid;
    gap:4px;
    min-width:0
}
.quotation-profit-volume-inputs label:first-child{grid-column:1/-1}
.quotation-profit-volume-inputs label[hidden]{display:none!important}
.quotation-profit-volume-inputs span{
    color:#5d6b7e;
    font-size:.59rem;
    font-weight:900
}
.quotation-profit-volume-inputs input,
.quotation-profit-volume-inputs select{
    width:100%;
    min-width:0;
    padding:7px 8px;
    border:1px solid #cfd7e1;
    border-radius:8px;
    background:#fff;
    color:#1f2d3d;
    font-size:.75rem;
    font-weight:850
}
.quotation-profit-volume-margins{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:6px
}
.quotation-profit-volume-margins>div{
    min-width:0;
    padding:7px 8px;
    border-radius:8px;
    background:#eef2f6
}
.quotation-profit-volume-margins>div[hidden]{display:none!important}
.quotation-profit-volume-margins span,
.quotation-profit-volume-margins strong{display:block}
.quotation-profit-volume-margins span{
    color:#687589;
    font-size:.54rem;
    font-weight:900;
    line-height:1.2
}
.quotation-profit-volume-margins strong{
    margin-top:3px;
    color:#273545;
    font-size:.7rem
}
.quotation-profit-volume-results{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:7px
}
.quotation-profit-volume-results>div{
    min-width:0;
    padding:8px;
    border:1px solid #dfe5eb;
    border-radius:9px;
    background:#fff
}
.quotation-profit-volume-results span,
.quotation-profit-volume-results strong{display:block}
.quotation-profit-volume-results span{
    color:#657287;
    font-size:.53rem;
    font-weight:950;
    line-height:1.2
}
.quotation-profit-volume-results strong{
    margin-top:4px;
    overflow-wrap:anywhere;
    color:#293646;
    font-size:.72rem;
    line-height:1.2
}
.quotation-profit-volume-results>div.is-profit{border-color:#8bc19a;background:#eff8f2}
.quotation-profit-volume-results>div.is-profit strong{color:#176a38}
.quotation-profit-volume-results>div.is-loss{border-color:#df8b83;background:#fff2f0}
.quotation-profit-volume-results>div.is-loss strong{color:#a52d24}
.quotation-profit-volume-results>div.is-even{border-color:#b7c0cb;background:#f5f7f9}
.quotation-profit-volume-results>div.is-unavailable strong{color:#8a95a3}
.quotation-profit-volume-cost-note{
    display:grid;
    gap:7px;
    padding-top:2px
}
.quotation-profit-volume-cost-note small{
    color:#6e7a8c;
    font-size:.58rem;
    font-weight:700;
    line-height:1.35
}
.quotation-profit-volume-cost-note button{
    width:100%;
    padding:7px 9px;
    border:1px solid #e4a06f;
    border-radius:8px;
    background:#fff7f1;
    color:#a34c13;
    font-size:.65rem;
    font-weight:900;
    cursor:pointer
}
.quotation-profit-volume-cost-note button:hover{background:#ffefe3}
.quotation-profit-calculator>footer{
    grid-area:footer;
    padding:10px 13px 12px;
    border-top:1px solid #e6eaef;
    background:#fff8f3;
    color:#7f563b;
    font-size:.64rem;
    font-weight:700;
    line-height:1.35
}
.quotation-profit-calculator.is-empty .quotation-profit-calculator-breakdown{display:none}

@media(max-width:2379px){
    .quotation-profit-calculator{
        position:sticky;
        top:10px;
        right:auto;
        left:auto;
        z-index:9;
        width:100%;
        max-height:none;
        margin:0 0 14px;
        border-top-width:4px
    }
    .quotation-profit-calculator.has-machine-tabs{
        width:100%
    }
    .quotation-profit-calculator-totals{align-items:stretch}
    .quotation-profit-calculator-totals article{min-height:82px}
    .quotation-profit-volume{
        grid-template-columns:minmax(150px,.8fr) minmax(230px,1.1fr) minmax(180px,.8fr) minmax(180px,.8fr);
        align-items:center
    }
    .quotation-profit-volume>header{align-self:stretch}
    .quotation-profit-volume-inputs label:first-child{grid-column:auto}
    .quotation-profit-volume-margins,
    .quotation-profit-volume-results{align-self:stretch}
    .quotation-profit-volume-cost-note{align-self:center}
    .quotation-profit-calculator>footer{
        padding:7px 12px;
        text-align:center
    }
}
@media(max-width:1180px){
    .quotation-profit-calculator.has-machine-tabs{
        grid-template-columns:minmax(0,1fr) 94px;
        grid-template-areas:
            "header tabs"
            "totals tabs"
            "volume tabs"
            "footer tabs";
    }
    .quotation-profit-calculator-breakdown{display:none}
    .quotation-profit-volume{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .quotation-machine-rental-margin-grid{grid-template-columns:1fr}
    .quotation-profit-calculator{
        position:static;
        display:block;
        width:100%;
        margin-bottom:14px;
        overflow:hidden
    }
    .quotation-profit-tabs{
        position:static;
        display:flex;
        flex-direction:row;
        gap:6px;
        padding:8px;
        overflow-x:auto;
        overflow-y:hidden;
        border-left:0;
        border-bottom:1px solid #dfe5ec;
        background:#f4f7fa
    }
    .quotation-profit-tab{
        flex:0 0 auto;
        min-width:108px;
        max-width:190px;
        padding:7px 8px;
        border-right:1px solid #d4dce5;
        border-radius:9px;
        box-shadow:none;
        transform:none!important
    }
    .quotation-profit-tab>strong{
        display:block;
        white-space:nowrap;
        -webkit-line-clamp:unset
    }
    .quotation-profit-calculator>header{border-right:0;border-bottom:1px solid #e5e9ee}
    .quotation-profit-calculator-totals{grid-template-columns:1fr 1fr}
    .quotation-profit-calculator-totals article{min-height:92px}
    .quotation-profit-volume{grid-template-columns:1fr;margin:0 12px 12px}
    .quotation-profit-calculator>footer{text-align:left}
}
@media(max-width:480px){
    .quotation-profit-calculator-totals{grid-template-columns:1fr}
}
@media print{
    .quotation-profit-calculator{display:none!important}
}

/* Quotation Purchase Only and Rental calculators share one collision-free rail. */
.quotation-calculator-stack{
    position:fixed;
    top:148px;
    right:auto;
    left:calc(50% + 868px);
    z-index:108;
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:12px;
    align-items:start;
    width:310px;
    max-height:calc(100vh - 170px);
    padding:0 8px 8px 0;
    overflow-x:visible;
    overflow-y:auto;
    scrollbar-width:thin;
    scrollbar-color:#c8d0da transparent
}
.quotation-calculator-stack[hidden]{display:none!important}
.quotation-calculator-stack.has-machine-tabs{width:420px}
.quotation-calculator-stack>.quotation-profit-calculator{
    position:relative;
    top:auto;
    right:auto;
    left:auto;
    width:100%;
    max-height:none;
    margin:0
}
.quotation-calculator-stack>.quotation-profit-calculator.has-machine-tabs{width:100%}
.quotation-calculator-stack>.quotation-profit-calculator[hidden]{display:none!important}
.quotation-purchase-profit-calculator{
    border-top-color:#2f8a5d
}
.quotation-purchase-profit-calculator>header{
    background:linear-gradient(145deg,#173a2a,#24513b)
}
.quotation-purchase-profit-calculator>header>span{color:#8fe0ae}
.quotation-purchase-profit-calculator.has-warning>header>small{color:#ffd4b7}
.quotation-purchase-profit-breakdown{
    grid-area:breakdown;
    display:flex;
    flex-direction:column;
    gap:0;
    margin:0 12px 12px;
    overflow:hidden;
    border:1px solid #dce5df;
    border-radius:11px;
    background:#fff
}
.quotation-purchase-profit-breakdown>div{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    padding:9px 10px;
    border-top:1px solid #e8eeea
}
.quotation-purchase-profit-breakdown>div:first-child{border-top:0}
.quotation-purchase-profit-breakdown>div[hidden]{display:none!important}
.quotation-purchase-profit-breakdown span{
    color:#4d5d54;
    font-size:.71rem;
    font-weight:850
}
.quotation-purchase-profit-breakdown strong{
    color:#26362d;
    font-size:.75rem;
    text-align:right;
    white-space:nowrap
}
.quotation-purchase-profit-breakdown .quotation-purchase-profit-total-cost{
    background:#f2f6f3
}
.quotation-purchase-profit-breakdown .quotation-purchase-profit-total-cost span,
.quotation-purchase-profit-breakdown .quotation-purchase-profit-total-cost strong{
    color:#1e4932;
    font-weight:950
}
.quotation-purchase-profit-calculator>footer{
    background:#f2faf5;
    color:#42634f
}

@media(max-width:2379px){
    .quotation-calculator-stack,
    .quotation-calculator-stack.has-machine-tabs{
        position:sticky;
        top:10px;
        right:auto;
        left:auto;
        z-index:9;
        grid-template-columns:repeat(2,minmax(0,1fr));
        width:100%;
        max-height:none;
        margin:0 0 14px;
        padding:0;
        overflow:visible
    }
    .quotation-calculator-stack>.quotation-profit-calculator{
        position:relative;
        top:auto;
        width:100%;
        margin:0
    }
    .quotation-calculator-stack:not(.has-two-calculators){grid-template-columns:minmax(0,1fr)}
}
@media(max-width:1180px){
    .quotation-calculator-stack,
    .quotation-calculator-stack.has-machine-tabs{
        grid-template-columns:minmax(0,1fr)
    }
}
@media(max-width:760px){
    .quotation-calculator-stack,
    .quotation-calculator-stack.has-machine-tabs{
        position:static;
        display:grid;
        width:100%;
        margin-bottom:14px
    }
}
@media print{
    .quotation-calculator-stack{display:none!important}
}

/* Customer quotation configurator */
.customer-configurator-page{background:#f4f6f9}.customer-configurator-page .site-main{max-width:1540px}.customer-configurator-hero{display:flex;justify-content:space-between;gap:28px;align-items:flex-end;margin:18px 0 24px;padding:34px 38px;border-radius:22px;background:linear-gradient(135deg,#172333,#26384c);color:#fff;box-shadow:0 18px 50px rgba(15,30,48,.14)}.customer-configurator-hero h1{margin:8px 0 12px;font-size:clamp(32px,4vw,54px);line-height:1}.customer-configurator-hero p{max-width:850px;margin:0;color:#d9e2ed;font-size:17px;line-height:1.65}.customer-configurator-hero .tag{color:#ff9a50}.customer-configurator-hero-note{min-width:280px;max-width:360px;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:16px;background:rgba(255,255,255,.07)}.customer-configurator-hero-note strong,.customer-configurator-hero-note span{display:block}.customer-configurator-hero-note span{margin-top:5px;color:#cdd7e4;font-size:13px;line-height:1.45}.customer-configurator-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.customer-configurator-main{display:grid;gap:20px}.customer-configurator-step{padding:22px;border:1px solid #dce3eb;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,38,58,.06)}.customer-configurator-step-head{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}.customer-configurator-step-head>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#eb751f;color:#fff;font-size:18px;font-weight:900}.customer-configurator-step-head h2{margin:1px 0 4px;color:#172333}.customer-configurator-step-head p{margin:0;color:#66758a}.customer-configurator-machine-tools{display:grid;grid-template-columns:2fr 1fr;gap:14px;margin-bottom:18px}.customer-configurator-machine-tools label,.customer-configurator-contact-grid label,.customer-configurator-notes{display:grid;gap:7px;color:#243449;font-weight:800}.customer-configurator-machine-tools label>span,.customer-configurator-contact-grid label>span,.customer-configurator-notes>span{font-size:13px}.customer-configurator-machine-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.customer-machine-card{display:grid;grid-template-rows:150px 1fr auto;overflow:hidden;border:1px solid #dce3eb;border-radius:15px;background:#fff;transition:.18s}.customer-machine-card:hover{transform:translateY(-2px);border-color:#f0a16b;box-shadow:0 12px 30px rgba(28,44,65,.1)}.customer-machine-card.is-selected{border-color:#eb751f;background:#fffaf6}.customer-machine-card-image{display:grid;place-items:center;padding:12px;background:#f6f8fa}.customer-machine-card-image img{max-width:100%;max-height:126px;object-fit:contain}.customer-machine-card-image span{font-weight:900;color:#8996a6}.customer-machine-card-copy{padding:15px}.customer-machine-card-copy small,.customer-machine-card-copy strong,.customer-machine-card-copy span{display:block}.customer-machine-card-copy small{color:#e56e1c;font-weight:900;text-transform:uppercase}.customer-machine-card-copy strong{margin:4px 0 6px;color:#172333;font-size:17px}.customer-machine-card-copy span{color:#68788c;font-size:12px;line-height:1.45}.customer-machine-card .button{margin:0 15px 15px}.customer-configurator-selected{display:grid;gap:16px}.customer-configurator-empty{display:grid;place-items:center;min-height:140px;padding:24px;border:1px dashed #cdd6e0;border-radius:14px;color:#6c7a8c;text-align:center}.customer-configurator-empty strong,.customer-configurator-empty span{display:block}.customer-configurator-empty-large{min-height:190px}.customer-configurator-selected.is-validation-error{animation:customerConfiguratorError .5s ease 2}@keyframes customerConfiguratorError{50%{box-shadow:0 0 0 4px rgba(190,30,45,.14)}}.customer-configuration-card{overflow:hidden;border:1px solid #d7e0e9;border-radius:16px;background:#fff}.customer-configuration-head{display:grid;grid-template-columns:78px minmax(0,1fr) auto;gap:14px;align-items:center;padding:15px 17px;background:#f6f8fb}.customer-configuration-machine-image{display:grid;place-items:center;width:78px;height:68px;border-radius:10px;background:#fff}.customer-configuration-machine-image img{max-width:100%;max-height:62px;object-fit:contain}.customer-configuration-head small{color:#e56e1c;font-weight:900;text-transform:uppercase}.customer-configuration-head h3{margin:2px 0;color:#172333}.customer-configuration-head p{margin:0;color:#728095;font-size:12px}.customer-configuration-controls{display:grid;grid-template-columns:150px minmax(280px,1.2fr) 220px minmax(270px,1fr);gap:12px;padding:16px;border-top:1px solid #e5eaf0}.customer-configuration-controls>label,.customer-page-volume label{display:grid;gap:6px;font-weight:800;color:#25354a}.customer-configuration-controls>label>span,.customer-page-volume label>span{font-size:12px}.customer-commercial-preferences{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;border:0}.customer-commercial-preferences legend{width:100%;margin-bottom:1px;font-size:12px;font-weight:900}.customer-commercial-preferences label{display:flex;align-items:center;gap:6px;padding:8px 10px;border:1px solid #dce3eb;border-radius:9px;background:#fff;font-size:12px;font-weight:800}.customer-commercial-preferences small{width:100%;color:#7c8999}.customer-page-volume{display:grid;grid-template-columns:1fr 1fr;gap:8px}.customer-page-volume>strong{grid-column:1/-1;font-size:12px}.customer-compatible-accessories{padding:0 16px 16px}.customer-compatible-accessories-title{display:flex;justify-content:space-between;align-items:center;padding:12px 0}.customer-compatible-accessories-title h4{margin:0}.customer-compatible-accessories-title span{display:grid;place-items:center;min-width:27px;height:27px;border-radius:99px;background:#172333;color:#fff;font-weight:900}.customer-accessory-group{margin:8px 0;border:1px solid #e0e6ed;border-radius:12px}.customer-accessory-group summary{padding:11px 13px;cursor:pointer;font-weight:900;color:#26364a}.customer-accessory-list{display:grid;gap:1px;background:#e4e9ef}.customer-accessory-row{display:grid;grid-template-columns:48px minmax(0,1fr) 170px 80px;gap:10px;align-items:center;padding:10px;background:#fff}.customer-accessory-image{display:grid;place-items:center;width:46px;height:42px;border-radius:8px;background:#f6f8fa}.customer-accessory-image img{max-width:40px;max-height:35px;object-fit:contain}.customer-accessory-copy strong,.customer-accessory-copy small{display:block}.customer-accessory-copy small{margin-top:3px;color:#7a8797;font-size:11px}.customer-accessory-mode,.customer-accessory-quantity{display:grid;gap:4px}.customer-accessory-mode>span,.customer-accessory-quantity>span{font-size:10px;font-weight:900;color:#66758a;text-transform:uppercase}.customer-configurator-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.customer-configurator-contact-grid .wide,.customer-configurator-notes{grid-column:1/-1}.quote-honeypot{position:absolute!important;left:-9999px!important}.customer-configurator-summary{position:sticky;top:92px;padding:18px;border:1px solid #d7e0e8;border-radius:17px;background:#fff;box-shadow:0 12px 35px rgba(19,35,54,.1)}.customer-configurator-summary h2{margin:0 0 6px}.customer-configurator-summary>p{margin:0 0 14px;color:#738196;font-size:12px}.customer-summary-item{display:grid;grid-template-columns:30px 1fr;gap:9px;padding:10px 0;border-top:1px solid #e7ebf0}.customer-summary-item>span{display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:#172333;color:#fff;font-weight:900}.customer-summary-item strong,.customer-summary-item small,.customer-summary-item em{display:block}.customer-summary-item small{margin:3px 0;color:#66758a}.customer-summary-item em{color:#e56e1c;font-size:11px;font-style:normal;font-weight:800}.customer-summary-empty{padding:18px;border:1px dashed #d1d9e2;border-radius:10px;color:#788598;text-align:center}.customer-configurator-submit{width:100%;margin-top:15px;padding:13px 16px}.customer-configurator-privacy{display:block;margin-top:9px;color:#788598;font-size:11px;line-height:1.45}.customer-configurator-message{display:flex;gap:22px;align-items:flex-start;max-width:1040px;margin:48px auto;padding:38px;border-radius:22px;background:#fff;box-shadow:0 18px 60px rgba(20,38,58,.12)}.customer-configurator-message-icon{display:grid;place-items:center;flex:0 0 66px;height:66px;border-radius:20px;background:#eb751f;color:#fff;font-size:30px;font-weight:900}.customer-configurator-message h1{margin:8px 0 12px}.customer-configurator-message-actions{display:flex;gap:10px;margin-top:20px}.customer-configurator-expired .customer-configurator-message-icon{background:#b91c2b}.customer-configurator-no-accessories{padding:16px;border-radius:10px;background:#f6f8fa;color:#718095}.customer-link-created,.customer-links-public-card{display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,1.4fr);gap:20px;align-items:center;margin:0 0 18px;padding:20px;border:1px solid #d9e1e9;border-radius:16px;background:#fff}.customer-link-created{border-color:#9fd2ae;background:#f2fbf5}.customer-link-created span,.customer-links-public-card span{color:#e56e1c;font-size:11px;font-weight:900;letter-spacing:.08em}.customer-link-created strong,.customer-link-created small{display:block}.customer-link-created small{margin-top:3px;color:#607086}.customer-link-copy-row{display:flex;gap:8px}.customer-link-copy-row input{min-width:0;flex:1}.customer-links-layout{display:grid;grid-template-columns:minmax(520px,1fr) minmax(420px,.85fr);gap:20px;align-items:start}.customer-link-form{margin:0}.customer-link-machine-picker{margin-top:18px}.customer-link-machine-picker-head{display:flex;justify-content:space-between;gap:14px;align-items:end}.customer-link-machine-picker-head div strong,.customer-link-machine-picker-head div small{display:block}.customer-link-machine-picker-head div small{color:#748296}.customer-link-machine-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;max-height:460px;margin-top:10px;overflow:auto}.customer-link-machine-list>label{display:grid;grid-template-columns:auto 52px 1fr;gap:9px;align-items:center;padding:9px;border:1px solid #dfe5ec;border-radius:10px;background:#fff;cursor:pointer}.customer-link-machine-list>label:has(input:checked){border-color:#eb751f;background:#fff8f2}.customer-link-machine-image{display:grid;place-items:center;width:50px;height:44px;border-radius:8px;background:#f4f6f8}.customer-link-machine-image img{max-width:46px;max-height:40px;object-fit:contain}.customer-link-machine-list strong,.customer-link-machine-list small{display:block}.customer-link-machine-list small{margin-top:2px;color:#748296;font-size:10px}.customer-link-history{position:sticky;top:90px}.customer-link-list{display:grid;gap:10px;padding:14px}.customer-link-item{padding:14px;border:1px solid #dfe5ec;border-radius:12px}.customer-link-item.is-inactive{opacity:.72;background:#f7f8fa}.customer-link-item header{display:flex;justify-content:space-between;gap:12px}.customer-link-item header span{display:block;color:#e56e1c;font-size:10px;font-weight:900;text-transform:uppercase}.customer-link-item header strong{display:block;margin-top:2px}.customer-link-item header time{color:#788598;font-size:11px}.customer-link-item p{margin:8px 0}.customer-link-meta{display:flex;flex-wrap:wrap;gap:6px}.customer-link-meta span{padding:5px 7px;border-radius:7px;background:#f0f3f6;color:#5f6f83;font-size:10px;font-weight:700}.customer-link-item-actions{display:flex;gap:6px;align-items:center;margin-top:10px}.customer-link-item-actions input{min-width:0;flex:1}.customer-link-item-actions form{display:none}
@media(max-width:1200px){.customer-configurator-layout{grid-template-columns:1fr}.customer-configurator-summary{position:sticky;top:auto;bottom:10px;z-index:25}.customer-configurator-machine-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.customer-configuration-controls{grid-template-columns:1fr 1fr}.customer-links-layout{grid-template-columns:1fr}.customer-link-history{position:static}}
@media(max-width:760px){.customer-configurator-hero{display:block;padding:24px}.customer-configurator-hero-note{min-width:0;margin-top:18px}.customer-configurator-machine-grid{grid-template-columns:1fr}.customer-configurator-machine-tools,.customer-configurator-contact-grid{grid-template-columns:1fr}.customer-configuration-head{grid-template-columns:60px 1fr}.customer-configuration-head .button{grid-column:1/-1}.customer-configuration-machine-image{width:58px}.customer-configuration-controls{grid-template-columns:1fr}.customer-accessory-row{grid-template-columns:44px 1fr}.customer-accessory-mode,.customer-accessory-quantity{grid-column:2}.customer-configurator-summary{position:static}.customer-link-created,.customer-links-public-card{grid-template-columns:1fr}.customer-link-copy-row{flex-wrap:wrap}.customer-link-copy-row input{flex-basis:100%}.customer-link-machine-list{grid-template-columns:1fr}.customer-link-machine-picker-head{display:grid}.customer-link-item-actions{flex-wrap:wrap}.customer-link-item-actions input{flex-basis:100%}}
.customer-request-configurations{display:grid;gap:8px;margin:12px 0}.customer-request-configurations article{padding:11px;border:1px solid #dfe5ec;border-radius:10px;background:#f8fafc}.customer-request-configurations header{display:flex;justify-content:space-between;gap:10px}.customer-request-configurations header span{color:#e56e1c;font-size:11px;font-weight:900}.customer-request-preferences,.customer-request-accessories{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.customer-request-preferences span,.customer-request-accessories span{padding:5px 7px;border-radius:7px;background:#eaf0f6;color:#536377;font-size:10px;font-weight:700}.customer-request-accessories span.requested{background:#e8f7ed;color:#176a34}.customer-request-accessories span.alternative{background:#fff3e8;color:#9a4a12}
.quote-response-note .button{margin-top:12px}

/* Customer configurator: focused private links with RDS-selected machines */
.customer-configurator-form.is-preselected-link .customer-configurator-main{gap:18px}
.customer-configurator-preselected-step{border-color:#f0b589;background:linear-gradient(180deg,#fffaf6 0,#fff 150px)}
.customer-configurator-preselected-step .customer-configurator-step-head{padding-bottom:14px;border-bottom:1px solid #f3dfd0}
.customer-configurator-form.is-preselected-link .customer-configuration-card{border-color:#e7c4a9;box-shadow:0 8px 22px rgba(41,52,67,.06)}
.customer-configurator-form.is-preselected-link .customer-configuration-head{background:linear-gradient(90deg,#fff7f0,#f7f9fb)}
.customer-preselected-lock{display:grid;place-items:center;min-width:48px;height:34px;padding:0 10px;border-radius:10px;background:#172333;color:#fff;font-size:11px;font-weight:900;letter-spacing:.05em}
@media(max-width:760px){.customer-preselected-lock{grid-column:1/-1;justify-self:start}}

/* Customer quotation configurator: RDS-controlled private accessory list and clearer price/page choices. */
.customer-link-accessory-picker{margin-top:18px;padding:16px;border:1px solid #efb487;border-radius:14px;background:#fffaf6}
.customer-link-accessory-picker[hidden]{display:none}
.customer-link-accessory-picker-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:12px}
.customer-link-accessory-picker-head strong,.customer-link-accessory-picker-head small{display:block}
.customer-link-accessory-picker-head small{margin-top:3px;color:#6f7d8f;line-height:1.45}
.customer-link-accessory-picker-head>span{flex:0 0 auto;padding:6px 9px;border-radius:999px;background:#172333;color:#fff;font-size:11px;font-weight:900}
.customer-link-accessory-group{margin-top:10px;overflow:hidden;border:1px solid #dfe5ec;border-radius:12px;background:#fff}
.customer-link-accessory-group>header{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 12px;background:#f5f7fa}
.customer-link-accessory-group>header strong,.customer-link-accessory-group>header small{display:block}
.customer-link-accessory-group>header small{margin-top:2px;color:#718095;font-size:11px}
.customer-link-accessory-group>header>div:last-child{display:flex;gap:6px}
.customer-link-accessory-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#e5eaf0}
.customer-link-accessory-choice{display:grid;grid-template-columns:auto 48px minmax(0,1fr);gap:9px;align-items:center;padding:9px 10px;background:#fff;cursor:pointer}
.customer-link-accessory-choice:has(input:checked){background:#fff5ed}
.customer-link-accessory-image{display:grid;place-items:center;width:46px;height:40px;border-radius:8px;background:#f4f6f8}
.customer-link-accessory-image img{max-width:42px;max-height:34px;object-fit:contain}
.customer-link-accessory-choice strong,.customer-link-accessory-choice small{display:block}
.customer-link-accessory-choice small{margin-top:2px;color:#718095;font-size:10px;line-height:1.35}
.customer-link-accessory-empty{grid-column:1/-1;padding:14px;background:#fff;color:#718095}
.customer-accessory-row{grid-template-columns:48px minmax(0,1fr) 190px}
.customer-commercial-preferences legend{font-size:13px;color:#172333}
.customer-commercial-preferences label:has(input:checked){border-color:#eb751f;background:#fff4ea;color:#9b4208}
.customer-commercial-preferences .customer-recommend-choice{flex-basis:100%;border-style:dashed}
.customer-page-period{grid-column:1/-1}
.customer-page-volume-unknown{grid-column:1/-1;padding:10px 12px;border:1px dashed #cdd6e0;border-radius:9px;background:#f6f8fa;color:#65758a;font-size:12px;font-weight:800;text-align:center}
@media(max-width:760px){.customer-link-accessory-list{grid-template-columns:1fr}.customer-link-accessory-picker-head,.customer-link-accessory-group>header{display:grid}.customer-link-accessory-group>header>div:last-child{justify-content:flex-start}.customer-accessory-row{grid-template-columns:44px 1fr}.customer-accessory-mode{grid-column:2}.customer-page-period{grid-column:1/-1}}

/* Customer configurator guided request workspace */
.customer-request-workspace{padding:20px;border-top:1px solid #e5eaf0;background:#fbfcfd}
.customer-request-topline{display:flex;justify-content:space-between;gap:22px;align-items:center;margin-bottom:16px}
.customer-request-intro{display:grid;gap:3px;min-width:0}
.customer-request-kicker{color:#e56e1c;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}
.customer-request-intro>strong{color:#172333;font-size:18px;line-height:1.2}
.customer-request-intro>small{color:#708096;font-size:12px;line-height:1.45}
.customer-machine-quantity-panel{display:flex;align-items:center;gap:12px;flex:0 0 auto;padding:9px 10px 9px 14px;border:1px solid #dbe2ea;border-radius:12px;background:#fff}
.customer-machine-quantity-panel>span{color:#53647a;font-size:11px;font-weight:900;text-transform:uppercase}
.customer-quantity-stepper{display:grid;grid-template-columns:34px 46px 34px;align-items:center;overflow:hidden;border:1px solid #cfd8e3;border-radius:9px;background:#fff}
.customer-quantity-stepper button{height:36px;padding:0;border:0;background:#f2f5f8;color:#172333;font-size:19px;font-weight:900;cursor:pointer}
.customer-quantity-stepper button:hover{background:#e8edf2}
.customer-quantity-stepper input{width:46px;height:36px;padding:0 3px;border:0;border-radius:0;text-align:center;font-size:15px;font-weight:900;appearance:textfield}
.customer-quantity-stepper input::-webkit-inner-spin-button,.customer-quantity-stepper input::-webkit-outer-spin-button{margin:0;appearance:none}
.customer-price-choice-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;border:0}
.customer-price-choice{position:relative;display:grid;grid-template-columns:42px minmax(0,1fr) 22px;gap:10px;align-items:center;min-height:82px;padding:13px;border:1px solid #d9e1e9;border-radius:13px;background:#fff;cursor:pointer;transition:.16s ease}
.customer-price-choice:hover{transform:translateY(-1px);border-color:#eea06a;box-shadow:0 8px 20px rgba(28,44,65,.07)}
.customer-price-choice>input{position:absolute;opacity:0;pointer-events:none}
.customer-choice-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:11px;background:#f2f5f8;color:#233449;font-size:17px;font-weight:900}
.customer-choice-icon-a4{font-size:12px;letter-spacing:-.03em}
.customer-choice-copy{display:grid;gap:3px;min-width:0}
.customer-choice-copy strong{color:#172333;font-size:13px;line-height:1.2}
.customer-choice-copy small{color:#758397;font-size:10px;line-height:1.35}
.customer-choice-tick{display:grid;place-items:center;width:20px;height:20px;border:1px solid #cbd4df;border-radius:6px;color:transparent;font-size:12px;font-weight:900}
.customer-price-choice:has(input:checked){border-color:#eb751f;background:#fff8f2;box-shadow:0 0 0 2px rgba(235,117,31,.08)}
.customer-price-choice:has(input:checked) .customer-choice-icon{background:#eb751f;color:#fff}
.customer-price-choice:has(input:checked) .customer-choice-tick{border-color:#eb751f;background:#eb751f;color:#fff}
.customer-price-choice.customer-recommend-choice{border-style:solid;background:#f8fafc}
.customer-price-choice.customer-recommend-choice:has(input:checked){border-color:#243449;background:#f2f5f8}
.customer-price-choice.customer-recommend-choice:has(input:checked) .customer-choice-icon,.customer-price-choice.customer-recommend-choice:has(input:checked) .customer-choice-tick{border-color:#243449;background:#243449;color:#fff}
.customer-request-detail-grid{display:grid;gap:12px;margin-top:14px}
.customer-request-detail-grid.has-rental{grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr)}
.customer-request-detail-grid.no-rental{grid-template-columns:1fr}
.customer-detail-panel{padding:15px;border:1px solid #dde4ec;border-radius:14px;background:#fff}
.customer-detail-panel>header{display:flex;gap:10px;align-items:flex-start;margin-bottom:13px}
.customer-detail-number{display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:8px;background:#172333;color:#fff;font-size:12px;font-weight:900}
.customer-detail-panel>header div{display:grid;gap:2px}
.customer-detail-panel>header strong{color:#172333;font-size:13px}
.customer-detail-panel>header small{color:#758397;font-size:10px;line-height:1.35}
.customer-rental-period-field{display:grid;gap:6px}
.customer-rental-period-field>span{color:#53647a;font-size:11px;font-weight:900}
.customer-rental-period-field select{height:43px;background:#fff}
.customer-volume-period-options{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-bottom:11px}
.customer-volume-period-options label{position:relative;cursor:pointer}
.customer-volume-period-options input{position:absolute;opacity:0;pointer-events:none}
.customer-volume-period-options span{display:grid;place-items:center;min-height:38px;padding:8px;border:1px solid #d8e0e9;border-radius:9px;background:#f8fafc;color:#4e5f74;font-size:11px;font-weight:900;text-align:center}
.customer-volume-period-options label:has(input:checked) span{border-color:#eb751f;background:#fff4ea;color:#9a430a;box-shadow:0 0 0 1px rgba(235,117,31,.07)}
.customer-page-input-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.customer-page-input-grid label{display:grid;grid-template-columns:1fr auto;gap:5px 10px;align-items:center}
.customer-page-input-grid label>span{color:#26364a;font-size:11px;font-weight:900}
.customer-page-input-grid input{grid-column:1/-1;height:42px;font-weight:800}
.customer-page-input-grid label>small{grid-column:1/-1;color:#8490a0;font-size:9px}
.customer-volume-unknown{display:flex;gap:10px;align-items:center;min-height:54px;padding:11px 13px;border:1px dashed #cbd5e0;border-radius:10px;background:#f7f9fb;color:#5e6e82}
.customer-volume-unknown>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#e7edf3;color:#26364a;font-weight:900}
.customer-volume-unknown>strong{font-size:11px;line-height:1.4}
@media(max-width:1320px){.customer-price-choice-grid{grid-template-columns:1fr 1fr}.customer-request-detail-grid.has-rental{grid-template-columns:1fr 1.4fr}}
@media(max-width:900px){.customer-request-topline{align-items:flex-start}.customer-request-detail-grid.has-rental{grid-template-columns:1fr}.customer-machine-quantity-panel{flex-direction:column;align-items:flex-start;gap:6px}}
@media(max-width:620px){.customer-request-workspace{padding:14px}.customer-request-topline{display:grid}.customer-machine-quantity-panel{width:100%;flex-direction:row;justify-content:space-between}.customer-price-choice-grid{grid-template-columns:1fr}.customer-page-input-grid{grid-template-columns:1fr}.customer-volume-period-options{grid-template-columns:1fr}.customer-price-choice{min-height:72px}}
.customer-price-choice-grid>.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

/* Customer private-link guided machine/accessory picker */
.customer-link-configuration-summary{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,.7fr) auto;gap:16px;align-items:center;margin-top:18px;padding:17px;border:1px solid #dce3eb;border-radius:14px;background:linear-gradient(135deg,#fff,#f8fafc)}
.customer-link-configuration-summary-copy>span{color:#e56e1c;font-size:10px;font-weight:900;letter-spacing:.08em}
.customer-link-configuration-summary-copy h3{margin:3px 0 5px;color:#172333}
.customer-link-configuration-summary-copy p{margin:0;color:#718095;font-size:12px;line-height:1.45}
.customer-link-configuration-status{padding:10px 12px;border-left:3px solid #eb751f;border-radius:8px;background:#fff7f1}
.customer-link-configuration-status strong,.customer-link-configuration-status small{display:block}
.customer-link-configuration-status small{margin-top:3px;color:#6f7d8f;font-size:11px}
.customer-link-configuration-selection{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.customer-link-configuration-selection:empty{display:none}
.customer-link-configuration-selection article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:9px;align-items:center;padding:9px 10px;border:1px solid #e0e6ed;border-radius:10px;background:#fff}
.customer-link-configuration-selection strong,.customer-link-configuration-selection small{display:block}
.customer-link-configuration-selection small{margin-top:2px;color:#718095;font-size:10px}
.customer-link-configurator-dialog{grid-template-rows:auto auto auto minmax(0,1fr) auto}
.customer-link-configurator-tools{grid-template-columns:1fr!important}
.customer-link-configurator-tools[hidden]{display:none!important}
.customer-link-machine-modal-row{grid-template-columns:28px 74px minmax(0,1fr) 120px}
.customer-link-machine-modal-row.is-selected{border-color:#eb751f;background:#fff8f2;box-shadow:0 0 0 2px rgba(235,117,31,.08)}
.customer-link-machine-accessory-count{text-align:right}
.customer-link-machine-accessory-count strong,.customer-link-machine-accessory-count small{display:block}
.customer-link-machine-accessory-count strong{font-size:1rem;color:#172333}
.customer-link-machine-accessory-count small{color:#778598;font-size:10px;line-height:1.2}
.customer-link-config-accessory-machine{margin-bottom:13px;overflow:hidden;border:1px solid #dfe5ec;border-radius:13px;background:#fff}
.customer-link-config-accessory-machine>header{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 13px;background:#f5f7fa}
.customer-link-config-accessory-machine>header>div:last-child{display:flex;gap:6px}
.customer-link-config-machine-heading{display:flex;gap:10px;align-items:center}
.customer-link-config-machine-heading strong,.customer-link-config-machine-heading small{display:block}
.customer-link-config-machine-heading small{margin-top:2px;color:#718095;font-size:11px}
.customer-link-config-accessory-grid{display:grid;grid-template-columns:1fr;gap:1px;background:#e5eaf0}
.customer-link-config-accessory-section{padding:8px 12px;background:#eef2f6;color:#445267;font-size:.67rem;font-weight:950;letter-spacing:.045em;text-transform:uppercase}
.customer-link-config-accessory-section:not(:first-child){border-top:7px solid #f7f9fb}
.customer-link-config-accessory-row{display:grid;grid-template-columns:auto 58px minmax(0,1fr);gap:11px;align-items:center;min-height:66px;padding:10px 13px;background:#fff;cursor:pointer}
.customer-link-config-accessory-row.is-selected{background:#fff5ed}
.customer-link-config-accessory-row strong,.customer-link-config-accessory-row small{display:block}
.customer-link-config-accessory-row small{margin-top:3px;color:#718095;font-size:10px;font-weight:800}
.customer-link-config-accessory-row:hover{background:#fbfcfd}
.customer-link-config-accessory-row.is-selected{box-shadow:inset 4px 0 0 #eb751f}
.customer-link-config-review-empty{max-width:680px;margin:30px auto;padding:28px;border:1px dashed #cfd8e3;border-radius:15px;background:#fafbfc;text-align:center}
.customer-link-config-review-empty span{color:#e56e1c;font-size:10px;font-weight:900;letter-spacing:.08em}
.customer-link-config-review-empty strong{display:block;margin:6px 0;color:#172333;font-size:18px}
.customer-link-config-review-empty p{margin:0;color:#718095;line-height:1.5}
.customer-link-config-review-list{display:grid;gap:10px}
.customer-link-config-review-list article{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:12px;align-items:start;padding:13px;border:1px solid #dfe5ec;border-radius:12px;background:#fff}
.customer-link-config-review-list article>span{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:#172333;color:#fff;font-weight:900}
.customer-link-config-review-list strong,.customer-link-config-review-list small{display:block}
.customer-link-config-review-list small{margin-top:2px;color:#718095}
.customer-link-config-review-list p{margin:8px 0 0;padding:8px 10px;border-radius:8px;background:#f6f8fa;color:#4f5f73;font-size:11px;line-height:1.55}
.customer-link-config-review-list em{color:#7a8797;font-style:normal}
@media(max-width:900px){.customer-link-configuration-summary{grid-template-columns:1fr}.customer-link-configuration-selection{grid-template-columns:1fr}.customer-link-machine-modal-row{grid-template-columns:24px 58px minmax(0,1fr)}.customer-link-machine-accessory-count{grid-column:3;text-align:left}.customer-link-config-accessory-grid{grid-template-columns:1fr}}
@media(max-width:620px){.customer-link-config-accessory-machine>header{display:grid}.customer-link-config-review-list article{grid-template-columns:32px 1fr}.customer-link-config-review-list .button{grid-column:2;justify-self:start}}

/* Customer configurator: direct accessory checkboxes */
.customer-accessory-row{
    grid-template-columns:48px minmax(0,1fr) minmax(220px,252px)!important;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.customer-accessory-row.is-selected{
    position:relative;
    z-index:1;
    background:#fff8f2;
    box-shadow:inset 4px 0 0 #eb751f;
}
.customer-accessory-actions{
    display:grid;
    min-width:0;
}
.customer-accessory-selection-card{
    overflow:hidden;
    border:1px solid #d7e0e8;
    border-radius:11px;
    background:#fff;
    transition:border-color .16s ease,background .16s ease,box-shadow .16s ease;
}
.customer-accessory-selection-card:hover{
    border-color:#eb751f;
}
.customer-accessory-selection-card.is-active{
    border-color:#eb751f;
    background:#fff5ec;
    box-shadow:0 4px 14px rgba(229,110,28,.09);
}
.customer-accessory-select-check{
    display:flex;
    align-items:center;
    gap:9px;
    min-height:50px;
    padding:8px 10px;
    background:#fff;
    cursor:pointer;
}
.customer-accessory-selection-card.is-active .customer-accessory-select-check{
    background:#fff3e9;
}
.customer-accessory-select-check input,
.customer-accessory-alternative-check input{
    flex:0 0 auto;
    width:19px;
    height:19px;
    margin:0;
    accent-color:#eb751f;
}
.customer-accessory-select-check span,
.customer-accessory-select-check strong,
.customer-accessory-select-check small,
.customer-accessory-alternative-check span,
.customer-accessory-alternative-check strong,
.customer-accessory-alternative-check small{
    display:block;
    min-width:0;
}
.customer-accessory-select-check strong{
    color:#1d2c3e;
    font-size:12px;
}
.customer-accessory-select-check small{
    margin-top:2px;
    color:#748296;
    font-size:10px;
    line-height:1.25;
}
.customer-accessory-alternative-check{
    display:none;
    align-items:flex-start;
    gap:8px;
    padding:8px 10px 9px;
    border-top:1px dashed #efc5a8;
    background:#fffaf6;
    color:#5d6b7d;
    cursor:pointer;
}
.customer-accessory-selection-card.is-active .customer-accessory-alternative-check{
    display:flex;
}
.customer-accessory-alternative-check input{
    width:16px;
    height:16px;
    margin-top:1px;
}
.customer-accessory-alternative-check strong{
    color:#405066;
    font-size:10px;
    line-height:1.25;
}
.customer-accessory-alternative-check small{
    margin-top:2px;
    color:#7b8797;
    font-size:9px;
    line-height:1.3;
}
.customer-accessory-alternative-check:has(input:checked){
    background:#fff0e4;
}
.customer-accessory-alternative-check:has(input:checked) strong{
    color:#c85816;
}
.customer-accessory-alternative-check.is-disabled{
    display:none!important;
}
@media(max-width:760px){
    .customer-accessory-row{
        grid-template-columns:44px minmax(0,1fr)!important;
    }
    .customer-accessory-actions{
        grid-column:1/-1;
        margin-top:4px;
    }
}

/* Customer quotation request delete action */
.quote-request-admin-actions {
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}
.request-delete-dialog .user-delete-warning {
    margin-top: 16px;
}

/* Always-visible customer quotation request delete action */
.request-delete-inline-form{margin:0;display:inline-flex}
.request-delete-visible-button{display:inline-flex!important;visibility:visible!important;opacity:1!important;align-items:center;justify-content:center;white-space:nowrap}

/* =========================================================
   Mobile-only public catalogue and product-details polish
   Keeps desktop layout unchanged.
   ========================================================= */
@media (max-width: 820px) {
    .rds-product-hero-card {
        grid-template-columns: 1fr;
        align-items: start;
        gap: 16px;
        padding: 14px;
        border-radius: 16px;
        margin-bottom: 16px;
    }

    .rds-product-gallery {
        order: 1;
    }

    .rds-product-summary {
        order: 2;
    }

    .rds-product-main-image-frame {
        height: clamp(240px, 58vw, 330px);
        padding: 10px;
        border-radius: 14px;
    }

    .rds-product-summary h1 {
        font-size: clamp(28px, 6.4vw, 36px);
        line-height: 1.08;
        letter-spacing: -.025em;
    }

    .rds-product-summary h1.rds-product-utax-title {
        align-items: flex-start;
        flex-direction: column;
        gap: 10px;
    }

    .rds-product-utax-logo {
        height: 30px;
    }

    .rds-product-subtitle {
        margin-top: 10px;
        font-size: 15px;
        line-height: 1.45;
    }

    .rds-product-highlight-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 16px;
    }

    .rds-product-highlight-grid > div {
        display: flex;
        min-height: 72px;
        padding: 12px;
        flex-direction: column;
        justify-content: center;
        border-radius: 12px;
    }

    .rds-product-highlight-grid dt {
        margin-bottom: 5px;
        font-size: 10px;
    }

    .rds-product-highlight-grid dd {
        overflow: visible;
        font-size: 15px;
        line-height: 1.28;
        text-overflow: clip;
        white-space: normal;
    }

    .rds-product-highlight-grid > div.is-speed-highlight {
        min-height: 72px;
    }

    .rds-product-actions {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .rds-product-actions > * {
        width: 100%;
        justify-content: center;
    }

    .rds-product-summary-footer {
        align-items: stretch;
        flex-direction: column;
        gap: 12px;
    }

    .machine-brand-model-strip {
        align-items: flex-start;
        flex-wrap: wrap;
        gap: 8px 10px;
    }

    .machine-brand-model-name {
        font-size: 16px;
        line-height: 1.1;
        white-space: normal;
    }

    .machine-brand-model-line {
        width: 100%;
        min-width: 0;
        flex: 0 0 100%;
    }

    .machine-quick-specs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 10px;
        margin-top: 12px;
        padding: 0;
        border-top: 0;
        border-bottom: 0;
    }

    .machine-quick-spec {
        min-height: 58px;
        padding: 10px;
        border: 1px solid #e4e9ef;
        border-right: 0;
        border-radius: 12px;
        background: #f8fafc;
        font-size: 11px;
    }

    .machine-quick-spec:first-child,
    .machine-quick-spec:last-child {
        padding: 10px;
    }

    .machine-speed-quick-spec {
        justify-content: flex-start;
    }

    .machine-extra-specs {
        gap: 8px;
        min-height: 0;
        padding: 10px 0 0;
    }

    .machine-extra-spec {
        padding: 8px 10px;
        border: 1px solid #e4e9ef;
        border-radius: 999px;
        background: #fff;
    }

    .catalogue-product-grid,
    .professional-product-grid,
    .showcase-product-grid {
        gap: 14px;
    }

    .public-product-card.showcase-product-card {
        border-radius: 16px;
    }

    .showcase-product-card .public-card-image-wrap,
    .public-product-card .public-card-image-wrap {
        height: clamp(210px, 55vw, 250px);
    }

    .showcase-product-card .public-product-card-body {
        padding: 14px;
    }
}

@media (max-width: 520px) {
    .rds-product-breadcrumb {
        padding: 0 2px;
    }

    .rds-product-hero-card {
        padding: 12px;
        gap: 14px;
        border-radius: 14px;
    }

    .rds-product-main-image-frame {
        height: clamp(220px, 64vw, 280px);
        padding: 8px;
    }

    .rds-product-summary h1 {
        font-size: 30px;
    }

    .rds-product-utax-logo {
        height: 28px;
    }

    .rds-product-highlight-grid {
        gap: 8px;
    }

    .rds-product-highlight-grid > div {
        min-height: 68px;
        padding: 11px 10px;
    }

    .rds-product-highlight-grid dd {
        font-size: 14px;
    }

    .machine-brand-logo {
        width: 72px;
        height: 21px;
    }

    .machine-brand-model-name {
        font-size: 15px;
    }

    .machine-quick-spec {
        min-height: 56px;
        gap: 6px;
        font-size: 10.5px;
    }

    .machine-quick-spec svg,
    .machine-extra-spec svg {
        width: 20px;
        height: 20px;
        flex-basis: 20px;
    }

    .machine-extra-specs {
        font-size: 10.5px;
    }

    .showcase-product-card .public-product-card-body {
        padding: 13px;
    }
}

/* =========================================================
   Mobile-only public header + catalogue filter/search cleanup
   Keeps desktop layout unchanged.
   ========================================================= */
@media (max-width: 760px) {
    .topbar-public.mm-public-header {
        position: sticky;
        top: 0;
        z-index: 60;
        box-shadow: 0 8px 22px rgba(17, 24, 39, .08);
    }

    .topbar-public.mm-public-header .topbar-inner {
        gap: 8px;
        padding: 8px 10px;
    }

    .topbar-public.mm-public-header .site-brand {
        gap: 8px;
    }

    .topbar-public.mm-public-header .site-brand-logo {
        width: 82px;
        height: 36px;
        padding: 3px 6px;
        border-radius: 8px;
    }

    .topbar-public.mm-public-header .mobile-header-actions {
        gap: 6px;
    }

    .topbar-public.mm-public-header .mobile-nav-toggle {
        width: 42px;
        height: 42px;
        border-radius: 9px;
    }

    body.mobile-menu-ready .topbar-public.mm-public-header.mobile-nav-open .topbar-links,
    body.mobile-menu-ready .topbar-public.mm-public-header.mobile-nav-open .topbar-action-cluster {
        margin-top: 6px;
        padding: 10px;
        border: 1px solid #e6ebf0;
        border-radius: 14px;
        background: #fff;
        box-shadow: 0 8px 22px rgba(17, 24, 39, .06);
    }

    body.mobile-menu-ready .topbar-public.mm-public-header.mobile-nav-open .topbar-links {
        gap: 6px;
        border-top: 0;
    }

    body.mobile-menu-ready .topbar-public.mm-public-header.mobile-nav-open .topbar-action-cluster {
        gap: 8px;
        border-top: 0;
        padding-top: 10px;
    }

    .topbar-public.mm-public-header .topbar-links a {
        min-height: 42px;
        padding: 10px 12px;
        border: 1px solid #eef2f5;
        border-radius: 10px;
        background: #fbfcfd;
        font-weight: 800;
    }

    .topbar-public.mm-public-header .topbar-links a:hover,
    .topbar-public.mm-public-header .topbar-links a:focus-visible {
        background: #fff7f1;
        border-color: #efb07d;
    }

    .topbar-public.mm-public-header .topbar-links a.active {
        border-color: #e97818;
        background: #fff0e4;
    }

    .topbar-public .language-switcher {
        padding: 3px;
        border-radius: 11px;
        background: #f6f8fa;
    }

    .topbar-public .language-choice {
        min-height: 40px;
        border-radius: 8px;
        font-size: 11px;
    }

    body.rds-public-catalogue-page .public-products-heading {
        gap: 14px;
        margin-bottom: 4px;
    }

    body.rds-public-catalogue-page .public-products-heading h1 {
        font-size: clamp(28px, 7vw, 36px);
        line-height: 1.08;
    }

    body.rds-public-catalogue-page .public-products-heading p {
        font-size: 14px;
        line-height: 1.5;
    }

    body.rds-public-catalogue-page .public-catalogue-tools {
        margin: 14px 0 18px;
        padding: 12px;
        border-radius: 16px;
    }

    body.rds-public-catalogue-page .public-search-form {
        display: grid;
        grid-template-columns: 1fr;
        gap: 9px;
        margin-bottom: 12px;
    }

    body.rds-public-catalogue-page .public-search-box {
        width: 100%;
    }

    body.rds-public-catalogue-page .public-search-box input {
        min-height: 48px;
        padding-right: 42px;
        font-size: 15px;
        background: #fff;
    }

    body.rds-public-catalogue-page .public-search-clear {
        right: 12px;
        width: 28px;
        height: 28px;
        border-radius: 999px;
        background: #edf2f7;
        line-height: 28px;
        text-align: center;
    }

    body.rds-public-catalogue-page .catalogue-search-button {
        width: 100%;
        min-height: 46px;
        justify-content: center;
    }

    body.rds-public-catalogue-page .showcase-category-tabs,
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs,
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs.clean-machine-tabs {
        display: flex;
        flex-wrap: nowrap;
        gap: 8px;
        padding-bottom: 2px;
        overflow-x: auto;
        overscroll-behavior-x: contain;
        scroll-snap-type: x proximity;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: thin;
    }

    body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab,
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs .category-filter-tab,
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs.clean-machine-tabs .category-filter-tab {
        min-width: 170px;
        flex: 0 0 auto;
        scroll-snap-align: start;
    }

    body.rds-public-catalogue-page .showcase-category-tabs .category-tab-label > span:last-child {
        overflow: visible;
        text-overflow: clip;
        white-space: normal;
        line-height: 1.18;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters,
    body.rds-public-catalogue-page .public-machine-quick-filters {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
        padding: 12px;
        border-radius: 14px;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-groups,
    body.rds-public-catalogue-page .public-machine-filter-groups {
        display: grid;
        grid-template-columns: 1fr;
        gap: 10px;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group,
    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group:first-child,
    body.rds-public-catalogue-page .public-machine-filter-group {
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
        padding: 0;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-group + .public-machine-filter-group::before {
        display: none;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-label,
    body.rds-public-catalogue-page .public-machine-filter-label {
        font-size: 11px;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-chips,
    body.rds-public-catalogue-page .public-machine-filter-chips {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        justify-content: flex-start;
        gap: 6px;
        padding: 5px;
        border-radius: 10px;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-chip,
    body.rds-public-catalogue-page .public-machine-filter-chip {
        min-width: 0;
        min-height: 34px;
        flex: 0 0 auto;
        padding: 7px 11px;
        border-radius: 8px;
        font-size: 11px;
    }

    body.rds-public-catalogue-page .public-machine-filter-summary {
        justify-content: flex-start;
        margin-left: 0;
    }

    body.rds-public-catalogue-page .clean-machine-reset,
    body.rds-public-catalogue-page .public-machine-filter-clear {
        justify-self: start;
        min-height: 34px;
        padding: 7px 10px;
        border-radius: 8px;
        background: #fff6ef;
    }

    .catalogue-results-heading,
    .showcase-results-heading {
        gap: 12px;
        padding: 12px;
        border: 1px solid #e3e8ee;
        border-radius: 14px;
        background: #fff;
    }

    .catalogue-results-actions {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 8px;
    }

    .catalogue-speed-sort-form {
        width: 100%;
        display: grid;
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .catalogue-speed-sort-form label {
        font-size: 11px;
    }

    .catalogue-speed-sort-form select,
    .catalogue-results-actions .button {
        width: 100%;
        min-height: 44px;
    }
}

@media (max-width: 480px) {
    .topbar-public.mm-public-header .site-brand-logo {
        width: 76px;
        height: 34px;
    }

    body.rds-public-catalogue-page .public-products-heading h1 {
        font-size: 26px;
    }

    body.rds-public-catalogue-page .public-catalogue-tools {
        padding: 11px;
    }

    body.rds-public-catalogue-page .showcase-category-tabs .category-filter-tab,
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs .category-filter-tab,
    body.rds-public-catalogue-page .showcase-category-tabs.machine-category-tabs.clean-machine-tabs .category-filter-tab {
        min-width: 156px;
        min-height: 50px;
        padding: 8px 10px;
    }

    body.rds-public-catalogue-page .showcase-category-tabs .category-tab-icon {
        width: 28px;
        height: 28px;
        flex-basis: 28px;
    }

    body.rds-public-catalogue-page .showcase-category-tabs .category-tab-count {
        min-width: 24px;
        padding-inline: 6px;
    }

    body.rds-public-catalogue-page .clean-machine-finder-filters .public-machine-filter-chip,
    body.rds-public-catalogue-page .public-machine-filter-chip {
        min-height: 32px;
        padding: 6px 10px;
    }
}

/* Customer configurator private-link email confirmation */
body.customer-link-send-open{overflow:hidden}
.customer-link-send-modal[hidden]{display:none!important}
.customer-link-send-modal{position:fixed;inset:0;z-index:10040;display:grid;place-items:center;padding:22px}
.customer-link-send-backdrop{position:absolute;inset:0;border:0;background:rgba(18,25,36,.62);cursor:default}
.customer-link-send-dialog{position:relative;z-index:1;width:min(520px,calc(100vw - 32px));overflow:hidden;border:1px solid #d9e0e8;border-radius:17px;background:#fff;box-shadow:0 28px 80px rgba(10,17,27,.32)}
.customer-link-send-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:19px 20px 16px;border-bottom:1px solid #e4e9ef;background:#f8fafc}
.customer-link-send-dialog>header span{display:block;color:#e56e1c;font-size:.68rem;font-weight:950;letter-spacing:.08em}
.customer-link-send-dialog>header h2{margin:4px 0 4px;color:#1e293b;font-size:1.3rem}
.customer-link-send-dialog>header p{margin:0;color:#718093;font-size:.82rem}
.customer-link-send-dialog>header>button{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border:1px solid #d6dde6;border-radius:10px;background:#fff;color:#344154;font-size:1.4rem;line-height:1;cursor:pointer}
.customer-link-send-dialog>form{display:grid;gap:14px;padding:18px 20px 20px}
.customer-link-send-summary{display:grid;gap:4px;padding:13px 14px;border:1px solid #dce3ea;border-radius:11px;background:#f7f9fb}
.customer-link-send-summary strong{color:#1f2b3a;font-size:.94rem}
.customer-link-send-summary span{color:#536276;font-size:.78rem;font-weight:750}
.customer-link-send-summary small{color:#7b8797;font-size:.7rem}
.customer-link-send-email{display:grid;gap:6px;color:#344154;font-size:.78rem;font-weight:850}
.customer-link-send-email input{width:100%;min-height:46px;padding:10px 12px;border:1px solid #cfd7e1;border-radius:9px;background:#fff;color:#1f2937;font-size:1rem;font-weight:700}
.customer-link-send-email input:focus{border-color:#e97818;outline:3px solid rgba(233,120,24,.13)}
.customer-link-send-email small{color:#778496;font-size:.69rem;font-weight:650;line-height:1.4}
.customer-link-send-confirmation{padding:12px 13px;border:1px solid #f1c39f;border-radius:10px;background:#fff8f2}
.customer-link-send-confirmation strong{display:block;color:#9a4610;font-size:.8rem}
.customer-link-send-confirmation p{margin:4px 0 0;color:#75543e;font-size:.72rem;line-height:1.45}
.customer-link-send-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding-top:2px}
.customer-link-send-dialog footer .button{min-width:120px;justify-content:center}
@media(max-width:560px){.customer-link-send-modal{padding:12px}.customer-link-send-dialog>header{padding:16px}.customer-link-send-dialog>form{padding:16px}.customer-link-send-dialog footer{display:grid;grid-template-columns:1fr}.customer-link-send-dialog footer .button{width:100%}}

/* Quotation: optional minimum monthly Black/Colour page commitments */
.quotation-minimum-pages-control{grid-column:1/-1;display:grid;gap:9px;margin-top:2px;padding:10px;border:1px solid #dce3ea;border-radius:10px;background:#f8fafc}
.quotation-minimum-pages-toggle{display:flex!important;flex-direction:row!important;align-items:flex-start!important;gap:9px!important;cursor:pointer}
.quotation-minimum-pages-toggle input{width:auto!important;margin-top:3px}
.quotation-minimum-pages-toggle span,.quotation-minimum-pages-toggle strong,.quotation-minimum-pages-toggle small{display:block}
.quotation-minimum-pages-toggle strong{color:#273445;font-size:.8rem}
.quotation-minimum-pages-toggle small{margin-top:2px;color:#758195;font-size:.68rem;font-weight:650;line-height:1.35}
.quotation-minimum-pages-fields{display:none;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding-top:8px;border-top:1px solid #e2e7ed}
.quotation-minimum-pages-control:has(.quotation-minimum-pages-toggle input:checked) .quotation-minimum-pages-fields{display:grid}
.quotation-minimum-pages-control:has(.quotation-minimum-pages-toggle input:checked){border-color:#efb07d;background:#fff8f2}
@media(max-width:760px){.quotation-minimum-pages-fields{grid-template-columns:1fr}}

/* Accessory installation rules editor */
.accessory-installation-rules-editor{padding:16px;border:1px solid #dbe3eb;border-radius:14px;background:#f8fafc}.accessory-installation-rules-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.accessory-installation-rules-heading span{display:block;color:#e56e1c;font-size:.68rem;font-weight:950;letter-spacing:.08em}.accessory-installation-rules-heading h3{margin:3px 0 4px;color:#202b3c}.accessory-installation-rules-heading p{max-width:780px;margin:0;color:#6f7c8e;font-size:.8rem;line-height:1.45}.accessory-installation-rules-list{display:grid;gap:9px;margin-top:14px}.accessory-installation-rule-row{display:grid;grid-template-columns:minmax(190px,.85fr) minmax(160px,.62fr) minmax(260px,1.25fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #dce3ea;border-radius:11px;background:#fff}.accessory-installation-rule-row .field-block{margin:0}.accessory-installation-rule-row label{font-size:.74rem}.accessory-installation-rule-remove{align-self:end;margin-bottom:1px}.accessory-installation-rules-empty{margin-top:14px;padding:18px;border:1px dashed #cdd6e0;border-radius:10px;color:#748195;text-align:center}.accessory-installation-preview{margin-top:14px;padding:12px;border:1px solid #f0b98f;border-radius:11px;background:#fff8f2}.accessory-installation-preview>strong{display:block;margin-bottom:8px;color:#9e470d}.accessory-installation-preview-row{display:flex;align-items:center;gap:8px;padding:7px 0;border-top:1px solid #f1e0d4;color:#364356;font-size:.78rem}.accessory-installation-preview-row:first-child{border-top:0}.accessory-installation-preview-row b{color:#e56e1c}.accessory-installation-preview-row em{margin-left:auto;color:#748195;font-size:.7rem;font-style:normal}.accessory-required-badge{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border-radius:999px;background:#fff0e5;color:#a34b13;font-size:.65rem;font-weight:900}.accessory-locked-note{display:block;margin-top:4px;color:#a34b13;font-size:.7rem;font-weight:800}@media(max-width:980px){.accessory-installation-rule-row{grid-template-columns:1fr 1fr}.accessory-installation-related-field{grid-column:1/-1}.accessory-installation-rule-remove{justify-self:end}}@media(max-width:640px){.accessory-installation-rules-heading{display:grid}.accessory-installation-rules-heading .button{width:100%}.accessory-installation-rule-row{grid-template-columns:1fr}.accessory-installation-related-field{grid-column:auto}.accessory-installation-rule-remove{width:100%;justify-self:stretch}}
.customer-accessory-row.is-required{border-left:4px solid #e97818;background:#fffaf6}.customer-accessory-selection-card.is-required{border-color:#efaa73;background:#fff4eb}.customer-accessory-requirement-note{margin-top:5px!important;color:#9b4a12!important;font-weight:800}.customer-accessory-locked-note{margin-top:5px!important;color:#b65412!important;font-weight:900}.customer-accessory-rule-error{display:grid;gap:5px;margin:0 0 10px;padding:10px;border:1px solid #e58b83;border-radius:10px;background:#fff2f0;color:#9f2f26;font-size:.76rem;font-weight:800}.customer-accessory-rule-error span{display:block}

/* Accessory installation dependencies and fitting-rule feedback */
.quotation-installation-rules-warning{
    margin:0 0 14px;
    padding:13px 15px;
    border:1px solid #e19a73;
    border-left:5px solid #d65d19;
    border-radius:11px;
    background:#fff7f1;
    color:#7b3b17
}
.quotation-installation-rules-warning strong{display:block;color:#9b420e;font-size:.9rem}
.quotation-installation-rules-warning ul{margin:7px 0 0;padding-left:19px;font-size:.79rem;line-height:1.45}
.quotation-accessory-required-notice{
    display:grid;
    gap:3px;
    margin:12px 16px 0;
    padding:10px 12px;
    border:1px solid #9bc6a8;
    border-radius:9px;
    background:#f0f9f3
}
.quotation-accessory-required-notice span{color:#277143;font-size:.61rem;font-weight:950;letter-spacing:.07em}
.quotation-accessory-required-notice strong{color:#195f36;font-size:.82rem}
.quotation-accessory-required-notice small{color:#5f7469;font-size:.69rem;line-height:1.35}
.quotation-machine-accessory-card .button.is-required-dependency,
.quotation-machine-accessory-card .button.is-required-dependency:disabled{
    border-color:#9bc6a8;
    background:#eaf6ee;
    color:#24683d;
    opacity:1;
    cursor:not-allowed
}
.quotation-product-picker-row.is-required-dependency{
    border-color:#8fc29f;
    background:#f2faf5
}
.quotation-product-picker-row.is-replaced{
    opacity:.56;
    background:#f6f7f9;
    text-decoration-color:#a3acb8
}
.quotation-picker-installation-note{
    display:block;
    margin-top:5px;
    color:#277143;
    font-size:.68rem;
    font-weight:850;
    line-height:1.3
}
.quotation-product-picker-row.is-replaced .quotation-picker-installation-note{color:#8b4b29}
.quotation-preview-required-accessory{display:block;margin-top:4px;color:#287347;font-size:.69rem;font-style:normal;font-weight:850}
.quotation-preview-machine.is-required-accessory{border-left:4px solid #4a9a66}

/* Accessory installation rules: searchable machine multi-select + accessory search */
.accessory-installation-rule-row{
    grid-template-columns:minmax(300px,1.15fr) minmax(165px,.55fr) minmax(300px,1.05fr) auto;
    align-items:start;
    overflow:visible
}
.accessory-installation-machine-field,
.accessory-installation-related-field{min-width:0}
.accessory-rule-machine-picker,
.accessory-rule-related-picker{position:relative;min-width:0}
.accessory-rule-scope-toggle{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:5px;
    padding:4px;
    border:1px solid #d8e0e8;
    border-radius:9px;
    background:#f3f6f9
}
.accessory-rule-scope-toggle button{
    min-height:34px;
    padding:7px 9px;
    border:1px solid transparent;
    border-radius:7px;
    color:#59677a;
    background:transparent;
    font:inherit;
    font-size:.72rem;
    font-weight:900;
    cursor:pointer
}
.accessory-rule-scope-toggle button:hover{color:#9c470f;background:#fff8f2}
.accessory-rule-scope-toggle button.is-active{
    color:#fff;
    border-color:#e36c1d;
    background:#e97818;
    box-shadow:0 3px 8px rgba(222,101,20,.18)
}
.accessory-rule-machine-selected{margin-top:7px}
.accessory-rule-machine-selected[hidden],
.accessory-rule-picker-popover[hidden],
.accessory-rule-related-results[hidden],
.accessory-rule-picker-empty[hidden]{display:none!important}
.accessory-rule-picker-trigger{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:8px;
    width:100%;
    min-height:40px;
    padding:8px 9px 8px 11px;
    border:1px solid #cfd8e2;
    border-radius:8px;
    color:#29384b;
    background:#fff;
    font:inherit;
    font-size:.78rem;
    font-weight:800;
    text-align:left;
    cursor:pointer
}
.accessory-rule-picker-trigger:hover,
.accessory-rule-picker-trigger[aria-expanded="true"]{border-color:#e97818;box-shadow:0 0 0 3px rgba(233,120,24,.1)}
.accessory-rule-picker-trigger span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accessory-rule-picker-trigger b{
    display:grid;
    place-items:center;
    min-width:24px;
    height:24px;
    padding:0 5px;
    border-radius:999px;
    color:#fff;
    background:#243247;
    font-size:.66rem
}
.accessory-rule-picker-popover,
.accessory-rule-related-results{
    position:absolute;
    z-index:45;
    top:calc(100% + 5px);
    left:0;
    right:0;
    padding:9px;
    border:1px solid #d6dee7;
    border-radius:10px;
    background:#fff;
    box-shadow:0 16px 38px rgba(25,39,58,.18)
}
.accessory-rule-picker-popover input,
.accessory-rule-related-input-wrap input{
    width:100%;
    min-height:39px;
    padding:8px 10px;
    border:1px solid #ccd6e1;
    border-radius:8px;
    color:#243246;
    background:#fff;
    font-size:.78rem
}
.accessory-rule-picker-popover input:focus,
.accessory-rule-related-input-wrap input:focus{border-color:#e97818;outline:3px solid rgba(233,120,24,.1)}
.accessory-rule-picker-toolbar{
    display:flex;
    justify-content:flex-end;
    gap:6px;
    margin:7px 0
}
.accessory-rule-picker-toolbar button{
    padding:5px 8px;
    border:1px solid #d9e0e8;
    border-radius:7px;
    color:#46566a;
    background:#f7f9fb;
    font-size:.67rem;
    font-weight:850;
    cursor:pointer
}
.accessory-rule-picker-toolbar button:hover{border-color:#e7a573;color:#a44b12;background:#fff7f1}
.accessory-rule-machine-options{
    display:grid;
    gap:4px;
    max-height:230px;
    overflow:auto
}
.accessory-rule-machine-options label{
    display:flex;
    align-items:center;
    gap:8px;
    min-height:36px;
    padding:7px 8px;
    border:1px solid #edf1f4;
    border-radius:7px;
    color:#334257;
    background:#fbfcfd;
    font-size:.73rem;
    font-weight:800;
    cursor:pointer
}
.accessory-rule-machine-options label:has(input:checked){border-color:#efaa73;background:#fff5ed;color:#8f410d}
.accessory-rule-machine-options input{width:17px!important;height:17px;min-height:0!important;margin:0;padding:0}
.accessory-rule-picker-empty{margin:5px 0 0;padding:10px;border:1px dashed #cbd5df;border-radius:8px;color:#778599;font-size:.7rem;line-height:1.4}
.accessory-rule-selected-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}
.accessory-rule-selected-chips:empty{display:none}
.accessory-rule-selected-chips button{
    display:inline-flex;
    align-items:center;
    gap:6px;
    max-width:100%;
    padding:5px 7px;
    border:1px solid #d6e0e9;
    border-radius:999px;
    color:#3d4e63;
    background:#f2f6fa;
    font-size:.66rem;
    font-weight:850;
    cursor:pointer
}
.accessory-rule-selected-chips button span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.accessory-rule-selected-chips button b{color:#b84d0e;font-size:.82rem}
.accessory-rule-related-input-wrap{position:relative}
.accessory-rule-related-input-wrap input{padding-right:34px}
.accessory-rule-related-input-wrap button{
    position:absolute;
    top:50%;
    right:6px;
    width:25px;
    height:25px;
    display:grid;
    place-items:center;
    padding:0;
    transform:translateY(-50%);
    border:0;
    border-radius:999px;
    color:#657387;
    background:#edf2f6;
    font-size:1rem;
    cursor:pointer
}
.accessory-rule-related-input-wrap button[hidden]{display:none!important}
.accessory-rule-related-results{
    display:grid;
    gap:4px;
    max-height:260px;
    overflow:auto
}
.accessory-rule-related-results button{
    display:grid;
    gap:2px;
    padding:8px 9px;
    border:1px solid #e7ecf1;
    border-radius:8px;
    color:#2d3d52;
    background:#fff;
    text-align:left;
    cursor:pointer
}
.accessory-rule-related-results button:hover,
.accessory-rule-related-results button.is-selected{border-color:#ed9e63;background:#fff6ef}
.accessory-rule-related-results button strong{font-size:.74rem}
.accessory-rule-related-results button small,
.accessory-rule-related-picker>small{color:#758397;font-size:.65rem}
.accessory-rule-related-results p{margin:0;padding:12px;color:#758397;font-size:.72rem;text-align:center}
.accessory-rule-related-picker>small{display:block;min-height:1em;margin-top:4px}
@media(max-width:1180px){
    .accessory-installation-rule-row{grid-template-columns:1fr 1fr}
    .accessory-installation-machine-field,
    .accessory-installation-related-field{grid-column:1/-1}
    .accessory-installation-rule-remove{justify-self:end}
}
@media(max-width:640px){
    .accessory-installation-rule-row{grid-template-columns:1fr}
    .accessory-installation-machine-field,
    .accessory-installation-related-field{grid-column:auto}
    .accessory-rule-scope-toggle{grid-template-columns:1fr}
    .accessory-installation-rule-remove{width:100%;justify-self:stretch}
}

/* Accessory installation rules across New Order, private links and customer configurators */
.machine-addon-rule-notice{
    display:grid;
    gap:5px;
    margin:0 0 12px;
    padding:10px 12px;
    border:1px solid #9bc6a8;
    border-left:4px solid #3f9360;
    border-radius:10px;
    background:#f1faf4;
    color:#205f39;
    font-size:.75rem;
    font-weight:800;
    line-height:1.4
}
.machine-addon-rule-notice[hidden]{display:none!important}
.machine-addon-rule-notice.has-error{
    border-color:#df8b83;
    border-left-color:#bf2c38;
    background:#fff2f0;
    color:#922a25
}
.machine-addon-installation-info{
    display:grid;
    gap:3px;
    margin:6px 0 0;
    padding:8px 9px;
    border:1px solid #a9ceb5;
    border-radius:8px;
    background:#f2faf5;
    color:#246a3e;
    font-size:.68rem;
    font-weight:800;
    line-height:1.35
}
.machine-addon-item.is-required-dependency{
    border-color:#8fc29f;
    background:#f3faf5
}
.machine-addon-required-badge,
.basket-required-accessory{
    display:inline-flex;
    align-items:center;
    gap:5px;
    margin-top:4px;
    padding:4px 7px;
    border-radius:999px;
    background:#e7f5ec;
    color:#21683c;
    font-size:.65rem;
    font-weight:900;
    line-height:1.2
}
.machine-addon-selection-status.has-error{color:#a42d27}
.basket-line.is-required-dependency{
    border-left:4px solid #489966;
    background:#f3faf5
}
.button.is-required-dependency,
.button.is-required-dependency:disabled{
    border-color:#94c3a3;
    background:#eaf6ee;
    color:#24683d;
    opacity:1;
    cursor:not-allowed
}
.customer-link-config-accessory-row.is-required-dependency{
    border-color:#8fc29f;
    background:#f2faf5
}
.customer-link-config-accessory-row em,
.customer-link-config-accessory-row b{
    display:block;
    margin-top:3px;
    font-size:.65rem;
    font-style:normal;
    line-height:1.35
}
.customer-link-config-accessory-row em{color:#267143;font-weight:850}
.customer-link-config-accessory-row b{color:#8f4a1d;font-weight:800}
.customer-link-installation-notice{
    display:grid;
    gap:4px;
    margin:8px 0 0;
    padding:9px 10px;
    border:1px solid #9bc6a8;
    border-radius:9px;
    background:#f1faf4;
    color:#24683d;
    font-size:.7rem;
    font-weight:800;
    line-height:1.4
}
.customer-link-installation-notice.is-error{
    border-color:#df8b83;
    background:#fff2f0;
    color:#982d27
}
.customer-accessory-rule-info{
    display:grid;
    gap:5px;
    margin:0 0 10px;
    padding:10px;
    border:1px solid #9bc6a8;
    border-left:4px solid #459663;
    border-radius:10px;
    background:#f1faf4;
    color:#21683c;
    font-size:.76rem;
    font-weight:800;
    line-height:1.4
}
.customer-accessory-rule-info span{display:block}
.customer-accessory-group-note{
    margin-top:5px!important;
    color:#5b6d82!important;
    font-size:.66rem!important;
    font-weight:800!important
}
@media(max-width:760px){
    .machine-addon-rule-notice,
    .customer-link-installation-notice,
    .customer-accessory-rule-info{font-size:.72rem}
}
.customer-link-installation-notice .is-error{color:#9b2f28;font-weight:900}

/* =========================================================
   Machine Accessory Add/Edit form – clean guided layout
   ========================================================= */
.product-simple-page .compact-accessory-form{
    max-width:1180px;
    overflow:visible;
    border:1px solid #dbe2ea;
    border-top:5px solid #e97818;
    border-radius:18px;
    background:#f4f6f9;
    box-shadow:0 16px 42px rgba(23,36,53,.08)
}
.product-simple-page .compact-accessory-form>.mandatory-fields-note{
    padding:10px 18px 0;
    color:#7b8797;
    font-size:.7rem;
    font-weight:800
}
.product-simple-page .compact-accessory-form>.guided-step{
    margin:14px;
    padding:18px;
    border:1px solid #dde4ec;
    border-radius:15px;
    background:#fff
}
.product-simple-page .compact-accessory-form>.guided-step+.guided-step{
    border-top:1px solid #dde4ec
}
.product-simple-page .compact-accessory-form .step-product-type{
    position:relative;
    margin-bottom:10px;
    background:linear-gradient(135deg,#fff 0%,#fbfcfe 100%)
}
.product-simple-page .compact-accessory-form .step-product-type .guided-step-header{
    margin-bottom:14px
}
.product-simple-page .compact-accessory-form .step-product-type .guided-basic-row{
    grid-template-columns:minmax(230px,1fr) minmax(215px,.72fr) auto;
    max-width:none;
    align-items:center
}
.product-simple-page .compact-accessory-form .selected-product-type-box{
    min-height:70px;
    display:grid;
    align-content:center;
    gap:3px;
    padding:12px 14px;
    border:1px solid #e2e7ed;
    border-radius:12px;
    background:#f8fafc
}
.product-simple-page .compact-accessory-form .selected-product-type-box label{
    color:#788497;
    font-size:.67rem;
    font-weight:900;
    letter-spacing:.06em;
    text-transform:uppercase
}
.product-simple-page .compact-accessory-form .selected-product-type-box strong{
    color:#202c3b;
    font-size:1rem
}
.product-simple-page .compact-accessory-form .guided-status-checks{
    min-height:70px;
    align-content:center;
    gap:8px;
    padding:11px 13px;
    border-color:#e2e7ed;
    border-radius:12px;
    background:#f8fafc
}
.product-simple-page .compact-accessory-form .guided-top-save{
    min-width:178px;
    min-height:44px;
    padding-inline:18px;
    border-radius:10px;
    box-shadow:0 8px 18px rgba(220,101,20,.18)
}
.product-simple-page .compact-accessory-form .step-type-details{
    padding-bottom:20px
}
.product-simple-page .compact-accessory-form .step-type-details>.guided-step-header{
    margin-bottom:14px
}
.product-simple-page .compact-accessory-form .step-type-details .product-type-panel[data-product-type="Machine Accessory"]{
    padding:0;
    overflow:visible;
    border:1px solid #dce3eb;
    border-radius:15px;
    background:#fff
}
.product-simple-page .compact-accessory-form .accessory-details-title-row{
    margin:0!important;
    padding:17px 18px 15px!important;
    border-bottom:1px solid #e5eaf0!important;
    border-radius:15px 15px 0 0;
    background:linear-gradient(135deg,#f8fafc,#fff)
}
.product-simple-page .compact-accessory-form .accessory-details-title-row>div{
    min-width:0
}
.product-simple-page .compact-accessory-form .accessory-section-kicker{
    display:block;
    margin-bottom:3px;
    color:#df6718;
    font-size:.67rem;
    font-weight:950;
    letter-spacing:.09em
}
.product-simple-page .compact-accessory-form .accessory-details-title-row h2{
    margin:0 0 4px;
    color:#1f2a39;
    font-size:1.14rem
}
.product-simple-page .compact-accessory-form .accessory-field-grid{
    display:grid!important;
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:15px 14px!important;
    padding:18px;
    align-items:start!important
}
.product-simple-page .compact-accessory-form .accessory-field-grid>.field-block{
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    margin:0;
    align-self:start
}
.product-simple-page .compact-accessory-form .accessory-field-grid>.field-block label,
.product-simple-page .compact-accessory-form .accessory-field-grid>.field-block .field-label-row label{
    color:#536176;
    font-size:.71rem;
    font-weight:900;
    letter-spacing:.025em;
    text-transform:uppercase
}
.product-simple-page .compact-accessory-form .accessory-field-grid input,
.product-simple-page .compact-accessory-form .accessory-field-grid select,
.product-simple-page .compact-accessory-form .accessory-field-grid textarea{
    min-height:43px;
    border-color:#cfd8e3;
    border-radius:9px;
    background:#fff;
    font-size:.88rem
}
.product-simple-page .compact-accessory-form .accessory-field-grid input:focus,
.product-simple-page .compact-accessory-form .accessory-field-grid select:focus,
.product-simple-page .compact-accessory-form .accessory-field-grid textarea:focus{
    border-color:#e97818;
    outline:3px solid rgba(233,120,24,.1)
}
.product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-brand"]{order:1;grid-column:span 4}
.product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-code"]{order:2;grid-column:span 3}
.product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-category"]{order:3;grid-column:span 5}
.product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-title"]{order:4;grid-column:1/-1}
.product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="matching-models"]{order:5;grid-column:1/-1}
.product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-description-specifications"]{order:6;grid-column:span 6}
.product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-installation-group"]{order:7;grid-column:span 3}
.product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-installation-group-maximum"]{order:8;grid-column:span 3}
.product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-installation-rules"]{order:9;grid-column:1/-1}
.product-simple-page .compact-accessory-form .accessory-field-grid>div[hidden],
.product-simple-page .compact-accessory-form .accessory-field-grid>template{order:10}
.product-simple-page .compact-accessory-form [data-field-key="accessory-title"]{
    padding:13px 14px;
    border:1px solid #e3e8ee;
    border-radius:12px;
    background:#fbfcfd
}
.product-simple-page .compact-accessory-form .matching-models-field{
    padding:14px;
    border:1px solid #cfdde9;
    border-left:4px solid #536f8d;
    border-radius:12px;
    background:#f7fafc
}
.product-simple-page .compact-accessory-form .matching-models-display-row{
    grid-template-columns:minmax(0,1fr) auto;
    gap:9px
}
.product-simple-page .compact-accessory-form .matching-models-display-row input{
    color:#33465b;
    background:#fff
}
.product-simple-page .compact-accessory-form .matching-models-display-row .button{
    min-width:115px;
    min-height:43px;
    border-color:#536f8d;
    color:#fff;
    background:#536f8d
}
.product-simple-page .compact-accessory-form [data-field-key="accessory-description-specifications"] textarea{
    min-height:142px;
    line-height:1.5
}
.product-simple-page .compact-accessory-form [data-field-key="accessory-installation-group"],
.product-simple-page .compact-accessory-form [data-field-key="accessory-installation-group-maximum"]{
    min-height:142px;
    padding:13px;
    border:1px solid #e3e8ee;
    border-radius:12px;
    background:#fbfcfd
}
.product-simple-page .compact-accessory-form [data-field-key="accessory-installation-group"] .field-help,
.product-simple-page .compact-accessory-form [data-field-key="accessory-installation-group-maximum"] .field-help{
    display:block;
    margin-top:7px;
    color:#738196;
    font-size:.68rem;
    line-height:1.4
}
.product-simple-page .compact-accessory-form .accessory-installation-rules-editor{
    padding:0;
    overflow:visible;
    border:1px solid #d8e1ea;
    border-radius:14px;
    background:#fff
}
.product-simple-page .compact-accessory-form .accessory-installation-rules-heading{
    padding:15px 16px;
    border-bottom:1px solid #e3e8ee;
    border-radius:14px 14px 0 0;
    background:linear-gradient(135deg,#202b3b,#2c3c50);
    color:#fff
}
.product-simple-page .compact-accessory-form .accessory-installation-rules-heading span{
    color:#ff9a52
}
.product-simple-page .compact-accessory-form .accessory-installation-rules-heading h3{
    color:#fff;
    font-size:1rem
}
.product-simple-page .compact-accessory-form .accessory-installation-rules-heading p{
    max-width:700px;
    color:#cbd5e0
}
.product-simple-page .compact-accessory-form .accessory-installation-rules-heading .button{
    min-width:112px;
    border-color:#e97818;
    background:#e97818
}
.product-simple-page .compact-accessory-form .accessory-installation-rules-list{
    gap:12px;
    margin:0;
    padding:14px
}
.product-simple-page .compact-accessory-form .accessory-installation-rule-row{
    position:relative;
    grid-template-columns:minmax(0,1fr) minmax(190px,.48fr)!important;
    gap:12px 14px;
    align-items:start;
    padding:14px 100px 14px 14px;
    border:1px solid #dbe3eb;
    border-left:4px solid #e97818;
    border-radius:12px;
    background:#fbfcfd;
    box-shadow:0 5px 14px rgba(29,43,61,.04)
}
.product-simple-page .compact-accessory-form .accessory-installation-machine-field{
    grid-column:1
}
.product-simple-page .compact-accessory-form .accessory-installation-rule-row>.field-block:not(.accessory-installation-machine-field):not(.accessory-installation-related-field){
    grid-column:2
}
.product-simple-page .compact-accessory-form .accessory-installation-related-field{
    grid-column:1/-1
}
.product-simple-page .compact-accessory-form .accessory-installation-rule-remove{
    position:absolute;
    top:14px;
    right:14px;
    min-width:76px;
    margin:0
}
.product-simple-page .compact-accessory-form .accessory-installation-rules-empty{
    margin:14px;
    padding:20px;
    border-radius:11px;
    background:#f8fafc
}
.product-simple-page .compact-accessory-form .accessory-installation-preview{
    margin:0 14px 14px;
    border-color:#efb07d;
    background:#fff8f2
}
.product-simple-page .compact-accessory-form .step-price-details .price-details-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    max-width:980px;
    gap:12px
}
.product-simple-page .compact-accessory-form .step-price-details .price-field{
    padding:14px;
    border:1px solid #dfe6ed;
    border-radius:12px;
    background:#f8fafc
}
.product-simple-page .compact-accessory-form .step-price-details .price-field:first-child{
    border-left:4px solid #536f8d
}
.product-simple-page .compact-accessory-form .step-price-details .price-field:last-child{
    border-left:4px solid #e97818
}
.product-simple-page .compact-accessory-form .step-price-details .currency-input-wrap input{
    min-height:45px;
    font-size:1rem;
    font-weight:850
}
.product-simple-page .compact-accessory-form .product-picture-selection-section .multi-picture-upload-box{
    padding:15px;
    border:1px solid #d8e1ea;
    border-radius:13px;
    background:#f8fafc
}
.product-simple-page .compact-accessory-form .background-removal-review-controls{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px
}
.product-simple-page .compact-accessory-form .background-sensitivity-control{
    grid-column:1/-1
}
.product-simple-page .compact-accessory-form .background-preview-button{
    justify-self:start;
    min-height:38px
}
.product-simple-page .compact-accessory-form .image-processing-status{
    align-self:center;
    font-size:.69rem;
    line-height:1.4
}
.product-simple-page .compact-accessory-form .form-actions-sticky.simple-actions{
    position:sticky;
    bottom:10px;
    z-index:20;
    margin:14px;
    padding:12px 14px;
    border:1px solid #d7dfe8;
    border-radius:13px;
    background:rgba(255,255,255,.96);
    box-shadow:0 10px 28px rgba(26,39,57,.12);
    backdrop-filter:blur(10px)
}
.product-simple-page .compact-accessory-form .form-actions-sticky .button.primary{
    min-width:180px;
    min-height:43px
}
.product-simple-page .compact-accessory-form+.pictures-only-panel{
    max-width:1180px;
    margin-top:16px;
    padding:18px;
    border:1px solid #dbe2ea;
    border-radius:16px;
    box-shadow:0 12px 30px rgba(23,36,53,.06)
}
.product-simple-page .compact-accessory-form+.pictures-only-panel .picture-order-list{
    grid-template-columns:repeat(auto-fill,minmax(160px,190px));
    gap:12px
}
.product-simple-page .compact-accessory-form+.pictures-only-panel .picture-order-tile{
    grid-template-rows:auto 180px auto auto
}
@media(max-width:1100px){
    .product-simple-page .compact-accessory-form .accessory-field-grid{
        grid-template-columns:repeat(2,minmax(0,1fr))!important
    }
    .product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-brand"],
    .product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-code"],
    .product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-category"],
    .product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-installation-group"],
    .product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-installation-group-maximum"]{grid-column:span 1}
    .product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-title"],
    .product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="matching-models"],
    .product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-description-specifications"],
    .product-simple-page .compact-accessory-form .accessory-field-grid [data-field-key="accessory-installation-rules"]{grid-column:1/-1}
    .product-simple-page .compact-accessory-form [data-field-key="accessory-installation-group"],
    .product-simple-page .compact-accessory-form [data-field-key="accessory-installation-group-maximum"]{min-height:0}
}
@media(max-width:820px){
    .product-simple-page .compact-accessory-form>.guided-step{margin:10px;padding:14px}
    .product-simple-page .compact-accessory-form .step-product-type .guided-basic-row{grid-template-columns:1fr 1fr}
    .product-simple-page .compact-accessory-form .guided-top-save{grid-column:1/-1;width:100%}
    .product-simple-page .compact-accessory-form .accessory-installation-rule-row{
        grid-template-columns:1fr!important;
        padding:14px
    }
    .product-simple-page .compact-accessory-form .accessory-installation-machine-field,
    .product-simple-page .compact-accessory-form .accessory-installation-rule-row>.field-block,
    .product-simple-page .compact-accessory-form .accessory-installation-related-field{grid-column:1!important}
    .product-simple-page .compact-accessory-form .accessory-installation-rule-remove{
        position:static;
        width:100%;
        margin-top:2px
    }
}
@media(max-width:650px){
    .product-simple-page .compact-accessory-form{
        border-radius:14px
    }
    .product-simple-page .compact-accessory-form>.guided-step{margin:8px;padding:12px}
    .product-simple-page .compact-accessory-form .step-product-type .guided-basic-row,
    .product-simple-page .compact-accessory-form .accessory-field-grid,
    .product-simple-page .compact-accessory-form .step-price-details .price-details-grid,
    .product-simple-page .compact-accessory-form .background-removal-review-controls{
        grid-template-columns:1fr!important
    }
    .product-simple-page .compact-accessory-form .accessory-field-grid>.field-block{
        grid-column:1!important
    }
    .product-simple-page .compact-accessory-form .accessory-details-title-row{
        align-items:flex-start;
        flex-direction:column
    }
    .product-simple-page .compact-accessory-form .matching-models-display-row{
        grid-template-columns:1fr
    }
    .product-simple-page .compact-accessory-form .matching-models-display-row .button{
        width:100%
    }
    .product-simple-page .compact-accessory-form .form-actions-sticky.simple-actions{
        bottom:6px;
        margin:8px
    }
    .product-simple-page .compact-accessory-form .form-actions-sticky .button.primary{
        width:100%
    }
}

/* Secure priced quotation final-selection page */
.quotation-selection-public-page{background:#f3f6f9}.quotation-selection-public-page .page-shell{max-width:1280px}.quotation-selection-hero{display:flex;justify-content:space-between;gap:24px;align-items:center;margin:20px 0;padding:28px 32px;border-radius:20px;background:linear-gradient(135deg,#172333,#293b50);color:#fff}.quotation-selection-hero span{color:#ff9a50;font-size:11px;font-weight:900;letter-spacing:.1em}.quotation-selection-hero h1{margin:5px 0 8px;font-size:38px}.quotation-selection-hero p{max-width:760px;margin:0;color:#dbe4ee}.quotation-selection-hero aside{min-width:210px;padding:15px;border:1px solid rgba(255,255,255,.18);border-radius:13px;background:rgba(255,255,255,.07)}.quotation-selection-hero aside strong,.quotation-selection-hero aside small{display:block}.quotation-selection-hero aside small{margin-top:5px;color:#ccd7e3}.quotation-selection-form{display:grid;gap:18px}.quotation-selection-machine{overflow:hidden;border:1px solid #dce3ea;border-radius:17px;background:#fff;box-shadow:0 10px 30px rgba(20,38,58,.07)}.quotation-selection-machine>header{display:grid;grid-template-columns:100px 1fr;gap:16px;align-items:center;padding:18px 20px;background:#f7f9fb}.quotation-selection-machine>header img{width:100px;height:82px;object-fit:contain;background:#fff;border-radius:10px}.quotation-selection-machine>header span{color:#e56e1c;font-size:10px;font-weight:900}.quotation-selection-machine>header h2{margin:3px 0}.quotation-selection-machine>header p{margin:0;color:#6c7a8d;font-size:12px}.quotation-selection-machine>section{padding:18px 20px;border-top:1px solid #e8ecf1}.quotation-selection-machine>section h3{margin:0 0 12px}.quotation-selection-commercial{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quotation-selection-commercial label{display:grid;gap:5px;padding:14px;border:1px solid #dce3ea;border-radius:12px;cursor:pointer}.quotation-selection-commercial label.is-selected{border-color:#eb7021;background:#fff7f1;box-shadow:0 0 0 2px rgba(235,112,33,.09)}.quotation-selection-commercial input{width:auto}.quotation-selection-commercial strong{color:#1e2a3a}.quotation-selection-commercial span{color:#68778b;font-size:12px}.quotation-selection-guidance{margin:-4px 0 13px;color:#6c7a8d;font-size:12px}.quotation-selection-fixed{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px;padding:10px;border-radius:10px;background:#eef4f8}.quotation-selection-fixed strong{width:100%;font-size:11px}.quotation-selection-fixed span{padding:5px 8px;border-radius:7px;background:#fff;color:#425268;font-size:11px;font-weight:750}.quotation-selection-accessories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quotation-selection-accessories label{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px;border:1px solid #dfe5ec;border-radius:11px;cursor:pointer}.quotation-selection-accessories label.is-selected{border-color:#eb7021;background:#fff8f2}.quotation-selection-accessories label>input{width:19px;height:19px}.quotation-selection-accessories label>span{display:grid;grid-template-columns:45px 1fr;gap:2px 8px;align-items:center;min-width:0}.quotation-selection-accessories img{grid-row:1/5;width:43px;height:38px;object-fit:contain;background:#f5f7f9;border-radius:7px}.quotation-selection-accessories b,.quotation-selection-accessories small,.quotation-selection-accessories em{grid-column:2;display:block}.quotation-selection-accessories b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.quotation-selection-accessories small{color:#748296;font-size:10px}.quotation-selection-accessories em{color:#a65016;font-size:10px;font-style:normal}.quotation-selection-accessories label>strong{white-space:nowrap;color:#263343;font-size:12px}.quotation-selection-errors{display:grid;gap:5px;margin-top:10px;padding:10px;border:1px solid #ef9a91;border-radius:9px;background:#fff1ef;color:#a52d24;font-size:12px;font-weight:750}.quotation-selection-contact{padding:20px;border:1px solid #dce3ea;border-radius:16px;background:#fff}.quotation-selection-contact h2{margin-top:0}.quotation-selection-contact>div{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.quotation-selection-contact label{display:grid;gap:6px;font-weight:800}.quotation-selection-contact>label{margin-top:12px}.quotation-selection-submit{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 18px;border:1px solid #d8dee6;border-radius:13px;background:#fff;box-shadow:0 -4px 20px rgba(20,38,58,.06)}.quotation-selection-submit p{margin:0;color:#6c7a8d;font-size:12px}.quotation-selection-message{max-width:720px;margin:60px auto;padding:38px;border-radius:20px;background:#fff;text-align:center;box-shadow:0 20px 60px rgba(20,38,58,.12)}.quotation-selection-message>span{display:grid;place-items:center;width:62px;height:62px;margin:auto;border-radius:18px;background:#2b8a50;color:#fff;font-size:30px}.quotation-selection-message.is-error{border-top:5px solid #b91c2b}.quotation-selection-message.is-success{border-top:5px solid #2b8a50}
@media(max-width:800px){.quotation-selection-hero{display:block;padding:22px}.quotation-selection-hero aside{margin-top:16px}.quotation-selection-commercial,.quotation-selection-accessories{grid-template-columns:1fr}.quotation-selection-contact>div{grid-template-columns:1fr}.quotation-selection-submit{align-items:stretch;flex-direction:column}.quotation-selection-submit .button{width:100%}}
@media(max-width:520px){.quotation-selection-machine>header{grid-template-columns:70px 1fr;padding:14px}.quotation-selection-machine>header img{width:70px;height:60px}.quotation-selection-machine>section{padding:14px}.quotation-selection-accessories label{grid-template-columns:auto minmax(0,1fr)}.quotation-selection-accessories label>strong{grid-column:2}.quotation-selection-hero h1{font-size:29px}}

/* Quotation Details: priced customer final-selection links */
.quotation-final-selection-card{margin:0 0 16px;padding:18px;border:1px solid #d9e1e9;border-radius:15px;background:#fff;box-shadow:0 8px 25px rgba(20,38,58,.06)}.quotation-final-selection-card>header{display:flex;justify-content:space-between;gap:20px;align-items:end}.quotation-final-selection-card>header span{color:#e56e1c;font-size:10px;font-weight:900;letter-spacing:.08em}.quotation-final-selection-card>header h2{margin:3px 0 5px}.quotation-final-selection-card>header p{max-width:760px;margin:0;color:#6c7a8d;font-size:12px;line-height:1.45}.quotation-final-selection-card>header form{display:flex;gap:8px;align-items:end}.quotation-final-selection-card>header label{display:grid;gap:4px;color:#566579;font-size:11px;font-weight:800}.quotation-final-selection-card select{min-width:105px}.quotation-final-selection-created{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;align-items:center;margin-top:15px;padding:11px;border:1px solid #8bc19a;border-radius:10px;background:#eff8f2}.quotation-final-selection-created input{min-width:0}.quotation-final-selection-links{display:grid;gap:8px;margin-top:14px}.quotation-final-selection-links>article{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(260px,1.1fr) auto minmax(250px,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid #e0e6ed;border-radius:11px}.quotation-final-selection-links>article.is-inactive{opacity:.62;background:#f6f8fa}.quotation-final-selection-links article>div span,.quotation-final-selection-links article>div strong,.quotation-final-selection-links article>div small{display:block}.quotation-final-selection-links article>div span{color:#e56e1c;font-size:9px;font-weight:900}.quotation-final-selection-links article>div small{margin-top:3px;color:#748296;font-size:10px}.quotation-selection-send-form{display:flex;gap:6px}.quotation-selection-send-form input{min-width:0;flex:1}.quotation-final-selection-responses{margin-top:16px;padding-top:14px;border-top:1px solid #e5eaf0}.quotation-final-selection-responses>h3{margin:0 0 9px}.quotation-final-selection-responses>article{padding:11px;border:1px solid #dce3ea;border-radius:10px;background:#f8fafc}.quotation-final-selection-responses>article+article{margin-top:8px}.quotation-final-selection-responses article header{display:flex;justify-content:space-between;gap:12px}.quotation-final-selection-responses article small,.quotation-final-selection-responses article em{display:block;color:#6c7a8d;font-size:11px}.quotation-final-selection-responses article p{margin:7px 0 0;font-size:12px}.quotation-final-selection-responses article em{margin-top:8px;font-style:normal}
@media(max-width:1100px){.quotation-final-selection-card>header{align-items:stretch;flex-direction:column}.quotation-final-selection-card>header form{align-items:stretch}.quotation-final-selection-links>article{grid-template-columns:1fr auto}.quotation-final-selection-links>article>input,.quotation-selection-send-form{grid-column:1/-1}}
@media(max-width:650px){.quotation-final-selection-card{padding:13px}.quotation-final-selection-card>header form{display:grid}.quotation-final-selection-created{grid-template-columns:1fr}.quotation-final-selection-links>article{grid-template-columns:1fr}.quotation-final-selection-links>article>.button,.quotation-final-selection-links>article>form{width:100%}.quotation-selection-send-form{display:grid}.quotation-selection-send-form .button{width:100%}}

/* Quotation secure-link email receipt, persistent sent state and protected resend flow */
.quotation-selection-email-confirmation{display:flex;align-items:center;gap:12px;margin-top:14px;padding:13px 15px;border:2px solid #6caf7d;border-radius:12px;background:#edf9f0;color:#245f34;box-shadow:0 7px 20px rgba(54,126,75,.12)}
.quotation-selection-email-confirmation>span{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#3d9657;color:#fff;font-size:20px;font-weight:900}
.quotation-selection-email-confirmation div{display:grid;gap:2px}.quotation-selection-email-confirmation strong{font-size:14px}.quotation-selection-email-confirmation small{color:#376d45;font-size:11px;font-weight:700}
.quotation-final-selection-links>article.is-sent:not(.is-inactive){border-color:#86bf96;background:#f3fbf5;box-shadow:0 0 0 3px rgba(61,150,87,.08)}
.quotation-final-selection-links>article.is-inactive.is-sent{opacity:.82}
.quotation-selection-link-badges{display:flex!important;flex-wrap:wrap;gap:5px;align-items:center;margin-bottom:3px}
.quotation-selection-link-badges>span{display:inline-flex!important;align-items:center;width:max-content;padding:3px 6px;border-radius:999px;background:#fff3ea;color:#c35610!important;font-size:9px!important;font-weight:900!important;line-height:1.1}
.quotation-selection-link-badges>.quotation-selection-email-sent-badge{background:#dff3e4;color:#26713b!important;border:1px solid #9bcaaa}
.quotation-selection-sent-details{margin-top:5px!important;padding:5px 7px;border-radius:7px;background:#e5f5e9;color:#286b3a!important;font-size:10px!important;font-weight:700}
.quotation-selection-sent-details b{display:inline!important;color:#225f33}
.quotation-selection-resend-button{background:#fff5eb!important;border-color:#e56e1c!important;color:#b94e0b!important;font-weight:900!important}
.quotation-selection-resend-button:hover{background:#ffe8d5!important}
.quotation-selection-resend-warning{grid-column:1/-1;display:grid!important;gap:6px;padding:12px 14px;border:2px solid #e49a3f;border-radius:11px;background:#fff7e8;color:#74440e;box-shadow:0 6px 18px rgba(175,101,18,.1)}
.quotation-selection-resend-warning>strong{display:block!important;color:#9b5309!important;font-size:13px!important}
.quotation-selection-resend-warning>span{display:block!important;color:#74440e!important;font-size:11px!important;font-weight:700!important;line-height:1.45}
.quotation-selection-resend-warning-actions{display:flex!important;gap:7px;align-items:center;margin-top:3px}
.quotation-selection-resend-warning-actions form{margin:0}
@media(max-width:650px){.quotation-selection-email-confirmation{align-items:flex-start}.quotation-selection-resend-warning-actions{display:grid!important}.quotation-selection-resend-warning-actions .button{width:100%}}
.customer-configurator-alternative-note{display:grid;gap:4px;margin:0 0 16px;padding:13px 15px;border:1px solid #f0bd94;border-left:4px solid #eb7021;border-radius:11px;background:#fff8f2;color:#6f4a31}.customer-configurator-alternative-note strong{color:#9a430c}.customer-configurator-alternative-note span{font-size:12px;line-height:1.45}
.quotation-accessory-customer-option{display:grid;gap:3px;margin:10px 16px 0;padding:10px 12px;border:1px solid #9ec4e2;border-left:4px solid #315f82;border-radius:9px;background:#f1f7fb;color:#31506a}.quotation-accessory-customer-option span{color:#315f82;font-size:.62rem;font-weight:950;letter-spacing:.07em}.quotation-accessory-customer-option strong{font-size:.78rem}.quotation-accessory-customer-option small{color:#647b8e;font-size:.66rem}

/* Secure final-selection link: commercial-option availability */
.quotation-selection-accessories label.is-unavailable{
    cursor:not-allowed;
    opacity:.58;
    background:#f5f7f9;
    border-style:dashed
}
.quotation-selection-accessories label.is-unavailable>strong{
    color:#7d8897
}
.quotation-selection-accessories label.is-unavailable em{
    color:#7d8897
}
.quotation-final-selection-response-options{display:flex;flex-wrap:wrap;gap:5px;margin:5px 0 8px}.quotation-final-selection-response-options span{padding:5px 7px;border-radius:7px;background:#eef4f8;color:#405269;font-size:.68rem;font-weight:800}

/* Public quotation request: machine accessory configuration */
.quote-request-machine-block{display:grid;gap:0;border:1px solid #dfe5ec;border-radius:14px;overflow:hidden;background:#fff}
.quote-request-machine-block+.quote-request-machine-block{margin-top:12px}
.quote-request-machine-block>.quote-request-item{margin:0;border:0;border-radius:0}
.public-quote-accessory-config{border-top:1px solid #e5eaf0;background:#f8fafc}
.public-quote-accessory-config>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none;color:#253448}
.public-quote-accessory-config>summary::-webkit-details-marker{display:none}
.public-quote-accessory-config>summary span,.public-quote-accessory-config>summary strong,.public-quote-accessory-config>summary small{display:block}
.public-quote-accessory-config>summary strong{font-size:.88rem}
.public-quote-accessory-config>summary small{margin-top:2px;color:#728095;font-size:.7rem;font-weight:750}
.public-quote-accessory-config>summary b{color:#e66d1b;font-size:1rem;transition:transform .18s ease}
.public-quote-accessory-config[open]>summary b{transform:rotate(180deg)}
.public-quote-accessory-config-body{display:grid;gap:11px;padding:0 14px 14px}
.public-quote-accessory-intro{display:grid;gap:3px;padding:10px 12px;border:1px solid #dce3eb;border-radius:10px;background:#fff}
.public-quote-accessory-intro strong{color:#253448;font-size:.82rem}
.public-quote-accessory-intro span{color:#657489;font-size:.74rem;line-height:1.4}
.public-quote-accessory-intro small{color:#9a4b13;font-size:.69rem;font-weight:800}
.public-quote-accessory-guidance{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.public-quote-accessory-guidance>div{padding:10px 11px;border-left:4px solid #e97818;border-radius:9px;background:#fff6ef}
.public-quote-accessory-guidance strong,.public-quote-accessory-guidance span{display:block}
.public-quote-accessory-guidance strong{color:#8e410d;font-size:.76rem}
.public-quote-accessory-guidance span{margin-top:3px;color:#6b5a4d;font-size:.69rem;line-height:1.38}
.public-quote-required-notices{display:grid;gap:5px;padding:9px 11px;border:1px solid #9fd2ae;border-radius:9px;background:#f1faf4;color:#23683b;font-size:.72rem;font-weight:800}
.public-quote-accessory-group{overflow:hidden;border:1px solid #dfe5ec;border-radius:10px;background:#fff}
.public-quote-accessory-group h4{margin:0;padding:8px 11px;border-bottom:1px solid #e7ebef;background:#eef2f6;color:#455468;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em}
.public-quote-accessory-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e8edf2}
.public-quote-accessory-option{display:grid;grid-template-columns:auto 44px minmax(0,1fr);gap:9px;align-items:center;min-height:62px;padding:9px 10px;background:#fff;cursor:pointer}
.public-quote-accessory-option:hover{background:#fbfcfd}
.public-quote-accessory-option.is-selected{background:#fff6ef;box-shadow:inset 4px 0 0 #e97818}
.public-quote-accessory-option.is-required{background:#f1faf4;box-shadow:inset 4px 0 0 #4d9a69;cursor:default}
.public-quote-accessory-option>input{width:18px;height:18px;margin:0;accent-color:#e97818}
.public-quote-accessory-thumb{display:grid;place-items:center;width:42px;height:40px;border-radius:8px;background:#f3f6f8;overflow:hidden}
.public-quote-accessory-thumb img{max-width:38px;max-height:35px;object-fit:contain}
.public-quote-accessory-thumb b{color:#8a96a5;font-size:.62rem}
.public-quote-accessory-copy{min-width:0}
.public-quote-accessory-copy strong,.public-quote-accessory-copy small,.public-quote-accessory-copy em{display:block}
.public-quote-accessory-copy strong{color:#202c3d;font-size:.78rem;line-height:1.25}
.public-quote-accessory-copy small{margin-top:3px;overflow:hidden;color:#758296;font-size:.65rem;line-height:1.3;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.public-quote-accessory-copy em{margin-top:4px;color:#287347;font-size:.63rem;font-style:normal;font-weight:900}
@media(max-width:820px){.public-quote-accessory-guidance,.public-quote-accessory-group>div{grid-template-columns:1fr}}
@media(max-width:560px){.public-quote-accessory-config>summary{padding:11px}.public-quote-accessory-config-body{padding:0 10px 10px}.public-quote-accessory-option{grid-template-columns:auto 40px minmax(0,1fr);padding:8px}.public-quote-accessory-thumb{width:38px;height:36px}}
.site-basket-line-accessory-note{align-self:center;padding:5px 7px;border-radius:7px;background:#fff3e8;color:#9a4a12;font-size:.62rem;font-weight:900;text-align:center}
.rds-configurator-card-footer-public-quote .rds-compatible-accessory-price strong{font-size:.72rem}
.customer-request-accessories span.required{background:#eaf7ee;color:#23683b;border:1px solid #9fd2ae}
.site-basket-configure-note{display:block;margin-top:5px;color:#9a4b13;font-size:.68rem;font-weight:850;line-height:1.35}
.rds-public-quote-configuration-guide{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);gap:14px;margin:0 0 14px;padding:13px 15px;border:1px solid #efb07d;border-left:5px solid #e97818;border-radius:12px;background:#fff7f1;color:#3f4b5b}.rds-public-quote-configuration-guide strong,.rds-public-quote-configuration-guide span{display:block}.rds-public-quote-configuration-guide strong{color:#9a4510}.rds-public-quote-configuration-guide span{margin-top:4px;font-size:.76rem;line-height:1.45}.rds-public-quote-configuration-guide ul{display:grid;gap:6px;margin:0;padding:0;list-style:none}.rds-public-quote-configuration-guide li{padding:7px 9px;border-radius:8px;background:#fff;color:#374559;font-size:.72rem;font-weight:850}.rds-public-quote-configuration-guide li::before{content:"✓";margin-right:6px;color:#e97818}@media(max-width:760px){.rds-public-quote-configuration-guide{grid-template-columns:1fr}}

/* Public quotation: configure a machine before it enters the basket. */
.public-quote-machine-modal[hidden]{display:none!important}
.public-quote-machine-modal{position:fixed;inset:0;z-index:10040;display:grid;place-items:center;padding:22px}
.public-quote-machine-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(20,27,38,.68);cursor:default}
body.public-quote-machine-open{overflow:hidden}
.public-quote-machine-dialog{position:relative;z-index:1;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;width:min(1040px,calc(100vw - 34px));max-height:min(880px,calc(100dvh - 34px));overflow:hidden;border:1px solid #d6dde6;border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(10,17,27,.34)}
.public-quote-machine-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 16px;border-bottom:1px solid #e4e9ef;background:#f8fafc}
.public-quote-machine-heading>span{display:block;color:#e66d1c;font-size:.69rem;font-weight:950;letter-spacing:.08em}
.public-quote-machine-heading h2{margin:4px 0 4px;color:#172333;font-size:1.42rem}
.public-quote-machine-heading p{max-width:760px;margin:0;color:#67758a;font-size:.86rem;line-height:1.45}
.public-quote-machine-close{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid #d5dce5;border-radius:11px;background:#fff;color:#344155;font-size:1.55rem;cursor:pointer}
.public-quote-machine-close:hover{border-color:#eb7021;color:#b94e0b}
.public-quote-machine-summary{display:grid;grid-template-columns:72px minmax(0,1fr);gap:13px;align-items:center;padding:12px 22px;border-bottom:1px solid #e6ebf0;background:#fffaf6}
.public-quote-machine-summary-image{display:grid;place-items:center;width:70px;height:58px;border:1px solid #e0e6ed;border-radius:10px;background:#fff;overflow:hidden}
.public-quote-machine-summary-image img{max-width:100%;max-height:54px;object-fit:contain}
.public-quote-machine-summary>span:last-child small,.public-quote-machine-summary>span:last-child strong,.public-quote-machine-summary>span:last-child em{display:block}
.public-quote-machine-summary>span:last-child small{color:#e36b1d;font-size:.66rem;font-weight:950;text-transform:uppercase}
.public-quote-machine-summary>span:last-child strong{margin-top:2px;color:#172333;font-size:1.02rem}
.public-quote-machine-summary>span:last-child em{margin-top:3px;color:#6b788b;font-size:.74rem;font-style:normal;line-height:1.35}
.public-quote-machine-dialog-body{min-height:0;padding:16px 20px 20px;overflow:auto;background:#f6f8fb}
.public-quote-machine-requirement-intro{margin-bottom:12px;padding:11px 13px;border-left:4px solid #eb7021;border-radius:9px;background:#fff5ed;color:#5b4638;font-size:.8rem;line-height:1.45}
.public-quote-machine-required-groups{display:grid;gap:12px}
.public-quote-machine-group{overflow:hidden;border:1px solid #dbe2ea;border-radius:13px;background:#fff}
.public-quote-machine-group>header{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-bottom:1px solid #e4e9ee;background:#f8fafc}
.public-quote-machine-group>header>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:9px;background:#e9eef4;color:#415269;font-size:.83rem;font-weight:950}
.public-quote-machine-group.is-required>header>span{background:#eb7021;color:#fff}
.public-quote-machine-group>header strong,.public-quote-machine-group>header small{display:block}
.public-quote-machine-group>header strong{color:#202d3d;font-size:.9rem}
.public-quote-machine-group>header small{margin-top:2px;color:#6e7c8f;font-size:.72rem;line-height:1.35}
.public-quote-machine-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:#e5eaf0}
.public-quote-machine-option{display:grid;grid-template-columns:22px 58px minmax(0,1fr);gap:10px;align-items:center;min-height:84px;padding:10px 12px;background:#fff;cursor:pointer;transition:background .15s ease,box-shadow .15s ease}
.public-quote-machine-option:hover{background:#fffaf6}
.public-quote-machine-option.is-selected{position:relative;background:#fff6ef;box-shadow:inset 4px 0 #eb7021}
.public-quote-machine-option.is-required{background:#eef8f1;box-shadow:inset 4px 0 #2f8a51;cursor:default}
.public-quote-machine-option>input{position:absolute;width:1px;height:1px;margin:0;overflow:hidden;opacity:0;pointer-events:none}
.public-quote-machine-check{display:grid;place-items:center;width:20px;height:20px;border:1.5px solid #8b96a5;border-radius:4px;background:#fff;color:#fff;font-size:.86rem;font-weight:950;line-height:1;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.public-quote-machine-option.is-selected .public-quote-machine-check,.public-quote-machine-option.is-required .public-quote-machine-check{border-color:#2f8a51;background:#2f8a51;box-shadow:0 0 0 1px rgba(47,138,81,.08)}
.public-quote-machine-option>input:focus-visible+.public-quote-machine-check{outline:3px solid rgba(47,138,81,.24);outline-offset:2px}
.public-quote-machine-option-image{display:grid;place-items:center;width:56px;height:52px;border-radius:9px;background:#f4f7fa;overflow:hidden}
.public-quote-machine-option-image img{max-width:50px;max-height:47px;object-fit:contain}
.public-quote-machine-option-image b{color:#8a96a5;font-size:.68rem}
.public-quote-machine-option-copy{min-width:0}
.public-quote-machine-option-copy strong,.public-quote-machine-option-copy small,.public-quote-machine-option-copy em{display:block}
.public-quote-machine-option-copy strong{color:#202d3e;font-size:.82rem;line-height:1.25}
.public-quote-machine-option-copy small{display:-webkit-box;margin-top:3px;overflow:hidden;color:#748195;font-size:.67rem;line-height:1.35;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.public-quote-machine-option-copy em{min-height:1em;margin-top:4px;color:#d45e12;font-size:.62rem;font-style:normal;font-weight:900}
.public-quote-machine-option.is-required .public-quote-machine-option-copy em{color:#237241}
.public-quote-machine-no-options{grid-column:1/-1;margin:0;padding:18px;color:#788598;text-align:center;background:#fff}
.public-quote-machine-optional{margin-top:13px;border:1px solid #dbe2ea;border-radius:13px;background:#fff}
.public-quote-machine-optional[hidden]{display:none!important}
.public-quote-machine-optional>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;cursor:pointer;list-style:none}
.public-quote-machine-optional>summary::-webkit-details-marker{display:none}
.public-quote-machine-optional>summary strong,.public-quote-machine-optional>summary small{display:block}
.public-quote-machine-optional>summary strong{color:#202d3e;font-size:.88rem}
.public-quote-machine-optional>summary small{margin-top:2px;color:#718095;font-size:.7rem}
.public-quote-machine-optional>summary b{color:#e36b1d}
.public-quote-machine-optional[open]>summary{border-bottom:1px solid #e3e8ee;background:#fbfcfd}
.public-quote-machine-optional>div{display:grid;gap:10px;padding:10px}
.public-quote-machine-required-notices{display:grid;gap:6px;margin-top:12px;padding:10px 12px;border:1px solid #acd3b7;border-radius:10px;background:#eff9f2;color:#24683a;font-size:.72rem;font-weight:800;line-height:1.4}
.public-quote-machine-required-notices[hidden]{display:none!important}
.public-quote-machine-dialog>footer{display:flex;align-items:center;justify-content:flex-end;gap:16px;padding:13px 18px;border-top:1px solid #dfe5eb;background:#fff}
.public-quote-machine-dialog>footer>p{margin:0 auto 0 0;color:#b42318;font-size:.77rem;font-weight:850}
.public-quote-machine-dialog>footer>p[hidden]{display:none!important}
.public-quote-machine-dialog>footer>div{display:flex;gap:8px}
@media(max-width:720px){.public-quote-machine-modal{padding:0}.public-quote-machine-dialog{width:100%;height:100dvh;max-height:none;border:0;border-radius:0}.public-quote-machine-dialog>header{padding:15px}.public-quote-machine-heading h2{font-size:1.18rem}.public-quote-machine-summary{grid-template-columns:58px minmax(0,1fr);padding:10px 14px}.public-quote-machine-summary-image{width:56px;height:50px}.public-quote-machine-dialog-body{padding:12px}.public-quote-machine-options{grid-template-columns:1fr}.public-quote-machine-option{min-height:74px}.public-quote-machine-dialog>footer{align-items:stretch;flex-direction:column;padding:10px 12px}.public-quote-machine-dialog>footer>p{margin:0}.public-quote-machine-dialog>footer>div{display:grid;grid-template-columns:1fr 1.5fr}.public-quote-machine-dialog>footer .button{width:100%;justify-content:center}}
.public-product-card-configure-link{text-decoration:none;justify-content:center}
.site-basket-line-accessory-note.is-required{color:#176a38;border-color:#a9d5b7;background:#edf8f0}
.public-quote-document-processor-requirement-field,.public-quote-base-requirement-field{align-content:start;padding:12px;border:1px solid #dfe5ec;border-radius:11px;background:#f8fafc}.public-quote-document-processor-requirement-field>span:first-child,.public-quote-base-requirement-field>span:first-child{color:#253449;font-size:.8rem;font-weight:900}.public-quote-document-processor-requirement-field .check-field-control,.public-quote-base-requirement-field .check-field-control{display:flex;align-items:flex-start;gap:8px;color:#4f5e72;font-size:.75rem;font-weight:750;line-height:1.35}.public-quote-document-processor-requirement-field input,.public-quote-base-requirement-field input{width:18px;height:18px;flex:0 0 18px;margin:0;accent-color:#eb7021}.public-quote-document-processor-requirement-field small,.public-quote-base-requirement-field small{line-height:1.35}

/* Machine editor: apply public-quote completion requirements to selected machine models. */
.public-quote-requirements-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}
.public-quote-bulk-open{flex:0 0 auto;align-self:center;max-width:230px;white-space:normal;text-align:center}
.public-quote-bulk-save-note{align-self:center;max-width:250px;color:#7b8796;font-size:.72rem;font-weight:750;line-height:1.35}
body.public-quote-bulk-open{overflow:hidden}
.public-quote-bulk-modal[hidden]{display:none!important}
.public-quote-bulk-modal{position:fixed;inset:0;z-index:10050;display:grid;place-items:center;padding:24px}
.public-quote-bulk-backdrop{position:absolute;inset:0;border:0;background:rgba(16,23,34,.66);cursor:default}
.public-quote-bulk-dialog{position:relative;z-index:1;display:flex;flex-direction:column;width:min(980px,calc(100vw - 34px));max-height:min(820px,calc(100vh - 38px));overflow:hidden;border:1px solid #d8dfe7;border-radius:18px;background:#fff;box-shadow:0 30px 90px rgba(8,15,25,.34)}
.public-quote-bulk-dialog>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 17px;border-bottom:1px solid #e4e9ef;background:#f8fafc}
.public-quote-bulk-dialog>header span{display:block;color:#e36c1d;font-size:.69rem;font-weight:950;letter-spacing:.08em}
.public-quote-bulk-dialog>header h2{margin:4px 0 4px;color:#1e2938;font-size:1.45rem}
.public-quote-bulk-dialog>header p{margin:0;color:#6f7d90;font-size:.86rem}
.public-quote-bulk-dialog>header>button{display:grid;place-items:center;flex:0 0 40px;height:40px;border:1px solid #d6dde6;border-radius:11px;background:#fff;color:#354155;font-size:1.55rem;cursor:pointer}
.public-quote-bulk-dialog>form{display:flex;min-height:0;flex:1;flex-direction:column}
.public-quote-bulk-settings{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:15px 20px;border-bottom:1px solid #e5eaf0;background:#fffaf6}
.public-quote-bulk-settings article{display:grid;grid-template-columns:minmax(0,1fr) 160px;gap:12px;align-items:center;padding:11px 12px;border:1px solid #f1c6a5;border-radius:11px;background:#fff}
.public-quote-bulk-settings label{display:grid;gap:5px;color:#354255;font-size:.76rem;font-weight:850}
.public-quote-bulk-settings select{width:100%;min-height:40px}
.public-quote-bulk-apply-check{display:flex!important;align-items:center;gap:9px;line-height:1.3}
.public-quote-bulk-apply-check input{width:18px;height:18px;flex:0 0 auto}
.public-quote-bulk-machine-picker{display:flex;min-height:0;flex:1;flex-direction:column;padding:16px 20px 0}
.public-quote-bulk-toolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:end}
.public-quote-bulk-toolbar>label{display:grid;gap:6px;color:#4c596b;font-size:.76rem;font-weight:850}
.public-quote-bulk-toolbar input{width:100%;min-height:44px;padding:10px 12px}
.public-quote-bulk-toolbar>div{display:flex;gap:7px}
.public-quote-bulk-count{padding:9px 2px;color:#697689;font-size:.74rem;font-weight:750}
.public-quote-bulk-count strong{color:#e36c1d;font-size:.9rem}
.public-quote-bulk-list{display:grid;grid-template-columns:1fr 1fr;gap:8px;min-height:0;overflow:auto;padding:0 2px 14px}
.public-quote-bulk-machine{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:10px;align-items:center;padding:11px 12px;border:1px solid #dde4eb;border-radius:11px;background:#fff;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}
.public-quote-bulk-machine:hover{border-color:#e9a16f;background:#fffaf6}
.public-quote-bulk-machine:has(input:checked){border-color:#e97818;background:#fff6ef;box-shadow:0 0 0 1px rgba(233,120,24,.08)}
.public-quote-bulk-machine>input{width:18px;height:18px;margin:0}
.public-quote-bulk-machine-copy{min-width:0}
.public-quote-bulk-machine-copy strong,.public-quote-bulk-machine-copy small{display:block}
.public-quote-bulk-machine-copy strong{overflow:hidden;color:#202b3b;font-size:.85rem;text-overflow:ellipsis;white-space:nowrap}
.public-quote-bulk-machine-copy small{margin-top:3px;color:#778497;font-size:.67rem}
.public-quote-bulk-current-state{display:grid;justify-items:end;gap:4px}
.public-quote-bulk-current-state b{padding:4px 6px;border-radius:6px;background:#eef2f6;color:#677487;font-size:.57rem;white-space:nowrap}
.public-quote-bulk-current-state b.is-required{background:#fff0e4;color:#a44a0c}
.public-quote-bulk-message{margin:0 20px 12px;padding:10px 12px;border-radius:9px;font-size:.78rem;font-weight:800}
.public-quote-bulk-message.is-success{border:1px solid #9ccfac;background:#eff9f2;color:#176a38}
.public-quote-bulk-message.is-error{border:1px solid #e4aaa5;background:#fff1ef;color:#a52d24}
.public-quote-bulk-dialog footer{display:flex;justify-content:flex-end;gap:9px;padding:14px 20px;border-top:1px solid #e2e7ed;background:#f8fafc}
@media(max-width:820px){.public-quote-requirements-heading{display:grid}.public-quote-bulk-open,.public-quote-bulk-save-note{max-width:none;justify-self:start}.public-quote-bulk-settings{grid-template-columns:1fr}.public-quote-bulk-list{grid-template-columns:1fr}.public-quote-bulk-toolbar{grid-template-columns:1fr}.public-quote-bulk-toolbar>div{flex-wrap:wrap}.public-quote-bulk-dialog{max-height:calc(100vh - 20px)}}
@media(max-width:520px){.public-quote-bulk-modal{padding:8px}.public-quote-bulk-dialog{width:100%;max-height:calc(100vh - 16px);border-radius:14px}.public-quote-bulk-settings article{grid-template-columns:1fr}.public-quote-bulk-machine{grid-template-columns:22px minmax(0,1fr)}.public-quote-bulk-current-state{grid-column:2;grid-template-columns:auto auto;justify-content:start;justify-items:start}.public-quote-bulk-dialog footer{display:grid;grid-template-columns:1fr 1fr}.public-quote-bulk-dialog footer .button{width:100%;justify-content:center}}

/* Public quote requirement bulk action: prominent placement beside the two requirement cards. */
.public-quote-bulk-action-card{
    display:flex;
    min-width:0;
    min-height:100%;
    align-items:center;
    align-content:center;
    flex-wrap:wrap;
    gap:10px 12px;
    padding:14px;
    border:1px solid #efb07d;
    border-radius:12px;
    background:linear-gradient(145deg,#fff8f2,#fff3e8);
    box-shadow:0 6px 18px rgba(190,82,9,.08)
}
.public-quote-bulk-action-icon{
    display:grid;
    place-items:center;
    flex:0 0 36px;
    width:36px;
    height:36px;
    border-radius:10px;
    background:#e97818;
    color:#fff;
    font-size:1.15rem;
    font-weight:950
}
.public-quote-bulk-action-card>div{min-width:0;flex:1 1 150px}
.public-quote-bulk-action-card strong,.public-quote-bulk-action-card small{display:block}
.public-quote-bulk-action-card strong{color:#253449;font-size:.78rem;line-height:1.25}
.public-quote-bulk-action-card small{margin-top:4px;color:#6d7888;font-size:.67rem;line-height:1.35}
.public-quote-bulk-action-card .public-quote-bulk-open{
    flex:1 0 100%;
    width:100%;
    max-width:none;
    min-height:42px;
    justify-content:center;
    border-color:#d96318;
    background:#e97818;
    color:#fff;
    box-shadow:0 7px 16px rgba(217,99,24,.20);
    font-size:.78rem;
    font-weight:900
}
.public-quote-bulk-action-card .public-quote-bulk-open:hover,
.public-quote-bulk-action-card .public-quote-bulk-open:focus-visible{
    border-color:#bd5310;
    background:#cf6015;
    color:#fff
}
.public-quote-bulk-machine[hidden],.public-quote-bulk-machine.is-filtered-out{display:none!important}
@media(max-width:980px){.machine-spec-subsection-grid .public-quote-bulk-action-card{grid-column:1/-1}}

/* Public guided quote: single required option selected automatically. */
.public-quote-machine-option.is-single-required-option{
    border-color:#8fc29f;
    background:#eef8f1;
    box-shadow:inset 4px 0 #2f8a51
}
.public-quote-machine-required-help{
    display:block;
    margin-top:3px;
    color:#486456;
    font-size:.62rem;
    font-weight:750;
    line-height:1.35
}

/* Secure quotation final-selection UX: readable pricing, grouped accessories and mandatory setup options. */
.quotation-commercial-section.is-single{padding-bottom:16px}
.quotation-selection-commercial{align-items:stretch}
.quotation-selection-commercial.is-single{grid-template-columns:minmax(0,560px)}
.quotation-commercial-option,
.quotation-selection-commercial label.quotation-commercial-option{
    position:relative;
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:12px;
    align-items:start;
    min-width:0;
    padding:15px;
    border:1px solid #dce3ea;
    border-radius:13px;
    background:#fff;
    cursor:pointer
}
.quotation-commercial-option.is-fixed{grid-template-columns:1fr;cursor:default}
.quotation-commercial-option.is-selected{border-color:#eb7021;background:#fff8f2;box-shadow:0 0 0 2px rgba(235,112,33,.08)}
.quotation-commercial-option>input{width:18px;height:18px;margin:2px 0 0;accent-color:#eb7021}
.quotation-commercial-option-copy{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:10px;grid-column:2}
.quotation-commercial-option.is-fixed .quotation-commercial-option-copy{grid-column:1}
.quotation-commercial-option-copy strong{color:#1e2a3a;font-size:15px}
.quotation-commercial-option-copy em{padding:4px 7px;border-radius:999px;background:#eaf0f6;color:#566579;font-size:9px;font-style:normal;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.quotation-commercial-metrics{grid-column:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}
.quotation-commercial-option.is-fixed .quotation-commercial-metrics{grid-column:1;grid-template-columns:repeat(4,minmax(0,1fr))}
.quotation-commercial-metrics>span{display:grid;gap:3px;min-width:0;padding:9px 10px;border:1px solid #e3e8ee;border-radius:9px;background:#fff}
.quotation-commercial-metrics small{color:#718093;font-size:9px;font-weight:850;letter-spacing:.035em;text-transform:uppercase}
.quotation-commercial-metrics b{overflow-wrap:anywhere;color:#243247;font-size:13px;line-height:1.25}
.quotation-commercial-label-mobile{display:none}
.quotation-accessory-groups{display:grid;gap:13px}
.quotation-accessory-group{overflow:hidden;border:1px solid #dfe5ec;border-radius:13px;background:#fff}
.quotation-accessory-group>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border-bottom:1px solid #e6ebf0;background:#f7f9fb}
.quotation-accessory-group>header>div{min-width:0}
.quotation-accessory-group>header h4{display:flex;align-items:center;gap:8px;margin:0;color:#243247;font-size:14px}
.quotation-accessory-group>header h4 span{padding:3px 7px;border-radius:999px;background:#fff0e4;color:#a64a09;font-size:9px;font-weight:900;text-transform:uppercase}
.quotation-accessory-group>header p{margin:3px 0 0;color:#738196;font-size:10px;line-height:1.35}
.quotation-accessory-group>header>b{display:grid;place-items:center;min-width:31px;height:27px;padding:0 7px;border-radius:999px;background:#e9eef4;color:#4c5b70;font-size:10px}
.quotation-accessory-group.is-required{border-color:#efb07d}
.quotation-accessory-group.is-required>header{background:#fff8f2}
.quotation-accessory-group .quotation-selection-accessories{padding:10px}
.quotation-selection-accessories label.quotation-accessory-option{min-height:74px;background:#fff}
.quotation-selection-accessories label.quotation-accessory-option.is-selected{border-color:#eb7021;background:#fff8f2}
.quotation-selection-accessories label.quotation-accessory-option.is-mandatory{border-color:#dda06e;background:#fff6ee;cursor:not-allowed}
.quotation-selection-accessories label.quotation-accessory-option.is-mandatory>input{accent-color:#eb7021}
.quotation-selection-accessories label.quotation-accessory-option em.is-required{display:inline-flex;width:max-content;max-width:100%;padding:3px 6px;border-radius:999px;background:#e97818;color:#fff;font-size:9px;font-weight:900}
.quotation-selection-notice{display:flex;align-items:flex-start;gap:9px;margin:0 0 12px;padding:10px 11px;border:1px solid #91b7d6;border-radius:10px;background:#f0f7fc;color:#34556e}
.quotation-selection-notice>span{display:grid;place-items:center;flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:#3978a4;color:#fff;font-size:12px;font-weight:900}
.quotation-selection-notice p{margin:2px 0 0;font-size:11px;font-weight:750;line-height:1.4}
@media(max-width:900px){
    .quotation-commercial-option.is-fixed .quotation-commercial-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:800px){
    .quotation-selection-commercial.is-single{grid-template-columns:1fr}
    .quotation-commercial-option,
    .quotation-selection-commercial label.quotation-commercial-option{grid-template-columns:auto minmax(0,1fr)}
    .quotation-commercial-metrics{grid-template-columns:1fr 1fr}
    .quotation-accessory-group .quotation-selection-accessories{grid-template-columns:1fr}
}
@media(max-width:520px){
    .quotation-commercial-option,
    .quotation-selection-commercial label.quotation-commercial-option{padding:12px}
    .quotation-commercial-option-copy{align-items:flex-start;flex-direction:column}
    .quotation-commercial-metrics,
    .quotation-commercial-option.is-fixed .quotation-commercial-metrics{grid-template-columns:1fr}
    .quotation-accessory-group>header{align-items:flex-start}
}

/* =========================================================
   Public guided quotation: compact requirements, progress and help
   ========================================================= */
.rds-public-quote-configuration-guide.is-compact{
    grid-template-columns:minmax(190px,.72fr) minmax(0,1.28fr) auto;
    align-items:center;
    gap:12px;
    padding:11px 13px;
    border-left-width:4px;
    background:#fffaf6
}
.rds-public-quote-guide-heading strong{font-size:.8rem}
.rds-public-quote-guide-heading span{margin-top:2px;font-size:.69rem}
.rds-public-quote-configuration-guide.is-compact ul{
    display:flex;
    flex-wrap:wrap;
    gap:7px
}
.rds-public-quote-configuration-guide.is-compact li{
    position:relative;
    display:flex;
    align-items:center;
    gap:7px;
    padding:7px 8px;
    border:1px solid #f0cfb3;
    background:#fff
}
.rds-public-quote-configuration-guide.is-compact li::before{display:none}
.rds-public-quote-configuration-guide.is-compact li>span{margin:0;font-size:.7rem;font-weight:850}
.rds-public-quote-configuration-guide.is-compact li>b{
    padding:3px 6px;
    border-radius:999px;
    color:#9a4510;
    background:#fff0e4;
    font-size:.57rem;
    font-weight:950;
    text-transform:uppercase
}
.rds-public-quote-configuration-guide.is-compact>small{
    color:#756152;
    font-size:.63rem;
    font-weight:750;
    white-space:nowrap
}
.rds-guidance-info,
.public-quote-guidance-info{
    display:grid;
    place-items:center;
    flex:0 0 24px;
    width:24px;
    height:24px;
    padding:0;
    border:1px solid #e3a676;
    border-radius:999px;
    color:#a84b0a;
    background:#fff8f2;
    font:inherit;
    font-size:.68rem;
    font-weight:950;
    line-height:1;
    cursor:help
}
.rds-guidance-info:hover,
.rds-guidance-info:focus-visible,
.public-quote-guidance-info:hover,
.public-quote-guidance-info:focus-visible{
    border-color:#e97818;
    color:#fff;
    background:#e97818;
    outline:none
}
.rds-guidance-click-popover{
    position:absolute;
    z-index:30;
    right:5px;
    top:calc(100% + 6px);
    width:min(300px,calc(100vw - 44px));
    padding:9px 10px;
    border:1px solid #dbe2e9;
    border-radius:9px;
    color:#435166;
    background:#fff;
    box-shadow:0 12px 28px rgba(21,31,45,.18);
    font-size:.68rem;
    font-weight:700;
    line-height:1.45
}
.public-quote-machine-requirement-intro{
    margin-bottom:12px;
    padding:0;
    border:0;
    background:transparent
}
.public-quote-required-summary{
    overflow:visible;
    border:1px solid #e1e6ec;
    border-radius:12px;
    background:#fff
}
.public-quote-required-summary>header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
    padding:11px 12px;
    border-bottom:1px solid #e8ecf1;
    background:#fbfcfd
}
.public-quote-required-summary>header strong,
.public-quote-required-summary>header small{display:block}
.public-quote-required-summary>header strong{color:#202d3e;font-size:.85rem}
.public-quote-required-summary>header small{margin-top:2px;color:#6e7c8f;font-size:.68rem;line-height:1.35}
.public-quote-required-summary>header>b{
    flex:0 0 auto;
    padding:5px 8px;
    border-radius:999px;
    color:#9b430a;
    background:#fff0e4;
    font-size:.62rem;
    font-weight:950;
    white-space:nowrap
}
.public-quote-required-summary>div{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
    padding:9px
}
.public-quote-required-summary-row{
    position:relative;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:6px;
    border:1px solid #e0e6ed;
    border-radius:10px;
    background:#fff
}
.public-quote-required-summary-row>button:first-child{
    display:grid;
    grid-template-columns:25px minmax(0,1fr);
    grid-template-rows:auto auto;
    gap:1px 8px;
    align-items:center;
    width:100%;
    padding:8px 9px;
    border:0;
    color:#283649;
    background:transparent;
    text-align:left;
    cursor:pointer
}
.public-quote-required-summary-row>button:first-child>span{
    grid-row:1/3;
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    border-radius:8px;
    color:#fff;
    background:#e97818;
    font-size:.74rem;
    font-weight:950
}
.public-quote-required-summary-row>button:first-child>strong{font-size:.72rem;line-height:1.15}
.public-quote-required-summary-row>button:first-child>small{color:#a34b10;font-size:.61rem;font-weight:850}
.public-quote-required-summary-row>.public-quote-guidance-info-wrap{margin-right:7px}
.public-quote-required-summary-row.is-complete{
    border-color:#9bc9a8;
    background:#f2faf4
}
.public-quote-required-summary-row.is-complete>button:first-child>span{background:#2f8a51}
.public-quote-required-summary-row.is-complete>button:first-child>small{color:#237241}
.public-quote-guidance-info-wrap{
    position:relative;
    display:inline-flex;
    align-items:center
}
.public-quote-guidance-popover{
    position:absolute;
    z-index:40;
    right:0;
    top:calc(100% + 6px);
    width:min(310px,calc(100vw - 50px));
    padding:9px 10px;
    border:1px solid #dbe2e9;
    border-radius:9px;
    color:#435166;
    background:#fff;
    box-shadow:0 14px 32px rgba(21,31,45,.2);
    font-size:.67rem;
    font-weight:700;
    line-height:1.45
}
.public-quote-guidance-popover[hidden]{display:none!important}
.public-quote-machine-group.is-required{
    border-width:2px;
    border-color:#efb07d
}
.public-quote-machine-group.is-required.is-incomplete{
    box-shadow:0 0 0 3px rgba(233,120,24,.07)
}
.public-quote-machine-group.is-required.is-complete{
    border-color:#8fc29f;
    box-shadow:0 0 0 3px rgba(47,138,81,.06)
}
.public-quote-machine-group>header{
    display:grid;
    grid-template-columns:28px minmax(0,1fr) auto auto;
    align-items:center
}
.public-quote-machine-group-copy{min-width:0}
.public-quote-machine-group-state{
    display:flex;
    align-items:center;
    gap:6px
}
.public-quote-machine-group-state>b{
    padding:4px 7px;
    border-radius:999px;
    color:#9a4510;
    background:#fff0e4;
    font-size:.57rem;
    font-weight:950;
    text-transform:uppercase
}
.public-quote-machine-group-state>em{
    color:#b85b16;
    font-size:.62rem;
    font-style:normal;
    font-weight:900;
    white-space:nowrap
}
.public-quote-machine-group.is-complete .public-quote-machine-group-state>b{
    color:#21663a;
    background:#e7f6eb
}
.public-quote-machine-group.is-complete .public-quote-machine-group-state>em{color:#237241}
.public-quote-machine-group.is-complete .public-quote-machine-group-marker{background:#2f8a51}
.public-quote-machine-group.is-attention{animation:publicQuoteRequiredAttention .55s ease 2}
@keyframes publicQuoteRequiredAttention{
    50%{box-shadow:0 0 0 5px rgba(233,120,24,.18)}
}
@media(max-width:820px){
    .rds-public-quote-configuration-guide.is-compact{grid-template-columns:1fr}
    .rds-public-quote-configuration-guide.is-compact>small{white-space:normal}
    .public-quote-required-summary>header{align-items:flex-start;flex-direction:column}
    .public-quote-required-summary>div{grid-template-columns:1fr}
    .public-quote-machine-group>header{
        grid-template-columns:28px minmax(0,1fr) auto;
        gap:8px
    }
    .public-quote-machine-group-state{
        grid-column:2/4;
        justify-content:flex-start
    }
    .public-quote-machine-group>header>.public-quote-guidance-info-wrap{
        grid-column:3;
        grid-row:1
    }
}
@media(max-width:520px){
    .rds-public-quote-configuration-guide.is-compact ul{display:grid}
    .public-quote-required-summary-row>button:first-child{padding:8px}
    .public-quote-guidance-popover{position:fixed;left:14px;right:14px;top:auto;bottom:82px;width:auto}
}

/* Public catalogue Add to Quote buttons match the primary product-page action. */
.public-product-card-quote-button {
    min-width: 132px;
    min-height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 8px 14px;
    border-color: #e66e0b;
    color: #fff;
    background: #e66e0b;
    box-shadow: 0 6px 14px rgba(230, 110, 11, .16);
    font-size: 11px;
    line-height: 1;
    text-decoration: none;
    transition: transform .15s ease, background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.public-product-card-quote-button svg {
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.8;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.public-product-card-quote-button:hover,
.public-product-card-quote-button:focus-visible,
.public-product-card-quote-button.is-added {
    color: #fff;
    border-color: #cc5c03;
    background: #cc5c03;
    box-shadow: 0 8px 18px rgba(204, 92, 3, .22);
    transform: translateY(-1px);
}

@media (max-width: 620px) {
    .public-product-card-quote-button {
        min-height: 44px;
    }
}

/* =========================================================
   Guided public quote: unmistakable missing-selection feedback
   ========================================================= */
.public-quote-machine-dialog>footer{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:12px;
    padding:11px 14px;
}
.public-quote-machine-footer-actions{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:8px;
    white-space:nowrap;
}
.public-quote-machine-validation{
    min-width:0;
    display:grid;
    grid-template-columns:34px minmax(0,1fr) auto;
    align-items:center;
    gap:10px;
    padding:9px 10px;
    border:2px solid #c92c20;
    border-radius:11px;
    color:#7f1d16;
    background:#fff3f1;
    box-shadow:0 5px 16px rgba(185,40,29,.13);
}
.public-quote-machine-validation[hidden]{display:none!important}
.public-quote-machine-validation-icon{
    display:grid;
    place-items:center;
    width:34px;
    height:34px;
    border-radius:10px;
    color:#fff;
    background:#c92c20;
    font-size:1.05rem;
    font-weight:950;
}
.public-quote-machine-validation-copy{
    min-width:0;
    display:grid;
    gap:2px;
}
.public-quote-machine-validation-copy strong{
    color:#9d241b;
    font-size:.79rem;
    font-weight:950;
    line-height:1.15;
}
.public-quote-machine-validation-copy small{
    color:#6f3530;
    font-size:.67rem;
    font-weight:750;
    line-height:1.35;
}
.public-quote-machine-validation-jump{
    min-height:36px;
    padding:7px 11px;
    border:1px solid #a91e15;
    border-radius:8px;
    color:#fff;
    background:#b42318;
    font:inherit;
    font-size:.68rem;
    font-weight:900;
    cursor:pointer;
    white-space:nowrap;
}
.public-quote-machine-validation-jump:hover,
.public-quote-machine-validation-jump:focus-visible{
    border-color:#7f1710;
    background:#8f1c14;
    outline:3px solid rgba(180,35,24,.18);
    outline-offset:2px;
}
.public-quote-machine-validation.is-attention{
    animation:publicQuoteValidationBanner 0.48s ease 2;
}
@keyframes publicQuoteValidationBanner{
    50%{transform:translateY(-2px);box-shadow:0 0 0 5px rgba(201,44,32,.18),0 8px 20px rgba(185,40,29,.17)}
}
.public-quote-machine-group.is-validation-target{
    position:relative;
    border-color:#c92c20!important;
    box-shadow:0 0 0 5px rgba(201,44,32,.16),0 10px 24px rgba(185,40,29,.13)!important;
}
.public-quote-machine-group.is-validation-target::after{
    content:attr(data-validation-label);
    position:absolute;
    z-index:5;
    top:-14px;
    right:18px;
    padding:5px 9px;
    border-radius:999px;
    color:#fff;
    background:#c92c20;
    box-shadow:0 5px 12px rgba(185,40,29,.18);
    font-size:.62rem;
    font-weight:950;
    line-height:1;
    white-space:nowrap;
}
.public-quote-machine-group.is-validation-target .public-quote-machine-group-marker{
    background:#c92c20!important;
    animation:publicQuoteMissingMarker 0.65s ease infinite alternate;
}
@keyframes publicQuoteMissingMarker{
    to{transform:scale(1.12);box-shadow:0 0 0 5px rgba(201,44,32,.13)}
}
@media(max-width:820px){
    .public-quote-machine-dialog>footer{
        grid-template-columns:1fr;
        align-items:stretch;
    }
    .public-quote-machine-validation{
        grid-template-columns:32px minmax(0,1fr);
    }
    .public-quote-machine-validation-jump{
        grid-column:1/-1;
        width:100%;
    }
    .public-quote-machine-footer-actions{
        display:grid;
        grid-template-columns:1fr 1.5fr;
    }
    .public-quote-machine-group.is-validation-target::after{
        top:-12px;
        right:10px;
        max-width:calc(100% - 20px);
        overflow:hidden;
        text-overflow:ellipsis;
    }
}

/* =========================================================
   Public quotation request: contact details final-step modal
   ========================================================= */
.quote-contact-launch-row{
    position:sticky;
    bottom:10px;
    z-index:18;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    margin:16px 18px 18px;
    padding:14px 16px;
    border:1px solid #d8e0e8;
    border-radius:13px;
    background:rgba(255,255,255,.97);
    box-shadow:0 12px 30px rgba(22,34,49,.12);
    backdrop-filter:blur(10px)
}
.quote-contact-launch-row>div:first-child{display:grid;gap:3px;min-width:0}
.quote-contact-launch-row>div:first-child strong{color:#1e2938;font-size:.92rem}
.quote-contact-launch-row>div:first-child span{color:#6a7789;font-size:.76rem;line-height:1.4}
.quote-contact-launch-actions{display:flex;align-items:center;gap:9px;flex:0 0 auto}
.quote-contact-launch-actions .button{justify-content:center;white-space:nowrap}
.quote-config-validation[hidden]{display:none!important}
.quote-config-validation{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    gap:12px;
    align-items:center;
    margin:16px 18px 0;
    padding:13px 14px;
    border:2px solid #c9342c;
    border-radius:12px;
    background:#fff1ef;
    box-shadow:0 8px 22px rgba(185,45,37,.12)
}
.quote-config-validation-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#bd2f28;color:#fff;font-size:1.05rem;font-weight:950}
.quote-config-validation strong{display:block;color:#84231e;font-size:.86rem}
.quote-config-validation p{margin:3px 0 0;color:#9b312a;font-size:.74rem;font-weight:750;line-height:1.4}
.quote-config-validation .button{min-height:38px;padding:8px 12px}
.public-quote-accessory-group.is-contact-validation-error,
.public-quote-accessory-config.is-contact-validation-error,
.quote-advice-choice.is-contact-validation-error{
    position:relative;
    border:2px solid #c9342c!important;
    box-shadow:0 0 0 5px rgba(201,52,44,.12),0 12px 26px rgba(132,35,30,.14)!important;
    animation:quoteContactMissingPulse 1.15s ease-in-out 2
}
@keyframes quoteContactMissingPulse{50%{box-shadow:0 0 0 9px rgba(201,52,44,.16),0 14px 30px rgba(132,35,30,.17)}}
body.quote-contact-modal-open{overflow:hidden}
.quote-contact-modal[hidden]{display:none!important}
.quote-contact-modal{position:fixed;inset:0;z-index:10060;display:grid;place-items:center;padding:24px}
.quote-contact-modal-backdrop{position:absolute;inset:0;border:0;background:rgba(16,24,36,.68);backdrop-filter:blur(3px);cursor:default}
.quote-contact-modal-dialog{
    position:relative;
    z-index:1;
    display:grid;
    grid-template-rows:auto minmax(0,1fr) auto;
    width:min(940px,calc(100vw - 40px));
    max-height:min(820px,calc(100dvh - 42px));
    overflow:hidden;
    border:1px solid #d6dee7;
    border-radius:20px;
    background:#fff;
    box-shadow:0 30px 90px rgba(8,15,24,.36)
}
.quote-contact-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 19px;border-bottom:1px solid #e4e9ef;background:linear-gradient(145deg,#1c2736,#29394d);color:#fff}
.quote-contact-modal-header>div>span{display:block;color:#ff9b55;font-size:.66rem;font-weight:950;letter-spacing:.09em}
.quote-contact-modal-header h2{margin:5px 0 5px;color:#fff;font-size:1.55rem;line-height:1.1}
.quote-contact-modal-header p{max-width:680px;margin:0;color:#d2dbe6;font-size:.82rem;line-height:1.5}
.quote-contact-modal-header>button{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border:1px solid rgba(255,255,255,.2);border-radius:11px;background:rgba(255,255,255,.08);color:#fff;font-size:1.55rem;line-height:1;cursor:pointer}
.quote-contact-modal-header>button:hover,.quote-contact-modal-header>button:focus-visible{border-color:#ff9b55;background:rgba(255,155,85,.15);outline:none}
.quote-contact-modal-body{display:grid;grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);gap:18px;padding:20px 22px;overflow:auto;background:#f7f9fb}
.quote-contact-modal-body>.alert{grid-column:1/-1;margin:0}
.quote-contact-configuration-summary{align-self:start;padding:16px;border:1px solid #d9e1e9;border-radius:14px;background:#fff;box-shadow:0 7px 18px rgba(25,39,56,.05)}
.quote-contact-configuration-summary>div:first-child>span{display:block;color:#e56c1b;font-size:.61rem;font-weight:950;letter-spacing:.07em}
.quote-contact-configuration-summary>div:first-child>strong{display:block;margin-top:3px;color:#263345;font-size:.88rem}
.quote-contact-configuration-summary>[data-quote-contact-summary]{display:grid;gap:8px;margin-top:13px}
.quote-contact-configuration-summary article{display:grid;grid-template-columns:30px minmax(0,1fr);gap:9px;align-items:center;padding:9px;border:1px solid #e5eaf0;border-radius:10px;background:#f9fbfc}
.quote-contact-configuration-summary article>span{display:grid;place-items:center;width:28px;height:28px;border-radius:8px;background:#1d2a3a;color:#fff;font-size:.72rem;font-weight:950}
.quote-contact-configuration-summary article strong,.quote-contact-configuration-summary article small{display:block}
.quote-contact-configuration-summary article strong{color:#243145;font-size:.75rem;line-height:1.25}
.quote-contact-configuration-summary article small{margin-top:2px;color:#718093;font-size:.64rem}
.quote-contact-configuration-summary article.is-advice>span{background:#e97818}
.quote-contact-fields-grid{align-content:start;gap:13px}
.quote-contact-fields-grid label{gap:5px}
.quote-contact-fields-grid input,.quote-contact-fields-grid textarea{background:#fff}
.quote-contact-modal-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 20px;border-top:1px solid #dfe5ec;background:#fff}
.quote-contact-modal-footer p{max-width:480px;margin:0;color:#6f7c8e;font-size:.7rem;line-height:1.4}
.quote-contact-modal-footer>div{display:flex;gap:9px;flex:0 0 auto}
.quote-contact-modal-footer .quote-submit-button{min-width:210px}

@media(max-width:820px){
    .quote-contact-launch-row{position:static;align-items:stretch;flex-direction:column;margin:14px 12px 16px}
    .quote-contact-launch-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
    .quote-config-validation{grid-template-columns:36px minmax(0,1fr);margin:14px 12px 0}
    .quote-config-validation .button{grid-column:1/-1;width:100%}
    .quote-contact-modal{padding:12px}
    .quote-contact-modal-dialog{width:100%;max-height:calc(100dvh - 24px);border-radius:16px}
    .quote-contact-modal-body{grid-template-columns:1fr;padding:16px}
    .quote-contact-configuration-summary{order:0}
    .quote-contact-fields-grid{order:1}
    .quote-contact-modal-footer{align-items:stretch;flex-direction:column}
    .quote-contact-modal-footer>div{display:grid;grid-template-columns:1fr 1fr;width:100%}
    .quote-contact-modal-footer .quote-submit-button{min-width:0}
}
@media(max-width:560px){
    .quote-contact-modal{padding:0;align-items:stretch}
    .quote-contact-modal-dialog{height:100dvh;max-height:100dvh;border:0;border-radius:0}
    .quote-contact-modal-header{padding:17px 16px 14px}
    .quote-contact-modal-header h2{font-size:1.28rem}
    .quote-contact-modal-header p{font-size:.75rem}
    .quote-contact-modal-body{padding:13px}
    .quote-contact-configuration-summary{padding:13px}
    .quote-contact-modal-footer{padding:12px 13px}
    .quote-contact-modal-footer p{display:none}
    .quote-contact-modal-footer>div{grid-template-columns:1fr}
    .quote-contact-launch-actions{grid-template-columns:1fr}
}

/* =========================================================
   Public quote machine added/edit/remove state
   ========================================================= */
.public-product-card-quote-actions,
.rds-product-quote-actions {
    display: inline-flex;
    min-width: 0;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
}

.public-product-card-quote-actions {
    justify-content: flex-end;
    margin-left: auto;
}

.public-quote-added-status {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 30px;
    padding: 5px 8px;
    border: 1px solid #a7d7b5;
    border-radius: 8px;
    color: #176a38;
    background: #eef8f1;
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
    white-space: nowrap;
}

.public-quote-added-status > span {
    display: grid;
    place-items: center;
    width: 17px;
    height: 17px;
    border-radius: 50%;
    color: #fff;
    background: #2c8a4d;
    font-size: 10px;
}

.public-product-card-quote-actions.is-added .public-product-card-quote-button {
    min-width: 74px;
    min-height: 34px;
    padding: 7px 10px;
    border-color: #e97818;
    color: #a84b0a;
    background: #fff8f1;
    box-shadow: none;
}

.public-product-card-quote-actions.is-added .public-product-card-quote-button:hover,
.public-product-card-quote-actions.is-added .public-product-card-quote-button:focus-visible {
    color: #fff;
    border-color: #d76209;
    background: #d76209;
}

.public-quote-card-remove {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 1px solid #e0a4a8;
    border-radius: 8px;
    color: #b91f2c;
    background: #fff;
    font-size: 17px;
    font-weight: 900;
    line-height: 1;
    cursor: pointer;
}

.public-quote-card-remove:hover,
.public-quote-card-remove:focus-visible {
    color: #fff;
    border-color: #b91f2c;
    background: #b91f2c;
    outline: none;
}

.rds-product-quote-actions {
    width: 100%;
}

.rds-product-quote-actions.is-added .rds-product-button.is-editing-quote {
    color: #a84b0a;
    border-color: #e97818;
    background: #fff8f1;
    box-shadow: none;
}

.rds-product-quote-actions.is-added .rds-product-button.is-editing-quote:hover,
.rds-product-quote-actions.is-added .rds-product-button.is-editing-quote:focus-visible {
    color: #fff;
    background: #e97818;
}

.public-quote-detail-remove {
    color: #a91e2a;
    border-color: #e1afb3;
    background: #fff;
    cursor: pointer;
}

.public-quote-detail-remove:hover,
.public-quote-detail-remove:focus-visible {
    color: #fff;
    border-color: #b91f2c;
    background: #b91f2c;
}

.site-basket-configuration-status {
    display: inline-flex;
    width: fit-content;
    margin-top: 5px;
    padding: 5px 7px;
    border-radius: 7px;
    color: #176a38 !important;
    background: #eaf7ee;
    font-size: 10px !important;
    font-weight: 850;
    line-height: 1.25;
}

@media (max-width: 620px) {
    .public-product-card-action-row {
        align-items: flex-start;
    }

    .public-product-card-quote-actions {
        max-width: 62%;
        gap: 5px;
    }

    .public-product-card-quote-actions .public-quote-added-status {
        min-height: 27px;
        padding: 4px 6px;
    }

    .rds-product-quote-actions {
        display: grid;
        grid-template-columns: 1fr auto;
    }

    .rds-product-quote-actions .public-quote-added-status {
        grid-column: 1 / -1;
        width: fit-content;
    }

    .rds-product-quote-actions .rds-product-button.is-editing-quote {
        width: 100%;
    }
}
.public-quote-added-status[hidden],
.public-quote-card-remove[hidden],
.public-quote-detail-remove[hidden],
.public-quote-control-add-icon[hidden],
.public-quote-control-edit-icon[hidden] {
    display: none !important;
}

/* Interactive modal safety: clicking outside a form must not discard the user's work. */
[data-rds-modal-attention] {
    animation: rds-modal-attention 0.48s ease-in-out;
}

@keyframes rds-modal-attention {
    0%, 100% {
        outline: 0 solid rgba(233, 120, 24, 0);
    }
    45% {
        outline: 4px solid rgba(233, 120, 24, 0.38);
        outline-offset: 2px;
        box-shadow: 0 0 0 3px rgba(233, 120, 24, 0.22), 0 22px 60px rgba(15, 23, 42, 0.26);
    }
}

@media (prefers-reduced-motion: reduce) {
    [data-rds-modal-attention] {
        animation: none;
        outline: 3px solid rgba(233, 120, 24, 0.45);
        outline-offset: 2px;
    }
}


/* Secure quotation customer selection: clearer rental offer, live monthly total and real accessory specifications. */
.quotation-selection-commercial.is-single{grid-template-columns:minmax(0,1fr)}
.quotation-commercial-option.is-fixed{width:100%}
.quotation-commercial-option.is-fixed .quotation-commercial-metrics{grid-template-columns:repeat(5,minmax(115px,1fr))}
.quotation-commercial-metrics>span.is-contract{border-color:#cfd9e4;background:#f5f8fb}
.quotation-commercial-metrics>span.is-primary{border-color:#ef9d61;background:#fff5ed;box-shadow:inset 0 0 0 1px rgba(235,112,33,.08)}
.quotation-commercial-metrics>span.is-primary small{color:#a94e0f}
.quotation-commercial-metrics>span.is-primary b{color:#9b4207;font-size:14px}
.quotation-commercial-metrics>span.is-page-charge{position:relative;overflow:hidden;padding-left:12px}
.quotation-commercial-metrics>span.is-page-charge::after{position:absolute;inset:0 auto 0 0;width:4px;content:""}
.quotation-commercial-metrics>span.is-page-charge small{display:flex;align-items:center;gap:6px}
.quotation-commercial-metrics>span.is-page-charge small::before{display:inline-grid;flex:0 0 auto;place-items:center;height:18px;min-width:18px;padding:0 5px;border-radius:999px;color:#fff;font-size:8px;font-weight:950;letter-spacing:.02em;line-height:1;box-shadow:0 2px 6px rgba(20,30,43,.16)}
.quotation-commercial-metrics>span.is-black-page{border-color:#ccd3dc;background:#f7f8fa}
.quotation-commercial-metrics>span.is-black-page::after{background:#202936}
.quotation-commercial-metrics>span.is-black-page small::before{content:"K";background:#202936}
.quotation-commercial-metrics>span.is-colour-page{border-color:#e5d8e2;background:#fff9fc}
.quotation-commercial-metrics>span.is-colour-page::after{background:linear-gradient(180deg,#00a8d8 0 33%,#d5327a 33% 66%,#efc72f 66% 100%)}
.quotation-commercial-metrics>span.is-colour-page small::before{content:"C M Y";min-width:39px;background:linear-gradient(90deg,#079fd0 0 33%,#cf2d78 33% 66%,#e8b919 66% 100%);text-shadow:0 1px 2px rgba(0,0,0,.5)}
.quotation-commercial-metrics>span.is-minimum-pages{background:#fbfcfd}
.quotation-selection-accessories label.quotation-accessory-option{min-height:92px;padding:13px 14px}
.quotation-selection-accessories label.quotation-accessory-option>span{grid-template-columns:54px minmax(0,1fr);gap:4px 10px}
.quotation-selection-accessories label.quotation-accessory-option img{grid-row:1/7;width:52px;height:48px}
.quotation-selection-accessories label.quotation-accessory-option b{overflow:visible;text-overflow:clip;white-space:normal;color:#17283d;font-size:14px;line-height:1.25}
.quotation-selection-accessories label.quotation-accessory-option .quotation-accessory-specification{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:3;color:#617188;font-size:11px;font-weight:650;line-height:1.38;white-space:normal}
.quotation-selection-accessories label.quotation-accessory-option>strong{padding:7px 9px;border-radius:9px;background:#f5f8fb;color:#1c2d42;font-size:13px}
.quotation-selection-accessories label.quotation-accessory-option.is-selected>strong{background:#fff0e5;color:#a84908}

/* Secure quotation: keep every quoted attachment visible to the customer. */
.quotation-selection-fixed{display:grid;gap:10px;margin-bottom:13px;padding:12px;border:1px solid #d6e0ea;border-radius:12px;background:#f4f7fa}
.quotation-selection-fixed>header{display:grid;gap:2px}
.quotation-selection-fixed>header strong{font-size:12px;color:#1c2d42}
.quotation-selection-fixed>header small{color:#68788d;font-size:10px;line-height:1.35}
.quotation-selection-fixed>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.quotation-fixed-accessory{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:9px 10px;border:1px solid #dce4ec;border-radius:10px;background:#fff}
.quotation-fixed-accessory.is-required-attachment{border-color:#efb082;background:#fff9f4}
.quotation-fixed-accessory>img{width:46px;height:42px;object-fit:contain;border-radius:7px;background:#f5f7f9}
.quotation-fixed-accessory>div{display:grid;gap:2px;min-width:0}
.quotation-fixed-accessory b{color:#17283d;font-size:12px}
.quotation-fixed-accessory small,.quotation-fixed-accessory em{color:#67778c;font-size:10px;font-style:normal;line-height:1.3}
.quotation-fixed-accessory>div>span{width:max-content;max-width:100%;margin-top:2px;padding:3px 6px;border-radius:999px;background:#e8eef4;color:#43546a;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.quotation-fixed-accessory.is-required-attachment>div>span{background:#fff0e4;color:#a94b0c}
.quotation-fixed-accessory>strong{white-space:nowrap;color:#263343;font-size:11px}
.quotation-accessory-included-items{grid-column:2;display:grid;gap:5px;margin-top:5px;padding:7px;border:1px solid #f0c39f;border-radius:9px;background:#fffaf6}
.quotation-accessory-included-items>span{color:#a44b0d;font-size:8px;font-weight:950;letter-spacing:.035em;text-transform:uppercase}
.quotation-selection-accessories .quotation-accessory-included-item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;gap:7px;align-items:center;padding:6px;border-radius:7px;background:#fff}
.quotation-selection-accessories .quotation-accessory-included-item>img{grid-row:auto;width:30px;height:28px;object-fit:contain;border-radius:5px;background:#f5f7f9}
.quotation-selection-accessories .quotation-accessory-included-item>p{display:grid;gap:1px;min-width:0;margin:0}
.quotation-selection-accessories .quotation-accessory-included-item p b,.quotation-selection-accessories .quotation-accessory-included-item p small,.quotation-selection-accessories .quotation-accessory-included-item p em{grid-column:auto;display:block;overflow:visible;text-overflow:clip;white-space:normal}
.quotation-selection-accessories .quotation-accessory-included-item p b{color:#213247;font-size:10px;line-height:1.2}
.quotation-selection-accessories .quotation-accessory-included-item p small,.quotation-selection-accessories .quotation-accessory-included-item p em{color:#6f7e91;font-size:8px;line-height:1.25}
.quotation-selection-accessories .quotation-accessory-included-item>strong{white-space:nowrap;color:#9c460b;font-size:9px}
.quotation-selection-accessories label.quotation-accessory-option>strong.quotation-accessory-package-total{display:grid;gap:2px;align-self:start;text-align:right}
.quotation-selection-accessories label.quotation-accessory-option>strong.quotation-accessory-package-total>small{grid-column:auto;color:#9c5b2e;font-size:7px;font-weight:900;letter-spacing:.035em;text-transform:uppercase}
.quotation-selection-accessories label.quotation-accessory-option>strong.quotation-accessory-package-total>span{color:inherit;font-size:13px;font-weight:900}
.quotation-live-rental-summary[hidden]{display:none!important}
.quotation-live-rental-summary{position:fixed;z-index:850;left:50%;bottom:2px;transform:translateX(-50%);display:grid;grid-template-columns:minmax(220px,.72fr) minmax(500px,1.5fr) minmax(270px,.72fr);gap:10px;align-items:center;width:min(1180px,calc(100vw - 24px));padding:9px 11px;border:1px solid #e98239;border-top:3px solid #ec7624;border-radius:15px;background:rgba(255,255,255,.985);box-shadow:0 14px 42px rgba(22,36,53,.22);backdrop-filter:blur(12px)}
.quotation-live-rental-summary:not(.has-rental-total){grid-template-columns:minmax(0,1fr) minmax(280px,.42fr)}
.quotation-live-rental-summary.has-multiple-totals{grid-template-columns:minmax(200px,.58fr) minmax(560px,1.62fr) minmax(260px,.7fr)}
.quotation-selection-public-page.has-quotation-rental-summary .quotation-selection-form{padding-bottom:132px}
.quotation-live-rental-intro{display:grid;gap:2px;min-width:0;padding:0 6px}
.quotation-live-rental-intro>span{color:#e66d1b;font-size:9px;font-weight:950;letter-spacing:.09em}
.quotation-live-rental-intro>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1b2b40;font-size:15px}
.quotation-live-rental-intro>small{color:#718095;font-size:10px;line-height:1.35}
.quotation-live-total-stack{display:grid;gap:7px;min-width:0}
.quotation-live-total-stack.has-multiple{grid-template-columns:repeat(2,minmax(0,1fr))}
.quotation-live-total-stack.has-multiple .quotation-live-rental-total{grid-template-columns:1fr}
.quotation-live-rental-total{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0;padding:0;border-radius:0;background:transparent;color:inherit}
.quotation-live-price-box{display:grid;gap:2px;min-width:0;padding:9px 12px;border-radius:11px;background:#1c2a3c;color:#fff}
.quotation-live-rental-total.is-one-time .quotation-live-price-box.is-without-vat{background:linear-gradient(135deg,#17314a,#1d425f)}
.quotation-live-price-box.is-with-vat{background:linear-gradient(135deg,#e96f20,#d95c12)}
.quotation-live-price-box>small{color:#ffb27c;font-size:8px;font-weight:950;letter-spacing:.07em}
.quotation-live-price-box.is-with-vat>small{color:rgba(255,255,255,.82)}
.quotation-live-price-box>strong{font-size:21px;line-height:1.05}
.quotation-live-price-box>strong em{color:rgba(255,255,255,.86);font-size:10px;font-style:normal;font-weight:750}
.quotation-live-price-box>span{display:none}
.quotation-selection-confirm{display:grid;grid-template-columns:32px minmax(0,1fr);grid-template-rows:auto auto;column-gap:9px;align-items:center;width:100%;min-height:58px;padding:8px 13px;border:1px solid #277b31;border-radius:12px;background:#3a963f;color:#fff;box-shadow:0 8px 20px rgba(42,128,50,.22);cursor:pointer;font:inherit;text-align:left;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.quotation-selection-confirm:hover{border-color:#1f6928;background:#2f8335;box-shadow:0 10px 24px rgba(42,128,50,.28);transform:translateY(-1px)}
.quotation-selection-confirm:focus-visible{outline:3px solid rgba(58,150,63,.3);outline-offset:3px}
.quotation-selection-confirm>span{grid-row:1/3;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.18);font-size:16px}
.quotation-selection-confirm>b{align-self:end;font-size:13px;line-height:1.2}
.quotation-selection-confirm>small{align-self:start;color:rgba(255,255,255,.84);font-size:9px;font-weight:750}
.quotation-selection-confirm.is-locked{border-color:#788494;background:#8a96a5;box-shadow:none;cursor:pointer;transform:none}
.quotation-selection-confirm.is-locked:hover{border-color:#687585;background:#7d8998;box-shadow:0 8px 18px rgba(50,61,76,.18)}
.quotation-accessory-group,.quotation-accessory-section{scroll-margin-top:120px;scroll-margin-bottom:150px}
.quotation-accessory-group.quotation-required-attention,.quotation-accessory-section.quotation-required-attention{animation:quotation-required-pulse .55s ease-in-out 3}
@keyframes quotation-required-pulse{
    0%,100%{box-shadow:0 0 0 0 rgba(235,112,33,0);background-color:inherit}
    50%{box-shadow:0 0 0 5px rgba(235,112,33,.34),0 10px 28px rgba(235,112,33,.18);background-color:#fff4e9}
}
@media(max-width:900px){
    .quotation-commercial-option.is-fixed .quotation-commercial-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}
    .quotation-live-rental-summary{grid-template-columns:minmax(190px,.65fr) minmax(430px,1.55fr) minmax(230px,.72fr);width:calc(100vw - 18px)}
    .quotation-live-rental-summary.has-multiple-totals{grid-template-columns:minmax(180px,.58fr) minmax(470px,1.65fr) minmax(220px,.72fr)}
    .quotation-live-total-stack.has-multiple{grid-template-columns:1fr}
    .quotation-live-total-stack.has-multiple .quotation-live-rental-total{grid-template-columns:repeat(2,minmax(0,1fr))}
    .quotation-selection-public-page.has-quotation-rental-summary .quotation-selection-form{padding-bottom:142px}
}
@media(max-width:700px){
    .quotation-commercial-option.is-fixed .quotation-commercial-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
    .quotation-selection-fixed>div{grid-template-columns:1fr}
    .quotation-live-rental-summary,.quotation-live-rental-summary:not(.has-rental-total){bottom:2px;grid-template-columns:minmax(0,1fr) minmax(180px,.7fr);gap:7px;width:calc(100vw - 10px);padding:8px 9px;border-radius:13px}
    .quotation-live-rental-intro{padding:0 3px}
    .quotation-live-rental-intro>small{display:none}
    .quotation-selection-confirm{grid-column:1/-1;min-height:52px}
    .quotation-live-rental-summary:not(.has-rental-total) .quotation-selection-confirm{grid-column:auto}
    .quotation-live-rental-total{padding:0}
    .quotation-live-price-box>strong{font-size:18px}
    .quotation-live-price-box>span{display:none}
    .quotation-selection-public-page.has-quotation-rental-summary .quotation-selection-form{padding-bottom:172px}
}
@media(max-width:520px){
    .quotation-commercial-option.is-fixed .quotation-commercial-metrics{grid-template-columns:1fr 1fr}
    .quotation-fixed-accessory{grid-template-columns:42px minmax(0,1fr)}
    .quotation-fixed-accessory>strong{grid-column:2;width:max-content}
    .quotation-accessory-included-items{grid-column:1/-1}
    .quotation-selection-accessories .quotation-accessory-included-item{grid-template-columns:28px minmax(0,1fr)}
    .quotation-selection-accessories .quotation-accessory-included-item>strong{grid-column:2;width:max-content}
    .quotation-commercial-metrics>span.is-minimum-pages{grid-column:1/-1}
    .quotation-selection-accessories label.quotation-accessory-option{grid-template-columns:auto minmax(0,1fr);align-items:start}
    .quotation-selection-accessories label.quotation-accessory-option>strong{grid-column:2;width:max-content;margin-top:3px}
    .quotation-live-rental-summary,.quotation-live-rental-summary:not(.has-rental-total){grid-template-columns:1fr;gap:7px}
    .quotation-live-rental-intro{text-align:center}
    .quotation-live-rental-intro>strong{font-size:13px}
    .quotation-live-rental-intro>span{font-size:8px}
    .quotation-live-total-stack.has-multiple{grid-template-columns:1fr}
    .quotation-live-rental-total{text-align:center}
    .quotation-selection-confirm,.quotation-live-rental-summary:not(.has-rental-total) .quotation-selection-confirm{grid-column:1}
    .quotation-selection-public-page.has-quotation-rental-summary .quotation-selection-form{padding-bottom:218px}
}
@media(prefers-reduced-motion:reduce){
    .quotation-accessory-group.quotation-required-attention,.quotation-accessory-section.quotation-required-attention{animation:none;outline:4px solid rgba(235,112,33,.42);outline-offset:3px;background:#fff4e9}
    .quotation-selection-confirm{transition:none}
}
@media print{
    .quotation-live-rental-summary{display:none!important}
    .quotation-selection-public-page.has-quotation-rental-summary .quotation-selection-form{padding-bottom:0}
}

/* Data Management inline Cost / Partner / Selling price editor. */
.product-data-table {
    min-width: 1420px;
}

.data-product-prices-cell {
    width: 500px;
    min-width: 500px;
}

.data-product-price-form {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.data-product-price-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(105px, 1fr));
    gap: 6px;
}

.data-product-price-grid > label {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.data-product-price-grid > label > span:first-child {
    color: #626b70;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.data-inline-currency {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    align-items: center;
    min-width: 0;
    border: 1px solid #d8dde0;
    border-radius: 8px;
    background: #fff;
    overflow: hidden;
    transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}

.data-inline-currency:focus-within {
    border-color: #e8792e;
    box-shadow: 0 0 0 3px rgba(232, 121, 46, .14);
}

.data-inline-currency > b {
    display: grid;
    place-items: center;
    align-self: stretch;
    border-right: 1px solid #e5e8ea;
    background: #f5f6f7;
    color: #6d757a;
    font-size: 10px;
}

.data-inline-currency input {
    width: 100%;
    min-width: 0;
    height: 34px;
    padding: 6px 7px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #202427;
    font-size: 11px;
    font-weight: 800;
    box-shadow: none;
}

.data-inline-currency input:focus {
    outline: 0;
    box-shadow: none;
}

.data-inline-currency:has(input.is-changed) {
    border-color: #e8792e;
    background: #fffaf6;
}

.data-price-margin-base,
.data-price-margin-row {
    min-height: 25px;
    border: 1px solid transparent;
    border-radius: 7px;
    font-size: 8px;
    line-height: 1.2;
}

.data-price-margin-base {
    display: flex;
    align-items: center;
    padding: 4px 6px;
    color: #899197;
    font-weight: 750;
}

.data-price-margin-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 5px;
    padding: 4px 6px;
    border-color: #e4e7e9;
    background: #f6f7f8;
    color: #697278;
    transition: border-color .16s ease, background .16s ease, color .16s ease;
}

.data-price-margin-row > span {
    min-width: 0;
    overflow: hidden;
    font-weight: 900;
    letter-spacing: .025em;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.data-price-margin-row > strong {
    flex: 0 0 auto;
    color: inherit;
    font-size: 8.5px;
    font-weight: 950;
    white-space: nowrap;
}

.data-price-margin-row.positive {
    border-color: #c9e7d5;
    background: #edf8f1;
    color: #206b42;
}

.data-price-margin-row.negative,
.data-price-margin-row.invalid {
    border-color: #f0c7c3;
    background: #fff1ef;
    color: #a62c23;
}

.data-price-margin-row.neutral {
    border-color: #dfe3e5;
    background: #f4f5f6;
    color: #687177;
}

.data-price-margin-row.incomplete {
    border-color: #efd9c5;
    background: #fff8f1;
    color: #9a5a28;
}

.data-product-price-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-height: 28px;
}

.data-product-price-message {
    flex: 1 1 auto;
    min-width: 0;
    color: #667078;
    font-size: 9px;
    font-weight: 750;
    line-height: 1.25;
}

.data-product-price-message.success {
    color: #237247;
}

.data-product-price-message.error {
    color: #b42318;
}

.data-price-save-button {
    min-width: 92px;
    justify-content: center;
}

.data-product-price-form.is-dirty .data-price-save-button:not(:disabled) {
    border-color: #d85f1d;
    background: #e8792e;
    color: #fff;
}

.data-price-save-button:disabled {
    opacity: .52;
    cursor: not-allowed;
}

.product-data-table tr.data-price-row-dirty > td {
    background: #fffaf4;
}

.product-data-table tr.data-price-row-dirty > td:first-child {
    box-shadow: inset 4px 0 0 #e8792e;
}

.product-data-table tr.data-price-review-flash > td {
    animation: data-price-review-flash .52s ease-in-out 3;
}

@keyframes data-price-review-flash {
    0%, 100% {
        background: #fffaf4;
        box-shadow: inset 0 0 0 0 rgba(232, 121, 46, 0);
    }
    50% {
        background: #fff0e3;
        box-shadow: inset 0 0 0 3px rgba(232, 121, 46, .72);
    }
}

.data-product-price-form.is-saved {
    animation: data-price-saved .55s ease;
}

@keyframes data-price-saved {
    0% { opacity: .68; }
    100% { opacity: 1; }
}

.data-price-unsaved-notice {
    position: fixed;
    left: 50%;
    bottom: 18px;
    z-index: 1050;
    display: flex;
    align-items: center;
    gap: 12px;
    width: min(780px, calc(100vw - 34px));
    padding: 10px 11px;
    border: 1px solid #df6e2a;
    border-radius: 14px;
    background: #202a38;
    color: #fff;
    box-shadow: 0 18px 46px rgba(19, 29, 43, .26);
    transform: translateX(-50%);
}

.data-price-unsaved-notice[hidden] {
    display: none;
}

.data-price-unsaved-review {
    display: flex;
    flex: 1 1 auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.data-price-unsaved-icon,
.data-price-leave-icon {
    display: grid;
    place-items: center;
    flex: 0 0 auto;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #e8792e;
    color: #fff;
    font-size: 18px;
    font-weight: 950;
}

.data-price-unsaved-review strong,
.data-price-unsaved-review small {
    display: block;
}

.data-price-unsaved-review strong {
    color: #fff;
    font-size: 12px;
}

.data-price-unsaved-review small {
    margin-top: 2px;
    color: #cbd4df;
    font-size: 10px;
    line-height: 1.35;
}

.data-price-unsaved-notice > .button {
    flex: 0 0 auto;
    border-color: rgba(255,255,255,.35);
    background: #fff;
    color: #1e2938;
}

body.has-data-price-unsaved .data-management-page {
    padding-bottom: 92px;
}

.data-price-leave-dialog {
    width: min(600px, calc(100vw - 28px));
    padding: 0;
    border: 0;
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 28px 80px rgba(20, 25, 31, .32);
}

.data-price-leave-dialog::backdrop {
    background: rgba(20, 24, 30, .58);
}

.data-price-leave-dialog > form {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 14px;
    padding: 21px;
}

.data-price-leave-kicker {
    color: #d85f1d;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .085em;
}

.data-price-leave-dialog h2 {
    margin: 4px 0 7px;
    color: #20272f;
    font-size: 20px;
}

.data-price-leave-dialog p {
    margin: 0;
    color: #66717b;
    font-size: 12px;
    line-height: 1.5;
}

.data-price-leave-actions {
    grid-column: 1 / -1;
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 4px;
}

@media (max-width: 760px) {
    .data-product-prices-cell {
        width: 455px;
        min-width: 455px;
    }

    .data-product-price-grid {
        grid-template-columns: repeat(3, minmax(118px, 1fr));
    }

    .data-price-unsaved-notice {
        align-items: stretch;
        flex-direction: column;
    }

    .data-price-unsaved-notice > .button {
        width: 100%;
    }

    .data-price-leave-dialog > form {
        grid-template-columns: 38px minmax(0, 1fr);
        padding: 17px;
    }

    .data-price-leave-actions {
        flex-direction: column;
    }

    .data-price-leave-actions .button {
        width: 100%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .product-data-table tr.data-price-review-flash > td,
    .data-product-price-form.is-saved {
        animation: none;
    }
}

/* Quotation workflow notifications */
.portal-notification-nav-link{position:relative}.portal-notification-count{margin-left:auto;min-width:1.55rem;height:1.55rem;padding:0 .38rem;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:#e96f20;color:#fff;font-size:.72rem;line-height:1;font-weight:900;box-shadow:0 0 0 3px rgba(233,111,32,.14)}
.portal-notifications-page{max-width:1180px}.portal-notification-list{display:grid;gap:.75rem}.portal-notification-item{margin:0}.portal-notification-item button{width:100%;border:1px solid #d8e0e8;border-radius:14px;background:#fff;padding:1rem 1.1rem;display:grid;grid-template-columns:auto 1fr auto;gap:.9rem;text-align:left;align-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(25,38,54,.05)}.portal-notification-item button>span:nth-child(2){display:grid;gap:.25rem}.portal-notification-item strong{font-size:1rem;color:#17202b}.portal-notification-item small{font-size:.9rem;color:#586879}.portal-notification-item time{font-size:.75rem;color:#7b8795}.portal-notification-dot{width:.68rem;height:.68rem;border-radius:50%;background:#c4ccd5}.portal-notification-item.is-unread button{border-color:#efb087;background:#fffaf6}.portal-notification-item.is-unread .portal-notification-dot{background:#e96f20;box-shadow:0 0 0 5px rgba(233,111,32,.13)}.portal-notification-item.is-read{opacity:.78}
.quotation-selection-contact label small{font-weight:600;color:#758291;margin-left:.3rem}.quotation-selection-submitted-message small{display:block;margin-top:1rem;color:#667386}

/* Secure final quotation approval */
.quotation-approval-public-page{background:#f1f4f7}.quotation-approval-hero{max-width:1500px;margin:1.5rem auto;display:flex;justify-content:space-between;gap:2rem;align-items:center;background:#fff;border:1px solid #dbe2e9;border-radius:18px;padding:1.4rem 1.6rem;box-shadow:0 12px 34px rgba(24,38,55,.08)}.quotation-approval-hero span,.quotation-approval-summary>header>span,.quotation-approval-response-card>span{font-size:.73rem;letter-spacing:.13em;color:#e86f20;font-weight:900}.quotation-approval-hero h1{margin:.3rem 0}.quotation-approval-hero aside{text-align:right}.quotation-approval-hero aside>*{display:block}.quotation-approval-layout{max-width:1500px;margin:0 auto 3rem;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(340px,.75fr);gap:1.25rem;align-items:start}.quotation-approval-summary,.quotation-approval-response-card{background:#fff;border:1px solid #dbe2e9;border-radius:18px;padding:1.4rem;box-shadow:0 12px 34px rgba(24,38,55,.07)}.quotation-approval-machine{border:1px solid #e1e6eb;border-radius:14px;padding:1rem;margin-top:1rem}.quotation-approval-machine>div{display:flex;gap:1rem;align-items:center}.quotation-approval-machine img{width:92px;height:92px;object-fit:contain}.quotation-approval-machine span{display:grid;gap:.2rem}.quotation-approval-machine small{color:#e86f20;font-weight:800}.quotation-approval-machine em{font-style:normal;color:#687687}.quotation-approval-machine ul{display:flex;flex-wrap:wrap;gap:.5rem;margin:.8rem 0 0;padding:0;list-style:none}.quotation-approval-machine li{background:#f4f6f8;border-radius:8px;padding:.45rem .65rem;display:flex;gap:.4rem}.quotation-approval-totals{display:grid;gap:.65rem;margin-top:1rem}.quotation-approval-totals>div{display:flex;justify-content:space-between;align-items:center;background:#17202b;color:#fff;padding:1rem;border-radius:12px}.quotation-approval-totals strong{font-size:1.35rem}.quotation-approval-totals small{font-size:.75rem}.quotation-approval-documents{margin-top:1.2rem}.quotation-approval-documents .button{margin:.25rem .35rem .25rem 0}.quotation-approval-response-card{position:sticky;top:1rem}.quotation-approval-response-card form{display:grid;gap:.8rem}.quotation-approval-response-card label:not(.quotation-approval-terms){display:grid;gap:.35rem;font-weight:800}.quotation-approval-response-card input,.quotation-approval-response-card textarea{width:100%}.quotation-approval-terms{display:flex;gap:.65rem;align-items:flex-start;padding:.85rem;background:#f3f7f1;border:1px solid #c9ddc2;border-radius:10px}.quotation-approval-terms input{width:auto;margin-top:.2rem}.quotation-approval-actions{display:grid;gap:.55rem}.quotation-accept-button{background:#4f9b38!important;border-color:#4f9b38!important;color:#fff!important}.quotation-change-button{background:#e86f20!important;border-color:#e86f20!important;color:#fff!important}.quotation-decline-button{background:#fff!important;border-color:#bd4040!important;color:#a32d2d!important}@media(max-width:900px){.quotation-approval-hero{display:block}.quotation-approval-hero aside{text-align:left;margin-top:.8rem}.quotation-approval-layout{grid-template-columns:1fr}.quotation-approval-response-card{position:static}}

/* Final quotation workflow */
.quotation-workflow-inline-action{margin-top:.75rem}.quotation-final-offer-workflow-card,.quotation-workflow-timeline-card{margin:1rem 0;background:#fff;border:1px solid #d9e1e8;border-radius:17px;box-shadow:0 10px 28px rgba(25,38,54,.06);overflow:hidden}.quotation-final-offer-workflow-card>header{display:grid;grid-template-columns:minmax(0,1fr) minmax(520px,1.1fr);gap:1.2rem;padding:1.2rem 1.3rem;background:linear-gradient(135deg,#17202b,#253547);color:#fff}.quotation-final-offer-workflow-card>header span,.quotation-workflow-timeline-card>header span{color:#f3985c;font-size:.72rem;font-weight:900;letter-spacing:.12em}.quotation-final-offer-workflow-card h2,.quotation-workflow-timeline-card h2{margin:.25rem 0}.quotation-final-offer-workflow-card>header p{margin:.3rem 0 0;color:#d3dce5}.quotation-final-offer-create-form{display:grid;grid-template-columns:1fr 1fr 150px auto;gap:.65rem;align-items:end}.quotation-final-offer-create-form label{display:grid;gap:.3rem;font-size:.76rem;font-weight:800}.quotation-final-offer-create-form input,.quotation-final-offer-create-form select{min-width:0}.quotation-final-offer-list{display:grid;gap:.9rem;padding:1rem}.quotation-final-offer-item{border:1px solid #dfe5eb;border-radius:14px;padding:1rem;display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:.8rem;align-items:center}.quotation-final-offer-item>header{display:grid;gap:.17rem}.quotation-final-offer-item>header>span{color:#e86f20;font-size:.7rem;font-weight:900;letter-spacing:.1em}.quotation-final-offer-item>header>strong{font-size:1.05rem}.quotation-final-offer-item>header>small{color:#6b7887}.quotation-final-offer-totals{display:flex;flex-wrap:wrap;gap:.45rem}.quotation-final-offer-totals span{background:#f2f5f7;border-radius:8px;padding:.5rem .65rem;display:grid;font-size:.73rem}.quotation-final-offer-totals b{font-size:.95rem}.quotation-final-offer-documents{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.35rem}.quotation-final-offer-resend-form{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.45rem}.quotation-final-offer-resend-form input{max-width:320px}.quotation-final-offer-accepted{grid-column:1/-1;background:#edf7ea;border:1px solid #b9d9ae;border-radius:10px;padding:.75rem;display:flex;gap:.8rem;align-items:center;flex-wrap:wrap;color:#2f6624}.quotation-final-offer-response-notes{grid-column:1/-1;background:#fff7ee;border-radius:10px;padding:.75rem;margin:0}.quotation-final-offer-item.status-accepted{border-color:#8fc27e;box-shadow:0 0 0 3px rgba(79,155,56,.08)}.quotation-final-offer-item.status-declined{border-color:#d8a3a3}.quotation-final-offer-item.status-changes-requested{border-color:#efb181}.quotation-workflow-timeline-card>header{padding:1rem 1.25rem;border-bottom:1px solid #e1e6eb}.quotation-workflow-timeline{padding:1rem 1.3rem}.quotation-workflow-timeline article{display:grid;grid-template-columns:18px 1fr;gap:.8rem;position:relative;padding-bottom:1.1rem}.quotation-workflow-timeline article:not(:last-child):before{content:"";position:absolute;left:6px;top:15px;bottom:0;width:2px;background:#dce3e9}.quotation-workflow-timeline i{width:14px;height:14px;border-radius:50%;background:#e86f20;box-shadow:0 0 0 4px #fde9dc;margin-top:.2rem;z-index:1}.quotation-workflow-timeline article div{display:grid;gap:.2rem}.quotation-workflow-timeline p{margin:0;color:#526274}.quotation-workflow-timeline small{color:#7b8794}.quotation-final-selection-links article.is-inactive>div>span{background:#687687!important}.quotation-final-selection-links article:has(div>span:first-child){position:relative}
@media(max-width:1180px){.quotation-final-offer-workflow-card>header{grid-template-columns:1fr}.quotation-final-offer-create-form{grid-template-columns:1fr 1fr}.quotation-final-offer-item{grid-template-columns:1fr}.quotation-final-offer-documents{justify-content:flex-start}.quotation-final-offer-resend-form{justify-content:flex-start}}
@media(max-width:680px){.quotation-final-offer-create-form{grid-template-columns:1fr}.quotation-final-offer-item{padding:.8rem}.quotation-final-offer-resend-form{display:grid}.quotation-final-offer-resend-form input{max-width:none}}


/* Accepted quotation orders keep one-off and recurring totals visually separate. */
.accepted-order-price-line { display: block; white-space: nowrap; }
.accepted-order-price-line + .accepted-order-price-line { margin-top: .28rem; }
.accepted-quotation-split-totals { align-items: stretch; }
.accepted-quotation-split-totals .order-total-card small { font-size: .62em; font-weight: 800; }


/* =========================================================
   Public quote basket: grouped machine configurations
   ========================================================= */
.site-basket-drawer,
.site-basket-items {
    min-width: 0;
}

.site-basket-items {
    overflow-x: hidden;
}

.site-basket-line.site-basket-machine-group {
    display: block;
    padding: 0;
    overflow: hidden;
}

.site-basket-machine-main {
    position: relative;
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr) 60px;
    gap: 10px;
    align-items: center;
    padding: 10px 38px 8px 10px;
}

.site-basket-machine-configuration {
    min-width: 0;
    padding: 0 10px 10px;
}

.site-basket-machine-configuration:empty {
    display: none;
}

.site-basket-machine-configuration .site-basket-configuration-status {
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    padding: 7px 9px;
    overflow: visible;
    white-space: normal;
    text-overflow: clip;
}

.site-basket-machine-configuration .site-basket-configure-note {
    width: 100%;
    box-sizing: border-box;
    margin-top: 0;
    padding: 7px 9px;
    border-radius: 8px;
    background: #fff6ed;
    white-space: normal;
}

.site-basket-machine-details {
    border-top: 1px solid #e4e9ee;
    background: #fbfcfd;
}

.site-basket-machine-details > summary {
    display: grid;
    grid-template-columns: 27px minmax(0, 1fr) 24px;
    gap: 9px;
    align-items: center;
    padding: 10px 11px;
    color: #253143;
    cursor: pointer;
    list-style: none;
    user-select: none;
}

.site-basket-machine-details > summary::-webkit-details-marker {
    display: none;
}

.site-basket-machine-details > summary:hover,
.site-basket-machine-details > summary:focus-visible {
    background: #fff7f0;
    outline: none;
}

.site-basket-machine-details-icon {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 50%;
    color: #fff;
    background: #2f8a51;
    font-size: 12px;
    font-weight: 950;
}

.site-basket-machine-details-copy {
    min-width: 0;
}

.site-basket-machine-details-copy strong,
.site-basket-machine-details-copy small {
    display: block;
}

.site-basket-machine-details-copy strong {
    overflow: hidden;
    color: #263244;
    font-size: 11px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-basket-machine-details-copy small {
    margin-top: 2px;
    color: #e36c18;
    font-size: 9px;
    font-weight: 850;
}

.site-basket-details-hide-label {
    display: none !important;
}

.site-basket-machine-details[open] .site-basket-details-view-label {
    display: none !important;
}

.site-basket-machine-details[open] .site-basket-details-hide-label {
    display: block !important;
}

.site-basket-machine-details-chevron {
    display: grid;
    place-items: center;
    width: 24px;
    height: 24px;
    border-radius: 7px;
    color: #5d6877;
    background: #edf1f5;
    font-size: 17px;
    font-weight: 900;
    transition: transform .16s ease;
}

.site-basket-machine-details[open] .site-basket-machine-details-chevron {
    transform: rotate(180deg);
}

.site-basket-machine-details-list {
    display: grid;
    gap: 7px;
    min-width: 0;
    padding: 0 9px 10px;
}

.site-basket-compact-accessory {
    position: relative;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) auto 25px;
    gap: 8px;
    align-items: center;
    min-width: 0;
    padding: 7px;
    border: 1px solid #e0e6ec;
    border-radius: 10px;
    background: #fff;
}

.site-basket-compact-accessory.is-required {
    border-color: #b9dbc3;
    background: #f4fbf6;
}

.site-basket-compact-accessory-image {
    display: grid;
    place-items: center;
    width: 42px;
    height: 40px;
    overflow: hidden;
    border-radius: 8px;
    color: #9aa3ae;
    background: #f5f7f9;
    font-size: 8px;
    font-weight: 850;
}

.site-basket-compact-accessory-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.site-basket-compact-accessory-copy {
    min-width: 0;
}

.site-basket-compact-accessory-copy small,
.site-basket-compact-accessory-copy strong,
.site-basket-compact-accessory-copy span {
    display: block;
    min-width: 0;
}

.site-basket-compact-accessory-copy small {
    overflow: hidden;
    color: #7b8796;
    font-size: 8px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-basket-compact-accessory-copy strong {
    margin-top: 1px;
    overflow: hidden;
    color: #1f2a39;
    font-size: 11px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.site-basket-compact-accessory-copy span {
    display: -webkit-box;
    margin-top: 2px;
    overflow: hidden;
    color: #687689;
    font-size: 9px;
    line-height: 1.3;
    white-space: normal;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.site-basket-compact-accessory-badge {
    max-width: 72px;
    padding: 5px 6px;
    border-radius: 7px;
    color: #9a4a12;
    background: #fff1e5;
    font-size: 8px;
    font-weight: 900;
    line-height: 1.2;
    text-align: center;
}

.site-basket-compact-accessory-badge.is-required {
    color: #176a38;
    background: #e7f6eb;
}

.site-basket-compact-accessory-remove {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    padding: 0;
    border: 0;
    border-radius: 7px;
    color: #a33c3c;
    background: #fff1f1;
    font-size: 17px;
    line-height: 1;
    cursor: pointer;
}

.site-basket-compact-accessory-remove:hover,
.site-basket-compact-accessory-remove:focus-visible {
    color: #fff;
    background: #bd2732;
    outline: none;
}

@media (max-width: 430px) {
    .site-basket-machine-main {
        grid-template-columns: 56px minmax(0, 1fr) 52px;
        gap: 8px;
        padding-left: 8px;
    }

    .site-basket-machine-main .site-basket-line-image {
        width: 56px;
        height: 58px;
    }

    .site-basket-machine-main .site-basket-line-quantity input {
        width: 50px;
    }

    .site-basket-compact-accessory {
        grid-template-columns: 40px minmax(0, 1fr) 25px;
    }

    .site-basket-compact-accessory-image {
        width: 40px;
        height: 38px;
    }

    .site-basket-compact-accessory-badge {
        grid-column: 2;
        justify-self: start;
        max-width: none;
    }

    .site-basket-compact-accessory-remove {
        grid-column: 3;
        grid-row: 1 / span 2;
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-basket-machine-details-chevron {
        transition: none;
    }
}


/* Staff quotation details: make the submitted customer configuration the primary view. */
.quotation-details-main-column{min-width:0;display:grid;gap:16px}
.quotation-original-offer-sheet.is-hidden{display:none}
.quotation-customer-selected-sheet{border-top-color:#2f9d57}
.quotation-selected-status-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;margin:-8px -8px 20px;padding:18px 20px;border:1px solid #bfe2ca;border-radius:13px;background:linear-gradient(135deg,#f2fbf5,#fff)}
.quotation-selected-status-banner>div:first-child{min-width:0}
.quotation-selected-status-banner span,.quotation-selected-status-banner h2,.quotation-selected-status-banner p{display:block}
.quotation-selected-status-banner>div:first-child>span{color:#237542;font-size:.76rem;font-weight:900;letter-spacing:.09em}
.quotation-selected-status-banner h2{margin:5px 0 5px;font-size:1.22rem;color:#1f2b3a}
.quotation-selected-status-banner p{margin:0;max-width:760px;color:#5c697a;line-height:1.45}
.quotation-selected-submission-meta{flex:0 0 auto;display:flex;flex-direction:column;gap:3px;min-width:190px;padding:12px 14px;border-radius:10px;background:#203044;color:#fff}
.quotation-selected-submission-meta small{color:#9fd8b1;font-size:.68rem;font-weight:900;letter-spacing:.08em}
.quotation-selected-submission-meta strong{font-size:.95rem}
.quotation-selected-submission-meta span{color:#dce5ee;font-size:.82rem}
.quotation-selected-contact-card{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.quotation-selected-contact-card>div{display:flex;flex-direction:column;gap:3px;padding:13px 14px;border:1px solid #e0e6ec;border-radius:10px;background:#f8fafb}
.quotation-selected-contact-card small{color:#e36a1c;font-size:.7rem;font-weight:900;letter-spacing:.07em}
.quotation-selected-contact-card strong{font-size:1rem;color:#202b39}
.quotation-selected-contact-card span{color:#687587;font-size:.84rem}
.quotation-selected-machine{margin-top:18px;border:1px solid #dbe3e9;border-radius:13px;overflow:hidden;background:#fff}
.quotation-selected-machine>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:15px 17px;background:#243143;color:#fff}
.quotation-selected-machine>header small{display:block;color:#91d3a6;font-size:.7rem;font-weight:900;letter-spacing:.08em}
.quotation-selected-machine>header h2{margin:3px 0 7px;font-size:1.18rem}
.quotation-selected-machine>header>strong{white-space:nowrap}
.quotation-selected-commercial-badge{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf8ef;color:#1f7340;font-size:.76rem;font-weight:900}
.quotation-selected-machine-body{display:grid;grid-template-columns:155px minmax(0,1fr);gap:16px;padding:16px}
.quotation-selected-machine-body.no-picture{grid-template-columns:1fr}
.quotation-selected-machine-image{display:grid;place-items:center;min-height:145px;border:1px solid #e5e9ee;border-radius:10px;background:#fff}
.quotation-selected-machine-image img{max-width:100%;max-height:155px;object-fit:contain}
.quotation-selected-commercial-card{border:1px solid #e0e5ea;border-radius:10px;overflow:hidden}
.quotation-selected-commercial-card h3{margin:0;padding:10px 12px;background:#fff3e9;color:#c55511;font-size:1rem}
.quotation-selected-commercial-card>div{display:flex;justify-content:space-between;gap:14px;padding:8px 11px;border-top:1px solid #e8ebef;font-size:.84rem}
.quotation-selected-commercial-card>div.total{background:#f2f7f4;color:#1f6238;font-weight:900}
.quotation-selected-accessories{margin:0 16px 16px;border:1px solid #e0e6eb;border-radius:10px;overflow:hidden}
.quotation-selected-accessories>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;background:#f6f8fa}
.quotation-selected-accessories h3{margin:0;font-size:.95rem}
.quotation-selected-accessories>header>span{display:grid;place-items:center;min-width:27px;height:27px;border-radius:999px;background:#eaf8ef;color:#237542;font-size:.76rem;font-weight:900}
.quotation-selected-accessories>p{margin:0;padding:14px;color:#6b7788}
.quotation-selected-accessory-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:10px 12px;border-top:1px solid #e8ebef}
.quotation-selected-accessory-row>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.quotation-selected-accessory-row small{color:#6c7889;line-height:1.35}
.quotation-selected-accessory-row em{color:#267444;font-size:.76rem;font-style:normal;font-weight:800}
.quotation-selected-accessory-row>strong{white-space:nowrap;color:#1e6339}
.quotation-selected-customer-notes{margin-top:18px;padding:14px 16px;border-left:4px solid #e97022;background:#fff8f2}
.quotation-selected-customer-notes small{color:#bf5617;font-size:.7rem;font-weight:900;letter-spacing:.08em}
.quotation-selected-customer-notes p{margin:5px 0 0;white-space:pre-line;color:#465467}
.quotation-selected-totals{margin-top:18px}
.quotation-original-offer-toggle{display:flex;justify-content:center}
.quotation-original-offer-toggle .button{display:flex;flex-direction:column;align-items:center;gap:2px;width:min(100%,520px);padding:12px 18px;border-color:#ccd5df;background:#fff;color:#263447}
.quotation-original-offer-toggle .button small{font-weight:600;color:#718093}
.quotation-original-offer-sheet{border-top-color:#8b96a5;scroll-margin-top:18px}
.quotation-original-offer-sheet:before{content:"ORIGINAL OFFERED OPTIONS";display:block;margin:-10px 0 14px;color:#6d7887;font-size:.72rem;font-weight:900;letter-spacing:.09em}
@media(max-width:760px){
  .quotation-selected-status-banner{flex-direction:column;margin:-4px -4px 16px;padding:15px}
  .quotation-selected-submission-meta{width:100%;min-width:0}
  .quotation-selected-contact-card,.quotation-selected-machine-body{grid-template-columns:1fr}
  .quotation-selected-accessory-row{grid-template-columns:1fr;gap:6px}
  .quotation-selected-accessory-row>strong{white-space:normal}
}


/* Customer-selection proposal accessory mode */
.quotation-picker-accessory-mode{display:grid;grid-template-columns:repeat(2,minmax(240px,1fr));gap:10px;align-items:stretch;padding:10px 22px;border-bottom:1px solid #e5e9ef;background:#f7f9fc}
.quotation-picker-accessory-mode[hidden]{display:none!important}
.quotation-picker-accessory-mode>div{display:flex;flex-direction:column;justify-content:center;gap:3px;padding-right:5px}
.quotation-picker-accessory-mode>div strong{color:#202a38;font-size:.9rem}
.quotation-picker-accessory-mode>label{position:relative;display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:9px;align-items:center;min-height:54px;padding:8px 11px;border:1px solid #d5dce5;border-radius:10px;background:#fff;cursor:pointer}
.quotation-picker-accessory-mode>label:hover{border-color:#e57932;background:#fffaf6}
.quotation-picker-accessory-mode>label:has(input:checked){border-color:#e57932;box-shadow:0 0 0 2px rgba(229,121,50,.12);background:#fff8f2}
.quotation-picker-accessory-mode input{width:18px;height:18px;accent-color:#e57932}
.quotation-picker-accessory-mode span,.quotation-picker-accessory-mode b,.quotation-picker-accessory-mode small{display:block}
.quotation-picker-accessory-mode b{color:#202a38;font-size:.8rem}
.quotation-picker-accessory-mode small{margin-top:2px;color:#6b788a;font-size:.68rem;line-height:1.35}
.quotation-picker-accessory-mode em{align-self:start;padding:3px 6px;border-radius:999px;background:#e8f5ec;color:#247442;font-size:.59rem;font-style:normal;font-weight:900;text-transform:uppercase}
.quotation-product-picker-row.is-existing-choice{border-color:#a8c3d8;background:#f5f9fc}
.quotation-product-picker-row.is-existing-choice:not(.is-selected){opacity:.72}
.quotation-installation-rules-info{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:0 0 14px;padding:12px 14px;border:1px solid #9ec4e2;border-left:4px solid #315f82;border-radius:10px;background:#f1f7fb;color:#31506a}
.quotation-installation-rules-info strong{white-space:nowrap;font-size:.86rem}
.quotation-installation-rules-info span{font-size:.76rem;line-height:1.45;text-align:right}
@media(max-width:900px){.quotation-picker-accessory-mode{grid-template-columns:1fr}.quotation-picker-accessory-mode>div{padding-right:0}.quotation-installation-rules-info{align-items:flex-start;flex-direction:column}.quotation-installation-rules-info span{text-align:left}}

/* Accessory picker cleanup: selection only; pricing is configured after selection. */
.quotation-picker-accessory-row{grid-template-columns:28px 74px minmax(0,1fr)}
@media(max-width:760px){.quotation-picker-accessory-row{grid-template-columns:24px 58px minmax(0,1fr)}}

/* Final installed configuration: purchase-proposal total presentation. */
.quotation-picker-final-total-mode{grid-column:1/-1;display:flex;align-items:center;justify-content:flex-end;gap:8px;min-height:38px;padding:7px 10px;border:1px solid #dfe5ec;border-radius:9px;background:#fff}
.quotation-picker-final-total-mode[hidden]{display:none!important}
.quotation-picker-final-total-mode>strong{margin-right:auto;color:#4c596b;font-size:.72rem;text-transform:uppercase;letter-spacing:.045em}
.quotation-picker-final-total-mode>label{display:flex;align-items:center;gap:6px;padding:6px 10px;border:1px solid #d7dee7;border-radius:999px;background:#f8fafc;color:#344155;font-size:.75rem;font-weight:850;cursor:pointer}
.quotation-picker-final-total-mode>label:hover{border-color:#e57932;background:#fffaf6}
.quotation-picker-final-total-mode>label:has(input:checked){border-color:#e57932;background:#fff3e9;color:#9d4310;box-shadow:0 0 0 2px rgba(229,121,50,.10)}
.quotation-picker-final-total-mode input{width:15px;height:15px;margin:0;accent-color:#e57932}
@media(max-width:760px){.quotation-picker-final-total-mode{align-items:stretch;flex-wrap:wrap;justify-content:flex-start}.quotation-picker-final-total-mode>strong{width:100%}.quotation-picker-final-total-mode>label{flex:1;justify-content:center}}

/* Explicit English / Greek quotation PDF downloads. */
.quotation-pdf-language-group{
    display:grid;
    gap:6px;
    width:100%;
    padding:7px;
    border:1px solid #d8dee6;
    border-radius:10px;
    background:#f8fafc;
    box-shadow:0 2px 7px rgba(29,36,48,.08)
}
.quotation-pdf-variant-label{
    display:block;
    overflow:hidden;
    color:#334155;
    font-size:.7rem;
    font-weight:850;
    line-height:1.15;
    text-align:center;
    text-overflow:ellipsis
}
.quotation-pdf-language-buttons{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}
.quotation-details-action-bar .quotation-pdf-language-button{
    width:100%;
    min-width:0;
    min-height:30px;
    padding:4px 5px;
    border-radius:7px;
    font-size:.72rem;
    font-weight:900;
    line-height:1
}
@media(max-width:1150px){
    .quotation-pdf-language-group{width:auto;min-width:132px}
}
@media(max-width:720px){
    .quotation-pdf-language-group{width:100%;min-width:0}
}

/* Portal Report Designer */
.report-designer-layout .portal-content {
    min-width: 0;
}
.report-designer-page {
    padding-bottom: 48px;
}
.report-designer-heading {
    align-items: flex-start;
    gap: 22px;
}
.report-designer-heading-actions,
.report-designer-actions,
.report-designer-bottom-actions,
.report-preview-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.report-template-switcher {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0 14px;
}
.report-template-family {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas: "name languages" "desc languages";
    gap: 3px 16px;
    padding: 14px 16px;
    border: 1px solid #dce1e7;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 22px rgba(20, 29, 42, .045);
}
.report-template-family.active {
    border-color: #eb7021;
    box-shadow: 0 0 0 2px rgba(235, 112, 33, .10), 0 8px 24px rgba(20, 29, 42, .06);
}
.report-template-family > strong {
    grid-area: name;
    color: #1d2430;
    font-size: 14px;
}
.report-template-family > span {
    grid-area: desc;
    color: #707c8d;
    font-size: 11px;
}
.report-template-language-links {
    grid-area: languages;
    display: flex;
    align-items: center;
    gap: 6px;
}
.report-template-language-links a {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid #dce1e7;
    border-radius: 9px;
    color: #4b5768;
    font-weight: 800;
    font-size: 11px;
    text-decoration: none;
    background: #f8fafc;
}
.report-template-language-links a.active {
    color: #fff;
    border-color: #1d2430;
    background: #1d2430;
}
.report-template-language-links img {
    width: 18px;
    height: 12px;
    object-fit: cover;
    border-radius: 2px;
}
.report-designer-form {
    display: grid;
    gap: 12px;
}
.report-designer-commandbar {
    position: sticky;
    top: 8px;
    z-index: 34;
    display: grid;
    grid-template-columns: minmax(230px, 1fr) minmax(370px, auto) auto;
    align-items: end;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid #dce1e7;
    border-top: 3px solid #eb7021;
    border-radius: 13px;
    background: rgba(255, 255, 255, .97);
    box-shadow: 0 10px 30px rgba(20, 29, 42, .12);
    backdrop-filter: blur(9px);
}
.report-template-status {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
}
.report-template-status > div {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.report-template-status strong {
    color: #1d2430;
    font-size: 13px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.report-template-status span:not(.report-status-dot) {
    color: #707c8d;
    font-size: 10px;
}
.report-status-dot {
    width: 11px;
    height: 11px;
    border-radius: 999px;
    flex: 0 0 auto;
}
.report-status-dot.published {
    background: #2f9b5f;
    box-shadow: 0 0 0 4px rgba(47, 155, 95, .12);
}
.report-preview-controls label {
    display: grid;
    gap: 4px;
    color: #647084;
    font-size: 9px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.report-preview-controls select {
    min-width: 170px;
    height: 35px;
    padding: 5px 32px 5px 9px;
    font-size: 11px;
    text-transform: none;
    letter-spacing: normal;
}
.report-designer-actions {
    justify-content: flex-end;
}
.report-designer-workspace {
    display: grid;
    grid-template-columns: minmax(230px, 270px) minmax(500px, 1fr) minmax(235px, 285px);
    gap: 12px;
    align-items: start;
}
.report-designer-workspace > .panel {
    margin: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid #dce1e7;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 8px 28px rgba(20, 29, 42, .055);
}
.report-block-library,
.report-properties-panel {
    position: sticky;
    top: 91px;
    max-height: calc(100vh - 105px);
    overflow: auto !important;
}
.report-panel-heading {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 58px;
    padding: 11px 13px;
    border-bottom: 1px solid #e5e9ee;
    background: #f8fafc;
}
.report-panel-heading > span:first-child {
    display: grid;
    place-items: center;
    width: 25px;
    height: 25px;
    border-radius: 999px;
    color: #fff;
    background: #eb7021;
    font-size: 11px;
    font-weight: 900;
    flex: 0 0 auto;
}
.report-panel-heading > div:not(.report-preview-zoom) {
    display: grid;
    gap: 2px;
    min-width: 0;
}
.report-panel-heading strong {
    color: #1d2430;
    font-size: 12px;
}
.report-panel-heading small {
    color: #707c8d;
    font-size: 9px;
    line-height: 1.35;
}
.report-block-zones {
    padding: 10px;
}
.report-block-zone + .report-block-zone {
    margin-top: 12px;
}
.report-block-zone-heading {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: baseline;
    gap: 8px;
    margin: 0 2px 6px;
}
.report-block-zone-heading strong {
    color: #1d2430;
    font-size: 10px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.report-block-zone-heading span {
    color: #8a94a4;
    font-size: 8px;
    text-align: right;
}
.report-block-list {
    display: grid;
    gap: 5px;
}
.report-block-card {
    width: 100%;
    display: grid;
    grid-template-columns: 15px 28px minmax(0, 1fr) 10px;
    align-items: center;
    gap: 7px;
    padding: 7px 8px;
    border: 1px solid #dce1e7;
    border-radius: 9px;
    color: #1d2430;
    background: #fff;
    text-align: left;
    cursor: pointer;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.report-block-card:hover {
    border-color: #f0a16b;
    transform: translateY(-1px);
}
.report-block-card.selected {
    border-color: #eb7021;
    box-shadow: 0 0 0 2px rgba(235, 112, 33, .10);
    background: #fffaf6;
}
.report-block-card.disabled {
    opacity: .58;
    background: #f6f7f9;
}
.report-block-card.dragging {
    opacity: .35;
}
.report-block-card.drag-over {
    border-top: 3px solid #eb7021;
}
.report-block-card.locked .report-block-drag {
    color: #2f9b5f;
}
.report-block-drag {
    color: #9aa3af;
    font-size: 10px;
    letter-spacing: -3px;
    cursor: grab;
}
.report-block-icon {
    display: grid;
    place-items: center;
    width: 27px;
    height: 27px;
    border-radius: 8px;
    color: #a84c13;
    background: #fff0e5;
    font-size: 9px;
    font-weight: 900;
}
.report-block-copy {
    display: grid;
    gap: 1px;
    min-width: 0;
}
.report-block-copy strong {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 10px;
}
.report-block-copy small {
    color: #8a94a4;
    font-size: 8px;
    text-transform: capitalize;
}
.report-block-visibility {
    color: #2f9b5f;
    font-size: 10px;
}
.report-block-card.disabled .report-block-visibility {
    color: #a7afb9;
}
.report-template-safety-note {
    display: grid;
    gap: 4px;
    margin: 0 10px 10px;
    padding: 9px 10px;
    border-left: 3px solid #2f9b5f;
    border-radius: 8px;
    background: #f1faf5;
}
.report-template-safety-note strong {
    color: #247749;
    font-size: 9px;
    text-transform: uppercase;
}
.report-template-safety-note span {
    color: #4f6b5c;
    font-size: 8px;
    line-height: 1.45;
}
.report-preview-panel {
    min-width: 0;
}
.report-preview-heading {
    position: sticky;
    top: 0;
    z-index: 3;
}
.report-preview-heading > div:nth-child(2) {
    margin-right: auto;
}
.report-preview-zoom {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    margin-left: auto;
}
.report-preview-zoom button {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border: 1px solid #d7dde5;
    border-radius: 7px;
    background: #fff;
    color: #1d2430;
    font-weight: 900;
}
.report-preview-zoom span {
    min-width: 36px;
    text-align: center;
    color: #5d6878;
    font-size: 9px;
    font-weight: 900;
}
.report-preview-stage {
    --report-preview-height: 980px;
    min-height: var(--report-preview-height);
    padding: 22px 15px 34px;
    overflow: auto;
    background:
        linear-gradient(135deg, rgba(255,255,255,.45) 25%, transparent 25%) -12px 0/24px 24px,
        linear-gradient(225deg, rgba(255,255,255,.45) 25%, transparent 25%) -12px 0/24px 24px,
        linear-gradient(315deg, rgba(255,255,255,.45) 25%, transparent 25%) 0 0/24px 24px,
        linear-gradient(45deg, rgba(255,255,255,.45) 25%, #e8ebef 25%) 0 0/24px 24px;
}
.report-a4-sheet {
    --report-accent: #eb7021;
    --report-dark: #1d2430;
    --report-slate: #4b5768;
    --report-muted: #707c8d;
    --report-border: #dce1e7;
    --report-soft: #f7f9fb;
    --report-page-padding: 25px;
    --report-heading-scale: 1;
    width: 595px;
    margin: 0 auto;
    color: var(--report-slate);
    font-family: Arial, sans-serif;
    transform-origin: top center;
}
.report-preview-page {
    position: relative;
    box-sizing: border-box;
    width: 595px;
    min-height: 842px;
    margin: 0 auto 24px;
    padding: var(--report-page-padding);
    padding-bottom: 48px;
    border-top: 7px solid var(--report-accent);
    background: #fff;
    box-shadow: 0 14px 38px rgba(21, 30, 43, .20);
    overflow: hidden;
}
.report-a4-sheet.hide-accent-bar .report-preview-page {
    border-top-color: transparent;
}
.report-preview-block {
    position: relative;
    margin-bottom: 12px;
    border-radius: 5px;
    outline: 2px solid transparent;
    outline-offset: 3px;
    transition: outline-color .14s ease, background .14s ease;
}
.report-preview-block.selected,
.report-preview-page footer.selected {
    outline-color: rgba(235, 112, 33, .75);
    background: rgba(255, 246, 239, .55);
}
.report-preview-block > h3 {
    margin: 4px 0 8px;
    color: var(--report-accent);
    font-size: calc(10px * var(--report-heading-scale));
    text-transform: uppercase;
    letter-spacing: .02em;
}
.report-preview-block p {
    margin: 0;
    color: var(--report-slate);
    font-size: 8px;
    line-height: 1.45;
}
.preview-company-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--report-border);
}
.preview-logo {
    display: grid;
    place-items: center;
    width: 112px;
    height: 42px;
    border-radius: 6px;
    color: #fff;
    background: var(--report-dark);
    font-size: 22px;
    font-weight: 900;
    letter-spacing: .08em;
}
.preview-quotation-mark {
    display: grid;
    justify-items: end;
    gap: 4px;
}
.preview-quotation-mark b {
    color: var(--report-accent);
    font-size: 17px;
}
.preview-quotation-mark span {
    color: var(--report-dark);
    font-size: 9px;
    font-weight: 800;
}
.preview-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.preview-info-grid > div {
    display: grid;
    gap: 4px;
    min-height: 76px;
    padding: 10px;
    border: 1px solid var(--report-border);
    border-radius: 8px;
    background: var(--report-soft);
}
.preview-info-grid small,
.preview-machine-card small,
.preview-commercial-cards small {
    color: var(--report-accent);
    font-size: 7px;
    font-weight: 900;
}
.preview-info-grid strong {
    color: var(--report-dark);
    font-size: 9px;
}
.preview-info-grid span {
    color: var(--report-slate);
    font-size: 7px;
    line-height: 1.35;
}
.preview-table {
    border: 1px solid var(--report-border);
    border-radius: 5px;
    overflow: hidden;
}
.preview-table > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 45px 145px;
    gap: 5px;
    align-items: center;
    min-height: 25px;
    padding: 4px 7px;
    border-top: 1px solid var(--report-border);
    font-size: 7px;
}
.preview-table > div:first-child {
    border-top: 0;
}
.preview-table > .head {
    color: #fff;
    background: var(--report-dark);
    font-weight: 900;
}
.preview-table.compact > div {
    grid-template-columns: minmax(0, 1fr) 50px 80px;
    min-height: 22px;
}
.preview-inline-row {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 7px 9px;
    border-radius: 5px;
    background: var(--report-soft);
    font-size: 8px;
}
.preview-inline-row strong {
    color: var(--report-dark);
}
.preview-machine-title {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 9px 11px;
    border-radius: 6px;
    color: #fff;
    background: var(--report-dark);
    font-size: 9px;
}
.preview-machine-card {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 13px;
    min-height: 112px;
    margin-top: 8px;
    padding: 9px;
    border: 1px solid var(--report-border);
    border-radius: 8px;
    background: var(--report-soft);
}
.preview-machine-image {
    display: grid;
    place-items: center;
    border-radius: 7px;
    color: #fff;
    background: linear-gradient(145deg, #4d5868, #1d2430);
    font-size: 19px;
    font-weight: 900;
}
.preview-machine-card h2 {
    margin: 5px 0;
    color: var(--report-dark);
    font-size: 15px;
}
.preview-rental-card,
.preview-commercial-cards {
    display: grid;
    gap: 8px;
    padding: 10px;
    border: 1px solid var(--report-border);
    border-top: 3px solid var(--report-accent);
    border-radius: 8px;
    background: #fff;
}
.preview-rental-card h3 {
    margin: 0;
    color: var(--report-accent);
    font-size: 10px;
}
.preview-rental-card > div:not(.preview-rate-pills) {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    font-size: 8px;
}
.preview-rental-card strong {
    color: var(--report-dark);
}
.preview-rate-pills {
    display: flex;
    gap: 7px;
}
.preview-rate-pills b {
    padding: 5px 8px;
    border: 1px solid var(--report-border);
    border-radius: 999px;
    color: var(--report-dark);
    font-size: 8px;
}
.preview-commercial-cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.preview-commercial-cards > div {
    display: grid;
    gap: 5px;
    padding: 8px;
    border-radius: 6px;
    background: var(--report-soft);
}
.preview-commercial-cards strong {
    color: var(--report-dark);
    font-size: 9px;
}
.preview-total-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 10px;
    border-radius: 6px;
    color: #fff;
    background: var(--report-dark);
    font-size: 8px;
}
.preview-total-card strong {
    font-size: 11px;
}
.preview-totals {
    display: grid;
    gap: 0;
}
.preview-totals > div {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 9px;
    border-bottom: 1px solid var(--report-border);
    font-size: 8px;
}
.preview-totals > div b {
    color: var(--report-dark);
}
.preview-totals > .grand {
    border: 0;
    border-radius: 5px;
    color: #fff;
    background: var(--report-dark);
}
.preview-totals > .grand b {
    color: #fff;
}
.preview-signatures {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 50px;
    margin-top: 30px;
}
.preview-signatures span {
    padding-top: 7px;
    border-top: 1px solid var(--report-slate);
    color: var(--report-muted);
    font-size: 7px;
}
.report-preview-page footer {
    position: absolute;
    left: var(--report-page-padding);
    right: var(--report-page-padding);
    bottom: 12px;
    display: flex;
    justify-content: space-between;
    padding-top: 7px;
    border-top: 1px solid var(--report-border);
    color: var(--report-muted);
    font-size: 6px;
    outline: 2px solid transparent;
    outline-offset: 3px;
}
.report-preview-page-break {
    margin: 8px 0;
    padding: 4px 7px;
    border: 1px dashed var(--report-accent);
    color: var(--report-accent);
    background: #fff7f1;
    font-size: 6px;
    font-weight: 900;
    text-transform: uppercase;
    text-align: center;
}
.report-properties-panel {
    padding-bottom: 10px !important;
}
.report-property-tabs {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    padding: 9px 10px 0;
}
.report-property-tabs button {
    min-height: 33px;
    border: 1px solid #dce1e7;
    border-radius: 8px;
    color: #657184;
    background: #f8fafc;
    font-size: 10px;
    font-weight: 900;
}
.report-property-tabs button.active {
    color: #fff;
    border-color: #1d2430;
    background: #1d2430;
}
.report-property-panel {
    display: none;
    padding: 12px;
}
.report-property-panel.active {
    display: grid;
    gap: 12px;
}
.report-no-selection {
    padding: 13px;
    border-radius: 8px;
    color: #6f7a8a;
    background: #f6f8fa;
    font-size: 10px;
    line-height: 1.45;
}
.report-block-properties {
    display: grid;
    gap: 12px;
}
.report-block-properties label,
.report-property-panel > label {
    display: grid;
    gap: 5px;
    color: #4b5768;
    font-size: 9px;
    font-weight: 900;
}
.report-block-properties input[type="text"] {
    min-height: 39px;
    font-size: 11px;
}
.report-property-check {
    display: flex !important;
    align-items: flex-start;
    gap: 8px !important;
    padding: 9px;
    border: 1px solid #e2e6eb;
    border-radius: 8px;
    background: #fafbfc;
}
.report-property-check input {
    margin-top: 1px;
}
.report-property-check span {
    color: #344052;
    font-size: 9px;
    line-height: 1.35;
}
.report-theme-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}
.report-theme-grid label {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 36px;
    align-items: center;
    gap: 7px;
    min-height: 42px;
    padding: 7px;
    border: 1px solid #e1e5ea;
    border-radius: 8px;
    color: #4b5768;
    font-size: 8px;
    font-weight: 900;
}
.report-theme-grid input[type="color"] {
    width: 34px;
    height: 28px;
    padding: 0;
    border: 0;
    border-radius: 6px;
    background: transparent;
}
.report-property-panel input[type="range"] {
    width: 100%;
}
.report-range-value {
    color: #eb7021;
    font-size: 9px;
    font-weight: 900;
}
.report-designer-bottom-actions {
    justify-content: flex-end;
    padding: 10px 12px;
    border: 1px solid #dce1e7;
    border-radius: 12px;
    background: #fff;
}
.report-dirty-message {
    display: grid;
    gap: 2px;
    margin-right: auto;
    padding-left: 11px;
    border-left: 3px solid #eb7021;
}
.report-dirty-message strong {
    color: #a54812;
    font-size: 10px;
}
.report-dirty-message span {
    color: #7a665a;
    font-size: 9px;
}
.report-version-history {
    margin-top: 16px;
    padding: 0;
    overflow: hidden;
}
.report-version-heading {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    padding: 16px;
    border-bottom: 1px solid #e3e7ec;
}
.report-version-heading h2 {
    margin: 5px 0 2px;
}
.report-version-table-wrap {
    overflow-x: auto;
}
.report-version-table {
    width: 100%;
    border-collapse: collapse;
}
.report-version-table th,
.report-version-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #e6e9ed;
    color: #4b5768;
    font-size: 10px;
    text-align: left;
}
.report-version-table th {
    color: #677386;
    background: #f7f9fb;
    font-size: 8px;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.report-version-table td:last-child {
    text-align: right;
}
.report-restore-form {
    display: inline-flex;
}

@media (max-width: 1380px) {
    .report-designer-commandbar {
        grid-template-columns: minmax(210px, 1fr) minmax(330px, auto);
    }
    .report-designer-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
    .report-designer-workspace {
        grid-template-columns: 230px minmax(450px, 1fr) 235px;
    }
}
@media (max-width: 1120px) {
    .report-designer-workspace {
        grid-template-columns: 220px minmax(0, 1fr);
    }
    .report-properties-panel {
        position: static;
        max-height: none;
        grid-column: 1 / -1;
    }
    .report-properties-panel .report-property-panel.active {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .report-block-library {
        top: 147px;
    }
}
@media (max-width: 820px) {
    .report-template-switcher,
    .report-designer-workspace,
    .report-designer-commandbar {
        grid-template-columns: 1fr;
    }
    .report-template-family {
        grid-template-columns: minmax(0, 1fr);
        grid-template-areas: "name" "desc" "languages";
    }
    .report-template-language-links {
        margin-top: 7px;
    }
    .report-designer-commandbar {
        position: static;
    }
    .report-designer-actions {
        grid-column: auto;
        justify-content: flex-start;
    }
    .report-block-library,
    .report-properties-panel {
        position: static;
        max-height: none;
    }
    .report-preview-panel {
        order: 1;
    }
    .report-block-library {
        order: 2;
    }
    .report-properties-panel {
        order: 3;
    }
    .report-properties-panel .report-property-panel.active {
        grid-template-columns: 1fr;
    }
    .report-preview-stage {
        padding-left: 4px;
        padding-right: 4px;
    }
    .report-designer-bottom-actions {
        align-items: stretch;
    }
    .report-dirty-message {
        width: 100%;
        margin: 0 0 6px;
    }
}

/* Compact quotation accessory picker: machine identity and configuration mode share one row. */
.quotation-product-picker-body{
    grid-template-rows:auto auto minmax(0,1fr)
}
.quotation-product-picker-body>.quotation-picker-compact-context{grid-row:1}
.quotation-product-picker-body>.quotation-product-picker-tools{grid-row:2}
.quotation-product-picker-body>.quotation-product-picker-results{grid-row:3}
.quotation-picker-compact-context{
    display:grid;
    grid-template-columns:minmax(235px,.82fr) minmax(0,2fr);
    gap:12px;
    align-items:center;
    padding:8px 18px;
    border-bottom:1px solid #e6eaf0;
    background:#fffaf6
}
.quotation-picker-compact-context[hidden]{display:none!important}
.quotation-picker-compact-context>.quotation-product-picker-machine-context{
    grid-template-columns:52px minmax(0,1fr);
    gap:10px;
    min-width:0;
    padding:0;
    border:0;
    background:transparent
}
.quotation-picker-compact-context .quotation-picker-machine-context-thumb{
    width:52px;
    height:42px
}
.quotation-picker-compact-context>.quotation-product-picker-machine-context>em{display:none}
.quotation-picker-compact-context>.quotation-picker-accessory-mode{
    display:grid;
    grid-template-columns:minmax(142px,1fr) minmax(150px,1fr) auto;
    gap:7px;
    align-items:center;
    min-width:0;
    padding:0;
    border:0;
    background:transparent
}
.quotation-picker-compact-context>.quotation-picker-accessory-mode>label{
    grid-template-columns:17px minmax(0,1fr) auto;
    gap:7px;
    min-height:42px;
    padding:6px 9px;
    border-radius:9px
}
.quotation-picker-compact-context>.quotation-picker-accessory-mode input{
    width:16px;
    height:16px
}
.quotation-picker-compact-context>.quotation-picker-accessory-mode b{
    overflow:hidden;
    font-size:.75rem;
    line-height:1.18;
    text-overflow:ellipsis;
    white-space:nowrap
}
.quotation-picker-compact-context>.quotation-picker-accessory-mode em{
    padding:2px 5px;
    font-size:.53rem
}
.quotation-picker-compact-context .quotation-picker-final-total-mode{
    grid-column:auto;
    display:flex;
    flex-direction:row;
    align-items:center;
    justify-content:flex-start;
    gap:4px;
    min-height:42px;
    padding:4px 6px;
    border-color:#d8dfe7;
    background:rgba(255,255,255,.84);
    white-space:nowrap
}
.quotation-picker-compact-context .quotation-picker-final-total-mode>strong{
    margin:0 2px 0 0;
    font-size:.61rem;
    letter-spacing:.035em
}
.quotation-picker-compact-context .quotation-picker-final-total-mode>label{
    gap:4px;
    min-width:0;
    padding:5px 7px;
    font-size:.68rem
}
.quotation-picker-compact-context .quotation-picker-final-total-mode input{
    width:13px;
    height:13px
}
.quotation-product-picker-dialog>header:has([data-picker-dialog-description][hidden]){
    padding-bottom:11px
}
.quotation-product-picker-dialog>header [data-picker-dialog-description][hidden]{display:none!important}

@media(max-width:980px){
    .quotation-picker-compact-context{
        grid-template-columns:minmax(190px,.62fr) minmax(0,2fr);
        padding-inline:14px
    }
    .quotation-picker-compact-context>.quotation-picker-accessory-mode{
        grid-template-columns:repeat(2,minmax(125px,1fr))
    }
    .quotation-picker-compact-context .quotation-picker-final-total-mode{
        grid-column:1/-1;
        justify-self:end;
        min-height:34px
    }
}
@media(max-width:760px){
    .quotation-picker-compact-context{
        grid-template-columns:1fr;
        gap:7px;
        padding:8px 12px
    }
    .quotation-picker-compact-context>.quotation-picker-accessory-mode{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .quotation-picker-compact-context .quotation-picker-final-total-mode{
        grid-column:1/-1;
        justify-self:stretch;
        justify-content:center
    }
    .quotation-picker-compact-context>.quotation-picker-accessory-mode b{
        white-space:normal
    }
}
@media(max-width:480px){
    .quotation-picker-compact-context>.quotation-picker-accessory-mode{
        grid-template-columns:1fr
    }
    .quotation-picker-compact-context .quotation-picker-final-total-mode{
        grid-column:1;
        flex-wrap:wrap
    }
}
.quotation-picker-compact-context>.quotation-picker-accessory-mode em{
    display:grid;
    place-items:center;
    width:16px;
    height:16px;
    padding:0;
    overflow:hidden;
    font-size:0
}
.quotation-picker-compact-context>.quotation-picker-accessory-mode em::before{
    content:"✓";
    font-size:.62rem;
    line-height:1
}
@media(max-width:760px) and (min-width:601px){
    .quotation-picker-compact-context{
        grid-template-columns:minmax(175px,.58fr) minmax(0,1.42fr);
        align-items:start
    }
    .quotation-picker-compact-context>.quotation-picker-accessory-mode{
        grid-template-columns:repeat(2,minmax(0,1fr))
    }
    .quotation-picker-compact-context .quotation-picker-final-total-mode{
        grid-column:1/-1;
        justify-self:end;
        width:auto
    }
}
@media(max-width:600px){
    .quotation-picker-compact-context{grid-template-columns:1fr}
}
@media(max-width:760px) and (min-width:601px){
    .quotation-product-picker-modal{padding:12px}
    .quotation-product-picker-dialog{width:100%;height:100%;border-radius:14px}
    .quotation-product-picker-steps{grid-template-columns:repeat(3,minmax(0,1fr));padding:9px 12px}
    .quotation-product-picker-steps button{justify-content:center;padding:8px 7px}
    .quotation-product-picker-body{
        display:grid;
        grid-template-rows:auto auto minmax(0,1fr);
        min-height:0;
        overflow:hidden
    }
    .quotation-product-picker-body>.quotation-product-picker-results{
        min-height:0;
        overflow:auto
    }
    .quotation-product-picker-guided .quotation-product-picker-tools{
        grid-template-columns:minmax(0,1fr) 190px;
        padding:10px 12px
    }
    .quotation-product-picker-dialog>footer{
        align-items:center;
        flex-direction:row;
        min-height:68px;
        padding:10px 12px
    }
    .quotation-product-picker-dialog>footer>div{
        display:flex;
        grid-template-columns:none
    }
}

/* Greek product translation workflow */
.product-translation-kicker{
    display:block;
    margin-bottom:4px;
    color:#d65e13;
    font-size:.7rem;
    font-weight:900;
    letter-spacing:.09em
}
.local-translator-chip{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:6px 9px;
    border:1px solid #cfe7d6;
    border-radius:999px;
    background:#edf8f0;
    color:#1e6d3b;
    font-size:.72rem;
    font-weight:850;
    white-space:nowrap
}
.local-translator-chip>span{
    width:7px;
    height:7px;
    border-radius:50%;
    background:#2ea35a;
    box-shadow:0 0 0 3px rgba(46,163,90,.14)
}
.translation-status-badge,.data-translation-status{
    display:inline-flex;
    align-items:center;
    gap:5px;
    width:max-content;
    padding:5px 9px;
    border-radius:999px;
    font-size:.69rem;
    font-weight:850;
    line-height:1.1;
    text-transform:uppercase;
    letter-spacing:.02em;
    background:#eef2f6;
    color:#59677a
}
.translation-status-badge.is-reviewed,.data-translation-status.is-reviewed{background:#e2f5e8;color:#19713a}
.translation-status-badge.is-auto-translated,.data-translation-status.is-auto-translated{background:#e9f2ff;color:#225c9d}
.translation-status-badge.is-stale,.data-translation-status.is-stale{background:#fff0d8;color:#94510d}
.translation-status-badge.is-error,.data-translation-status.is-error{background:#fde8ea;color:#a51e2d}
.translation-status-badge.is-missing,.data-translation-status.is-missing{background:#f0f2f5;color:#626e7e}
.translation-error-inline{
    padding:9px 11px;
    border:1px solid #f3c7cc;
    border-radius:9px;
    background:#fff1f2;
    color:#982232;
    font-size:.8rem;
    line-height:1.45
}
.product-translation-message{margin:0;padding:9px 11px;border-radius:9px;font-size:.82rem;background:#eef3f8;color:#33465e}
.product-translation-message.is-success{background:#e8f6ec;color:#176c35}
.product-translation-message.is-error{background:#fdebed;color:#a51e2d}
.product-translation-message.is-working{background:#fff2df;color:#8b4c10}
.translation-draft-updated,.translation-review-focus{
    outline:2px solid rgba(235,112,33,.46)!important;
    outline-offset:2px;
    box-shadow:0 0 0 5px rgba(235,112,33,.08);
    transition:outline .25s ease,box-shadow .25s ease
}

.translation-settings-page{max-width:1500px}
.local-translation-overview,.local-translation-settings-panel,.translation-glossary-panel{margin-bottom:18px}
.local-translation-overview{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(280px,390px);
    gap:18px;
    border-top:4px solid #a6adb7
}
.local-translation-overview.is-online{border-top-color:#2ea35a}
.local-translation-overview.is-offline{border-top-color:#d97a21}
.local-translation-overview-main{display:flex;align-items:flex-start;gap:14px}
.local-translation-icon{
    display:grid;
    place-items:center;
    width:48px;
    height:48px;
    flex:0 0 48px;
    border-radius:13px;
    background:#202832;
    color:#fff;
    font-size:1.25rem;
    font-weight:900
}
.local-translation-title-row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:5px}
.local-translation-title-row h2{margin:0}
.local-translation-overview p{margin:0 0 10px;color:#617087;line-height:1.5}
.local-service-status{
    display:inline-flex;
    align-items:center;
    gap:7px;
    padding:5px 9px;
    border-radius:999px;
    background:#f1f3f6;
    color:#5f6b7a;
    font-size:.72rem;
    font-weight:850
}
.local-service-status>span{width:8px;height:8px;border-radius:50%;background:#8b96a5}
.local-service-status.is-online{background:#e7f6eb;color:#1d743d}
.local-service-status.is-online>span{background:#2ea35a;box-shadow:0 0 0 3px rgba(46,163,90,.15)}
.local-service-status.is-offline{background:#fff1df;color:#92500f}
.local-service-status.is-offline>span{background:#df842b;box-shadow:0 0 0 3px rgba(223,132,43,.15)}
.local-translation-facts{display:flex;flex-wrap:wrap;gap:7px}
.local-translation-facts span{
    padding:5px 8px;
    border-radius:8px;
    background:#f5f7fa;
    color:#415168;
    font-size:.74rem;
    font-weight:750
}
.local-translation-install-note{
    display:grid;
    align-content:center;
    gap:7px;
    padding:14px;
    border:1px solid #e0e5ec;
    border-radius:12px;
    background:#f8fafc
}
.local-translation-install-note span{color:#637188;font-size:.8rem;line-height:1.45}
.local-translation-install-note code{
    overflow-wrap:anywhere;
    padding:7px 9px;
    border-radius:7px;
    background:#202832;
    color:#f5f7fa;
    font-size:.76rem
}
.local-translation-settings-grid{
    display:grid;
    grid-template-columns:minmax(220px,420px);
    gap:14px;
    margin-top:14px
}
.local-translation-settings-grid label{display:grid;gap:6px;font-weight:800;font-size:.82rem}
.local-translation-settings-grid .field-hint{font-weight:500;line-height:1.45}
.translation-glossary-add{
    display:grid;
    grid-template-columns:minmax(170px,1fr) minmax(170px,1fr) 90px auto auto;
    gap:10px;
    align-items:end;
    margin:14px 0
}
.translation-glossary-add label{display:grid;gap:5px;font-size:.78rem;font-weight:750}
.translation-glossary-table-wrap{overflow:auto}
.translation-glossary-table{min-width:820px}
.translation-glossary-row{
    display:grid;
    grid-template-columns:minmax(190px,1fr) minmax(190px,1fr) 75px 95px 150px;
    gap:10px;
    align-items:center
}
.translation-glossary-actions{display:flex;gap:6px;justify-content:flex-end}
.translation-glossary-table tr.is-built-in{background:#fafbfc;color:#5e6a79}
.data-product-translation{display:grid;gap:5px;margin-top:6px}
.data-product-translation-actions{display:flex;flex-wrap:wrap;gap:5px}
@media(max-width:980px){
    .local-translation-overview{grid-template-columns:1fr}
    .translation-glossary-add{grid-template-columns:1fr 1fr 90px}
    .translation-glossary-add>.check,.translation-glossary-add>.button{align-self:end}
}
@media(max-width:720px){
    .local-translation-settings-grid,.translation-glossary-add{grid-template-columns:1fr}
}


/* =========================================================
   Human-friendly product translation review modal
   ========================================================= */
body.translation-modal-open{overflow:hidden}
.product-translation-summary-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    gap:14px 18px;
    margin:14px;
    padding:14px 16px;
    border:1px solid #dce4ec;
    border-left:5px solid #e97818;
    border-radius:13px;
    background:#fff;
    box-shadow:0 7px 18px rgba(30,44,61,.05)
}
.product-translation-summary-main{display:flex;align-items:flex-start;gap:12px;min-width:0}
.product-translation-summary-icon{
    display:grid;
    place-items:center;
    width:39px;
    height:39px;
    flex:0 0 39px;
    border-radius:11px;
    background:#182334;
    color:#fff;
    font-size:.74rem;
    font-weight:950;
    letter-spacing:.04em
}
.product-translation-summary-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:4px}
.product-translation-summary-title>strong{color:#1d2a3a;font-size:1rem}
.product-translation-summary-main p{margin:0;color:#647288;font-size:.78rem;line-height:1.45}
.product-translation-summary-main p b{color:#34465c}
.product-translation-summary-actions{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}
.product-translation-summary-card>.translation-error-inline,
.product-translation-summary-card>.product-translation-message{grid-column:1/-1}

.greek-translation-modal{padding:18px}
.greek-translation-dialog{
    display:grid;
    grid-template-rows:auto auto minmax(0,1fr) auto auto;
    width:min(1180px,100%);
    max-height:calc(100vh - 36px);
    padding:0;
    overflow:hidden;
    border-top:5px solid #e97818
}
.greek-translation-dialog-header{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:18px;
    padding:18px 20px 15px;
    border-bottom:1px solid #e5eaf0;
    background:linear-gradient(135deg,#fff,#fff8f3)
}
.greek-translation-dialog-header h2{margin:0 0 5px;color:#1a2737;font-size:1.35rem}
.greek-translation-dialog-header p{margin:0;color:#68768a;font-size:.84rem;line-height:1.45}
.greek-translation-close{
    display:grid;
    place-items:center;
    width:38px;
    height:38px;
    flex:0 0 38px;
    border:1px solid #d7dee7;
    border-radius:10px;
    background:#fff;
    color:#3a485b;
    font-size:1.5rem;
    line-height:1;
    cursor:pointer
}
.greek-translation-close:hover{border-color:#e97818;color:#c95c13;background:#fff8f2}
.greek-translation-review-notice{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:6px 9px;
    padding:10px 20px;
    border-bottom:1px solid #e4eaf0;
    background:#f4f8fb;
    color:#53657a;
    font-size:.76rem
}
.greek-translation-review-notice strong{color:#273b52}
.greek-translation-review-list{
    display:grid;
    gap:13px;
    min-height:0;
    padding:16px 20px;
    overflow:auto;
    background:#f5f7fa
}
.greek-translation-review-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
    gap:11px 14px;
    padding:14px;
    border:1px solid #dce3eb;
    border-radius:13px;
    background:#fff;
    box-shadow:0 4px 12px rgba(31,45,62,.04)
}
.greek-translation-review-row.is-updated{border-color:#edaa7d;box-shadow:0 0 0 3px rgba(233,120,24,.08)}
.greek-translation-review-row.is-edited .greek-translation-language-column.is-greek>span::after{
    content:'Edited';
    margin-left:6px;
    padding:2px 6px;
    border-radius:999px;
    background:#fff0df;
    color:#99500f;
    font-size:.6rem;
    font-weight:900;
    text-transform:uppercase
}
.greek-translation-row-heading{
    grid-column:1/-1;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding-bottom:8px;
    border-bottom:1px solid #edf0f4
}
.greek-translation-row-heading strong{color:#26364a;font-size:.9rem}
.translation-field-again{
    border:0;
    padding:3px 0;
    background:transparent;
    color:#38658d;
    font-size:.7rem;
    font-weight:850;
    cursor:pointer
}
.translation-field-again:hover{text-decoration:underline}
.translation-field-again:disabled{opacity:.45;cursor:not-allowed;text-decoration:none}
.greek-translation-language-column{display:grid;gap:6px;min-width:0}
.greek-translation-language-column>span{color:#536277;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.025em}
.greek-translation-language-column textarea{
    width:100%;
    min-height:76px;
    resize:vertical;
    border:1px solid #ccd6e2;
    border-radius:9px;
    padding:10px 11px;
    background:#f7f9fb;
    color:#536174;
    font:inherit;
    font-size:.86rem;
    line-height:1.5
}
.greek-translation-language-column.is-greek textarea{background:#fff;color:#182536;border-color:#bfcbd8}
.greek-translation-language-column.is-greek textarea:focus{border-color:#e97818;outline:3px solid rgba(233,120,24,.1)}
.greek-translation-empty{margin:0 20px 16px;padding:18px;border:1px dashed #cbd5e0;border-radius:12px;background:#f8fafc;color:#69788b;text-align:center}
.greek-translation-dialog>.product-translation-message{margin:0 20px 12px}
.greek-translation-dialog-footer{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:13px 20px;
    border-top:1px solid #dfe5ec;
    background:#fff;
    box-shadow:0 -8px 20px rgba(31,45,61,.05)
}
.greek-translation-footer-secondary,.greek-translation-footer-primary{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.greek-translation-footer-primary{justify-content:flex-end}

/* =========================================================
   Machine Accessory form – simplified everyday workflow
   ========================================================= */
.product-simple-page .compact-accessory-form .accessory-quick-header{
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(260px,.62fr) auto;
    align-items:center;
    gap:16px;
    padding:16px 18px
}
.accessory-quick-header-copy{min-width:0}
.accessory-quick-header-copy h2{margin:0 0 4px;color:#1e2a39;font-size:1.15rem}
.accessory-quick-header-copy p{margin:0;color:#66758a;font-size:.78rem;line-height:1.45}
.accessory-quick-header-copy .change-product-type-link{display:inline-block;margin-top:5px;color:#3e688d;font-weight:800}
.accessory-quick-header-status{
    display:grid;
    gap:8px;
    padding:11px 13px;
    border:1px solid #e0e6ed;
    border-radius:11px;
    background:#f8fafc
}
.accessory-active-check{font-weight:850;color:#34465b}
.product-simple-page .compact-accessory-form .step-type-details>.guided-step-header{margin-bottom:12px}
.product-simple-page .compact-accessory-form .step-type-details .product-type-panel[data-product-type="Machine Accessory"]{border-radius:13px}
.product-simple-page .compact-accessory-form .accessory-field-grid{
    gap:14px!important;
    padding:16px!important
}
.product-simple-page .compact-accessory-form .accessory-form-group-heading{
    grid-column:1/-1!important;
    display:flex;
    align-items:center;
    gap:10px;
    padding:10px 12px;
    border:1px solid #dfe6ee;
    border-radius:10px;
    background:#f7f9fc
}
.product-simple-page .compact-accessory-form .accessory-form-group-heading>span{
    display:grid;
    place-items:center;
    width:25px;
    height:25px;
    flex:0 0 25px;
    border-radius:50%;
    background:#1d2b3d;
    color:#fff;
    font-size:.72rem;
    font-weight:900
}
.product-simple-page .compact-accessory-form .accessory-form-group-heading>div{display:grid;gap:1px}
.product-simple-page .compact-accessory-form .accessory-form-group-heading strong{color:#26364a;font-size:.84rem}
.product-simple-page .compact-accessory-form .accessory-form-group-heading small{color:#718096;font-size:.69rem;line-height:1.35}
.product-simple-page .compact-accessory-form .accessory-form-group-heading:first-child{order:0!important}
.product-simple-page .compact-accessory-form .accessory-field-grid>[data-field-key="accessory-brand"]{order:1!important;grid-column:span 4!important}
.product-simple-page .compact-accessory-form .accessory-field-grid>[data-field-key="accessory-code"]{order:2!important;grid-column:span 3!important}
.product-simple-page .compact-accessory-form .accessory-field-grid>[data-field-key="accessory-category"]{order:3!important;grid-column:span 5!important}
.product-simple-page .compact-accessory-form .accessory-field-grid>[data-field-key="accessory-title"]{order:4!important;grid-column:1/-1!important}
.product-simple-page .compact-accessory-form .accessory-field-grid>[data-field-key="accessory-description-specifications"]{order:5!important;grid-column:1/-1!important}
.product-simple-page .compact-accessory-form .accessory-field-grid>.compatibility-heading{order:6!important}
.product-simple-page .compact-accessory-form .accessory-field-grid>[data-field-key="matching-models"]{order:7!important;grid-column:1/-1!important}
.product-simple-page .compact-accessory-form .accessory-field-grid>.accessory-advanced-settings{order:8!important;grid-column:1/-1!important}
.product-simple-page .compact-accessory-form [data-field-key="accessory-description-specifications"] textarea{min-height:105px}
.accessory-advanced-settings{
    overflow:visible;
    border:1px solid #d9e2eb;
    border-radius:12px;
    background:#fff
}
.accessory-advanced-settings>summary{
    display:grid;
    grid-template-columns:auto minmax(0,1fr) auto;
    align-items:center;
    gap:11px;
    padding:13px 14px;
    list-style:none;
    cursor:pointer;
    background:#f8fafc;
    border-radius:12px
}
.accessory-advanced-settings>summary::-webkit-details-marker{display:none}
.accessory-advanced-settings>summary::after{content:'▾';color:#52657a;font-weight:900;transition:transform .2s ease}
.accessory-advanced-settings[open]>summary::after{transform:rotate(180deg)}
.accessory-advanced-settings>summary>span:nth-child(2){display:grid;gap:2px}
.accessory-advanced-settings>summary strong{color:#2a3b50;font-size:.83rem}
.accessory-advanced-settings>summary small{color:#718095;font-size:.69rem;line-height:1.35}
.accessory-advanced-settings>summary>b{
    padding:5px 8px;
    border-radius:999px;
    background:#eef2f6;
    color:#607084;
    font-size:.64rem;
    white-space:nowrap
}
.accessory-advanced-summary-icon{
    display:grid;
    place-items:center;
    width:31px;
    height:31px;
    border-radius:9px;
    background:#27374a;
    color:#fff
}
.accessory-advanced-settings[open]>summary{border-bottom:1px solid #dfe6ee;border-radius:12px 12px 0 0;background:#f3f7fa}
.accessory-advanced-settings-body{
    display:grid;
    grid-template-columns:repeat(12,minmax(0,1fr));
    gap:14px;
    padding:14px
}
.accessory-advanced-settings-body>[data-field-key="accessory-installation-group"],
.accessory-advanced-settings-body>[data-field-key="accessory-installation-group-maximum"]{grid-column:span 6;min-height:0!important}
.accessory-advanced-settings-body>[data-field-key="accessory-installation-rules"]{grid-column:1/-1}
.accessory-advanced-settings-body>#accessoryInstallationAccessoryOptionSource,
.accessory-advanced-settings-body>template{display:none}
.product-simple-page .compact-accessory-form .step-price-details{padding-top:16px;padding-bottom:16px}
.product-simple-page .compact-accessory-form .step-price-details .guided-step-header{margin-bottom:10px}

@media(max-width:900px){
    .product-translation-summary-card{grid-template-columns:1fr}
    .product-translation-summary-actions{justify-content:flex-start}
    .product-simple-page .compact-accessory-form .accessory-quick-header{grid-template-columns:1fr 1fr}
    .product-simple-page .compact-accessory-form .accessory-quick-header>.guided-top-save{grid-column:1/-1;width:100%}
}
@media(max-width:720px){
    .product-translation-summary-card{margin:10px;padding:13px}
    .product-translation-summary-actions{align-items:stretch}
    .product-translation-summary-actions .button{width:100%;justify-content:center}
    .greek-translation-modal{padding:8px}
    .greek-translation-dialog{max-height:calc(100vh - 16px);border-radius:13px}
    .greek-translation-dialog-header{padding:14px}
    .greek-translation-review-notice{padding:9px 14px}
    .greek-translation-review-list{padding:12px}
    .greek-translation-review-row{grid-template-columns:1fr;padding:12px}
    .greek-translation-dialog-footer{align-items:stretch;flex-direction:column;padding:12px}
    .greek-translation-footer-secondary,.greek-translation-footer-primary{display:grid;grid-template-columns:1fr;width:100%}
    .greek-translation-dialog-footer .button{width:100%;justify-content:center}
    .product-simple-page .compact-accessory-form .accessory-quick-header{grid-template-columns:1fr}
    .accessory-advanced-settings>summary{grid-template-columns:auto minmax(0,1fr)}
    .accessory-advanced-settings>summary>b{grid-column:2}
    .accessory-advanced-settings-body{grid-template-columns:1fr}
    .accessory-advanced-settings-body>[data-field-key]{grid-column:1!important}
}
.product-picture-tools-details{
    margin:10px 0;
    border:1px solid #dce4ec;
    border-radius:10px;
    background:#f8fafc
}
.product-picture-tools-details>summary{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    padding:10px 12px;
    list-style:none;
    cursor:pointer;
    color:#34475d
}
.product-picture-tools-details>summary::-webkit-details-marker{display:none}
.product-picture-tools-details>summary::after{content:'▾';font-weight:900;transition:transform .2s ease}
.product-picture-tools-details[open]>summary::after{transform:rotate(180deg)}
.product-picture-tools-details>summary span{display:grid;gap:2px}
.product-picture-tools-details>summary strong{font-size:.78rem}
.product-picture-tools-details>summary small{color:#738096;font-size:.67rem;font-weight:500}
.product-picture-tools-details[open]>summary{border-bottom:1px solid #dce4ec;background:#f3f7fa}
.product-picture-tools-details .background-removal-review-controls{margin:0;padding:12px;border:0;border-radius:0;background:#fff}

/* Quotation internal cost basis: RDS Cost Price for RDS-owned quotes, Partner Price otherwise. */
.quotation-cost-basis-banner{
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 0 18px;
    padding:13px 16px;
    border:1px solid #cfd8e4;
    border-left:5px solid #ed7b2f;
    border-radius:14px;
    background:#fff;
    box-shadow:0 8px 24px rgba(18,35,54,.06);
}
.quotation-cost-basis-banner>span{
    display:grid;
    place-items:center;
    flex:0 0 36px;
    width:36px;
    height:36px;
    border-radius:11px;
    background:#172132;
    color:#fff;
    font-size:20px;
    font-weight:900;
}
.quotation-cost-basis-banner>div{display:grid;gap:3px;min-width:0}
.quotation-cost-basis-banner strong{color:#15243a;font-size:14px;line-height:1.25}
.quotation-cost-basis-banner small{color:#59687b;font-size:12px;line-height:1.45}
.quotation-cost-basis-banner.is-rds{background:linear-gradient(135deg,#fff 0%,#fff8f2 100%)}
.quotation-cost-basis-banner.is-partner{border-left-color:#60748d;background:linear-gradient(135deg,#fff 0%,#f7f9fc 100%)}
@media(max-width:640px){.quotation-cost-basis-banner{align-items:flex-start;padding:12px}.quotation-cost-basis-banner>span{flex-basis:32px;width:32px;height:32px;font-size:18px}}

.quotation-product-picker-internal-cost {
    display: block;
    margin-top: .2rem;
    color: #9a4b13;
    font-size: .72rem;
    font-weight: 800;
    line-height: 1.25;
}

/* =========================================================
   Shared hover preview + gallery whole-image containment fix
   Tall or wide product pictures must always remain completely visible.
   Explicitly fill the bounded canvas and let object-fit scale the image;
   width/height:auto with percentage max sizes can overflow CSS grid cells.
   ========================================================= */
.admin-image-preview-canvas,
.admin-image-lightbox-canvas {
    position: relative;
    min-width: 0;
    min-height: 0;
}

.admin-image-preview-canvas img,
.admin-image-lightbox-canvas img {
    display: block;
    width: 100% !important;
    height: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
}

/* Quotation customer-price Apply to all control.
   Keep the action directly beside the selling/rental field without helper text. */
.quotation-price-field-with-apply{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end;min-width:0}
.quotation-price-field-with-apply>label{display:flex;flex-direction:column;gap:6px;min-width:0;color:#495669;font-size:.84rem;font-weight:750}
.quotation-price-field-with-apply>label>span{display:block;min-height:1.2em}
.quotation-price-field-with-apply>label>input{width:100%;min-width:0}
.quotation-apply-all-price[hidden]{display:none!important}
.quotation-apply-all-price{appearance:none;display:inline-flex;align-items:center;justify-content:center;min-width:104px;min-height:40px;padding:8px 13px;border:1px solid #238243;border-radius:8px;background:#2f9d50;color:#fff;font:inherit;font-size:.76rem;font-weight:900;line-height:1.05;white-space:nowrap;cursor:pointer;box-shadow:0 5px 12px rgba(38,133,69,.17);transition:background .15s ease,border-color .15s ease,box-shadow .15s ease,transform .15s ease}
.quotation-apply-all-price:hover:not(:disabled),.quotation-apply-all-price:focus-visible:not(:disabled){background:#277f42;border-color:#1f6f39;box-shadow:0 7px 15px rgba(38,133,69,.24);transform:translateY(-1px);outline:none}
.quotation-apply-all-price.is-applied,.quotation-apply-all-price.is-applied:disabled{border-color:#9ca3af;background:#e5e7eb;color:#4b5563;box-shadow:none;cursor:not-allowed;opacity:1;transform:none}
.quotation-apply-all-confirmation{position:fixed;left:50%;top:50%;z-index:10050;display:flex;align-items:center;gap:12px;max-width:min(90vw,460px);padding:16px 22px;border:1px solid #16803b;border-radius:14px;background:#229447;color:#fff;box-shadow:0 22px 60px rgba(15,54,28,.32);font-size:1rem;font-weight:800;line-height:1.25;opacity:0;pointer-events:none;transform:translate(-50%,-50%) scale(.94);transition:opacity .16s ease,transform .16s ease}
.quotation-apply-all-confirmation>span{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.2);font-size:1.1rem;font-weight:950}
.quotation-apply-all-confirmation.is-visible{opacity:1;transform:translate(-50%,-50%) scale(1)}
@media(max-width:520px){.quotation-price-field-with-apply{grid-template-columns:minmax(0,1fr) auto}.quotation-apply-all-price{min-width:92px;padding-inline:10px;font-size:.7rem}.quotation-apply-all-confirmation{width:min(88vw,420px);justify-content:center;text-align:center}}

/* Supplier PDF price-list import and supplier order builder */
.supplier-purchasing-page,.supplier-review-page,.supplier-orders-page,.supplier-order-edit-page{--supplier-orange:#e97818;--supplier-ink:#222b38;--supplier-soft:#fff7ef;--supplier-blue:#315e83}
.supplier-back-link{display:inline-block;margin-bottom:7px;color:#a44c0f;font-size:.78rem;font-weight:850}
.supplier-back-link:hover{text-decoration:underline}
.compact-heading h1{margin:.15rem 0 .25rem}
.supplier-purchasing-page .button.light,.supplier-review-page .button.light,.supplier-orders-page .button.light{background:#f7f8fa;color:#384354;border-color:#d9e0e7}
.supplier-section-heading>div{display:flex;align-items:flex-start;gap:12px}
.supplier-section-heading h2{margin:0 0 4px;font-size:1.08rem}
.supplier-section-heading p{margin:0}
.supplier-step-badge{display:inline-flex;align-items:center;justify-content:center;flex:0 0 31px;width:31px;height:31px;border-radius:50%;background:var(--supplier-orange);color:#fff;font-size:.86rem;font-weight:950;box-shadow:0 5px 12px rgba(233,120,24,.25)}
.supplier-import-panel{border-left:4px solid var(--supplier-orange);background:linear-gradient(135deg,#fff,#fffaf6)}
.supplier-import-form{display:grid;grid-template-columns:minmax(160px,.42fr) minmax(260px,1.1fr) auto;gap:12px;align-items:end;margin-top:16px}
.supplier-import-button{min-height:42px}
.supplier-import-safety-note{display:flex;gap:9px;margin-top:13px;padding:10px 12px;border:1px solid #f1d2b9;border-radius:10px;background:#fff8f2;color:#6f4a2c;font-size:.77rem;line-height:1.4}
.supplier-import-safety-note strong{color:#a24d0f;white-space:nowrap}
.supplier-file-name,.supplier-price-list-table td>span,.supplier-orders-table td>span{display:block;margin-top:4px}
.supplier-table-actions{flex-wrap:wrap;justify-content:flex-end}
.supplier-status{display:inline-flex;align-items:center;justify-content:center;min-width:76px;padding:5px 9px;border-radius:999px;background:#eef1f5;color:#4f5d70;font-size:.7rem;font-weight:900;text-transform:uppercase;letter-spacing:.035em}
.supplier-status.review{background:#fff2df;color:#9d530f}
.supplier-status.approved,.supplier-status.completed{background:#e9f8ee;color:#18703a}
.supplier-status.archived{background:#eef0f3;color:#667080}
.supplier-status.draft{background:#eaf2fb;color:#2f5f89}
.supplier-warning-text,.supplier-duplicate-note{display:block;margin-top:4px;color:#9d4e0e;font-size:.72rem;font-weight:850}
.supplier-ok-text{display:block;margin-top:4px;color:#247243;font-size:.72rem;font-weight:850}
.supplier-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:10px;margin-bottom:18px}
.supplier-summary-card{display:grid;gap:7px;min-height:82px;padding:13px 14px;border:1px solid #dce2e8;border-radius:13px;background:#fff;box-shadow:0 5px 14px rgba(29,43,58,.035)}
.supplier-summary-card>span{color:#738095;font-size:.69rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}
.supplier-summary-card>strong{color:#263244;font-size:1.08rem}
.supplier-summary-card.warning{border-color:#f0bb8d;background:#fff8f1}
.supplier-approval-panel,.supplier-completed-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;border-color:#acd7ba;background:#f5fcf7}
.supplier-approval-panel p,.supplier-completed-banner p{margin:4px 0 0}
.supplier-add-product-panel summary{cursor:pointer;color:#9b4a0f;font-size:.87rem;font-weight:900}
.supplier-add-product-grid{display:grid;grid-template-columns:minmax(145px,.55fr) minmax(240px,1.2fr) repeat(4,minmax(110px,.45fr)) auto;gap:10px;align-items:end;margin-top:15px}
.supplier-add-description{grid-column:span 2}
.supplier-add-remarks{grid-column:span 2}
.supplier-review-toolbar,.supplier-order-filters{display:flex;align-items:end;gap:9px;padding:13px;border-bottom:1px solid #e0e5eb;background:#f8fafc}
.supplier-search-field{flex:1;min-width:210px}
.supplier-warning-filter{display:flex;align-items:center;gap:7px;min-height:40px;padding:0 9px;border:1px solid #dbe1e8;border-radius:9px;background:#fff;font-size:.76rem;font-weight:800;white-space:nowrap}
.supplier-warning-filter input{width:auto;margin:0}
.supplier-result-count{margin-left:auto;color:#738095;font-size:.74rem;font-weight:800;white-space:nowrap}
.supplier-review-table-wrap{max-height:70vh;overflow:auto}
.supplier-review-table{min-width:1420px;border:0;border-radius:0}
.supplier-review-table thead{position:sticky;top:0;z-index:3}
.supplier-review-table td{vertical-align:top}
.supplier-review-table input,.supplier-review-table textarea,.supplier-review-table select{padding:7px 8px;border-radius:7px;font-size:.73rem;line-height:1.25}
.supplier-review-table textarea{min-height:58px;resize:vertical}
.supplier-review-table input[readonly],.supplier-review-table textarea[readonly],.supplier-review-table select:disabled{border-color:transparent;background:transparent;color:#344154;padding-left:0}
.supplier-code-input{font-weight:900;letter-spacing:.015em}
.supplier-pack-cell{display:grid;gap:6px;min-width:115px}
.supplier-number-input{min-width:82px}
.supplier-price-input{display:flex;align-items:center;min-width:112px;border:1px solid #d9dde4;border-radius:9px;background:#fff;overflow:hidden}
.supplier-price-input>span{padding:0 0 0 9px;color:#69768a;font-weight:850}
.supplier-price-input>input{border:0!important;border-radius:0!important;min-width:0}
.supplier-warning-box{display:block;margin-top:7px;padding:7px 8px;border:1px solid #f0b885;border-radius:7px;background:#fff7ed;color:#8a410e;font-size:.68rem;line-height:1.35}
.supplier-import-warning-row>td{background:#fffdf8}
.supplier-inactive-row{opacity:.63}
.supplier-pagination{display:flex;align-items:center;justify-content:center;gap:14px;padding:14px;border-top:1px solid #e0e5eb;background:#fff}
.supplier-pagination>span{color:#667489;font-size:.76rem;font-weight:800}
.supplier-pagination .disabled{opacity:.45;pointer-events:none}
.supplier-status-filter{min-width:150px}
.supplier-status-filter span{font-size:.7rem;font-weight:800;color:#687589}
.supplier-export-name{max-width:240px;overflow-wrap:anywhere;color:#536174;font-size:.75rem}
.supplier-order-heading-actions{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}
.supplier-order-delete-dialog{width:min(92vw,560px)}
.supplier-order-delete-dialog .user-delete-warning{margin-top:16px}
.supplier-order-header-panel{border-top:4px solid var(--supplier-orange)}
.supplier-order-header-grid{display:grid;grid-template-columns:minmax(240px,1fr) minmax(260px,1.15fr) minmax(190px,.72fr);gap:14px;align-items:end}
.supplier-order-meta{display:grid;gap:3px;padding:9px 12px;border:1px solid #dce2e9;border-radius:10px;background:#f8fafc}
.supplier-order-meta>span{color:#748195;font-size:.66rem;font-weight:850;text-transform:uppercase}
.supplier-order-meta small{color:#748195;font-size:.68rem}
.supplier-product-search-panel{border-color:#f0c49f;background:#fffaf5}
.supplier-live-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-top:14px}
.supplier-product-results{display:grid;gap:7px;max-height:360px;margin-top:10px;overflow:auto}
.supplier-search-result{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 12px;border:1px solid #dce2e9;border-radius:10px;background:#fff}
.supplier-search-result>div:first-child{display:grid;gap:3px;min-width:0}
.supplier-search-result>div:first-child>strong{color:#263244;font-size:.8rem}
.supplier-search-result>div:first-child>span{font-size:.77rem;line-height:1.3}
.supplier-search-result small{color:#6d7a8d;font-size:.67rem;line-height:1.35}
.supplier-search-price{display:flex;align-items:center;gap:10px;white-space:nowrap}
.supplier-search-price>strong{color:#9d4d10;font-size:.87rem}
.supplier-search-message{padding:11px 12px;border:1px dashed #cbd4de;border-radius:9px;color:#6b778a;text-align:center;font-size:.76rem}
.supplier-search-message.warning{border-style:solid;border-color:#f0bd8e;background:#fff8f1;color:#8c430e}
.supplier-order-lines-card{overflow:hidden}
.supplier-order-lines-table{min-width:1120px;border:0;border-radius:0}
.supplier-order-lines-table th:nth-child(1){width:16%}.supplier-order-lines-table th:nth-child(2){width:34%}.supplier-order-lines-table th:nth-child(3){width:14%}.supplier-order-lines-table th:nth-child(4){width:9%}.supplier-order-lines-table th:nth-child(5){width:12%}.supplier-order-lines-table th:nth-child(6){width:11%}
.supplier-order-lines-table input,.supplier-order-lines-table textarea{padding:8px 9px;border-radius:8px;font-size:.76rem}
.supplier-order-lines-table textarea{min-height:55px;resize:vertical}
.supplier-order-lines-table input[readonly],.supplier-order-lines-table textarea[readonly]{border-color:transparent;background:transparent;padding-left:0;color:#344154}
.supplier-minimum-display{display:inline-flex;min-width:38px;padding:7px 9px;border-radius:8px;background:#eef2f6;color:#344154;text-align:center}
.supplier-quantity-warning{display:block;max-width:190px;margin-top:6px;color:#9a480d;font-size:.65rem;font-weight:850;line-height:1.3}
.supplier-quantity-warning[hidden]{display:none!important}
.supplier-order-line.has-quantity-warning>td{background:#fffaf4}
.supplier-order-line.has-quantity-warning .supplier-qty-input{border-color:#e7a56c;background:#fffaf5}
.supplier-line-flash>td{animation:supplier-line-flash 1.35s ease}
@keyframes supplier-line-flash{0%,100%{background:inherit}25%,70%{background:#fff1df}}
.supplier-subtotal-label{text-align:right!important;color:#3f4c5d;font-size:.8rem;font-weight:900;text-transform:uppercase}
.supplier-order-lines-table tfoot td{background:#f4f6f8;border-top:2px solid #cfd6df;font-size:.92rem}
.supplier-empty-order{padding:26px;border-top:1px dashed #d6dde5;color:#738095;text-align:center;font-size:.8rem}
.supplier-order-actions{display:flex;align-items:center;justify-content:flex-end;gap:9px;margin-top:16px}
.supplier-excel-panel{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(320px,1fr);gap:18px;align-items:center;border-left:4px solid #2e8b4e;background:linear-gradient(135deg,#fff,#f7fcf8)}
.supplier-excel-panel>div:first-child{display:flex;align-items:flex-start;gap:12px}
.supplier-excel-panel h2{margin:0 0 4px;font-size:1.05rem}
.supplier-excel-panel p{margin:0}
.supplier-excel-form{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:9px;align-items:end}
.supplier-export-includes{grid-column:1/-1;padding:9px 11px;border:1px solid #cae6d2;border-radius:9px;background:#f7fcf8;color:#4e6657;font-size:.72rem;line-height:1.4}
.alert.warning{background:#fff8ed;color:#8a460e;border-color:#f1c18f}
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(max-width:1280px){.supplier-summary-grid{grid-template-columns:repeat(3,minmax(130px,1fr))}.supplier-add-product-grid{grid-template-columns:repeat(4,minmax(120px,1fr))}.supplier-add-description,.supplier-add-remarks{grid-column:span 2}.supplier-order-header-grid{grid-template-columns:1fr 1fr}.supplier-order-meta{grid-column:1/-1}.supplier-excel-panel{grid-template-columns:1fr}}
@media(max-width:900px){.supplier-import-form{grid-template-columns:1fr}.supplier-summary-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.supplier-review-toolbar,.supplier-order-filters{align-items:stretch;flex-wrap:wrap}.supplier-search-field{flex-basis:100%}.supplier-result-count{margin-left:0;align-self:center}.supplier-add-product-grid{grid-template-columns:1fr 1fr}.supplier-approval-panel,.supplier-completed-banner{align-items:flex-start;flex-direction:column}.supplier-order-header-grid{grid-template-columns:1fr}.supplier-excel-form{grid-template-columns:1fr}}
@media(max-width:600px){.supplier-order-heading-actions{width:100%;align-items:stretch;flex-direction:column}.supplier-order-heading-actions .button{width:100%}.supplier-summary-grid,.supplier-add-product-grid{grid-template-columns:1fr}.supplier-add-description,.supplier-add-remarks{grid-column:auto}.supplier-search-result{align-items:flex-start;flex-direction:column}.supplier-search-price{width:100%;justify-content:space-between}.supplier-live-search{grid-template-columns:1fr}.supplier-order-actions{align-items:stretch;flex-direction:column}.supplier-order-actions .button{width:100%}.supplier-excel-panel{padding:14px}.supplier-review-toolbar .button,.supplier-order-filters .button{flex:1}.supplier-import-safety-note{flex-direction:column}}

/* INTEGRAL supplier import profile */
.supplier-profile-badge{display:inline-flex;align-items:center;margin-left:7px;padding:3px 7px;border:1px solid #e6a36a;border-radius:999px;background:#fff5ea;color:#9d4b0d;font-size:.62rem;font-weight:950;letter-spacing:.04em;vertical-align:middle}
.supplier-integral-profile-notice{display:flex;align-items:flex-start;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.supplier-integral-profile-notice strong{white-space:nowrap}
.supplier-import-summary{margin:-2px 0 16px;padding:9px 12px;border:1px solid #dce2e8;border-radius:9px;background:#f8fafc;line-height:1.45}
.supplier-price-condition-warning{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0 0 16px}
.supplier-price-condition-warning[hidden]{display:none!important}

/* Secure quotation language: keep longer Greek titles/specifications readable. */
.quotation-approval-machine>div>span,
.quotation-approval-machine li>span{min-width:0;overflow-wrap:anywhere}
.quotation-approval-machine li>span>span{display:block;font-weight:700}
.quotation-approval-machine li>span>em{display:block;font-size:.76rem;line-height:1.35;color:#687687}
.quotation-selection-machine h2,
.quotation-accessory-option b,
.quotation-accessory-specification,
.quotation-live-rental-summary{overflow-wrap:anywhere}
.quotation-accessory-option .quotation-accessory-title{display:block;font-size:.78rem;font-weight:750;color:#35455a;line-height:1.3}

/* Secure quotation links - guided step wizard. */
.secure-link-wizard-progress{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:10px;margin:0 0 18px;padding:10px;border:1px solid #d9e1e9;border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(20,38,58,.06)}
.secure-link-wizard-progress button{position:relative;display:flex;gap:10px;align-items:center;min-width:0;padding:10px 12px;border:0;border-radius:12px;background:transparent;color:#6b7889;cursor:pointer;text-align:left;font:inherit}
.secure-link-wizard-progress button:not(:last-child)::after{content:"";position:absolute;right:-10px;top:50%;width:10px;height:2px;background:#dce3ea}
.secure-link-wizard-progress button>span{display:grid;place-items:center;flex:0 0 30px;width:30px;height:30px;border-radius:10px;background:#e8edf2;color:#5f6c7c;font-size:12px;font-weight:950}
.secure-link-wizard-progress button>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
.secure-link-wizard-progress button.is-current{background:#fff3ea;color:#a84b0d;box-shadow:inset 0 0 0 1px #ef9b61}
.secure-link-wizard-progress button.is-current>span{background:#eb751f;color:#fff}
.secure-link-wizard-progress button.is-complete{color:#286c36}
.secure-link-wizard-progress button.is-complete>span{background:#dff3e4;color:#237333}
.secure-link-summary-toggle{display:none;align-items:center;justify-content:center;gap:8px;width:100%;margin:0 0 12px;padding:10px 14px;border:1px solid #d7e0e8;border-radius:12px;background:#fff;color:#213247;font:inherit;font-weight:900;cursor:pointer}
.secure-link-summary-close{display:none;position:absolute;right:12px;top:10px;z-index:2;width:34px;height:34px;border:0;border-radius:50%;background:#eef2f6;color:#243449;font-size:22px;cursor:pointer}
.secure-link-wizard-layout{align-items:start}
.secure-link-wizard-summary{position:sticky;top:92px;z-index:20}
.secure-link-wizard-controls{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:14px;padding-top:14px;border-top:1px solid #e2e7ec}
.secure-link-wizard-controls .button{width:100%;min-height:44px;margin:0;justify-content:center}
.secure-link-wizard-controls .secure-wizard-submit{grid-column:1/-1;background:#3b963f;border-color:#3b963f;color:#fff}
.secure-link-wizard-controls [hidden]{display:none!important}
.secure-wizard-machine-pager{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;gap:10px;align-items:center;margin:0 0 14px;padding:10px;border:1px solid #dce3ea;border-radius:13px;background:#f6f8fa}
.secure-wizard-machine-pager[hidden]{display:none!important}
.secure-wizard-machine-pager>button{display:grid;place-items:center;width:42px;height:42px;border:1px solid #cfd8e1;border-radius:10px;background:#fff;color:#1f3045;font-size:20px;cursor:pointer}
.secure-wizard-machine-pager>button:disabled{opacity:.38;cursor:not-allowed}
.secure-wizard-machine-pager>div{display:grid;gap:2px;min-width:0;text-align:center}
.secure-wizard-machine-pager strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#1b2c41}
.secure-wizard-machine-pager span{color:#69788b;font-size:11px;font-weight:800}
.secure-link-wizard-review-panel>header{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px}
.secure-link-wizard-review-panel>header>span{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:12px;background:#eb751f;color:#fff;font-weight:950}
.secure-link-wizard-review-panel>header h2{margin:0 0 4px}
.secure-link-wizard-review-panel>header p{margin:0;color:#68778a}
.secure-link-review-content{display:grid;gap:12px}
.secure-link-review-machine,.secure-link-review-contact{overflow:hidden;border:1px solid #dde4eb;border-radius:14px;background:#fff}
.secure-link-review-machine>header,.secure-link-review-contact>header{display:flex;gap:10px;align-items:center;padding:12px 14px;background:#f5f7fa}
.secure-link-review-machine>header>span{display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:8px;background:#1d2d42;color:#fff;font-weight:900}
.secure-link-review-machine>header>div{display:grid;gap:2px;min-width:0;flex:1}
.secure-link-review-machine>header strong{color:#1c2c40}
.secure-link-review-machine>header small{color:#69778a}
.secure-link-review-machine header button,.secure-link-review-contact header button,.secure-selection-review-accessories>button{border:0;background:transparent;color:#d86113;font-weight:900;cursor:pointer}
.secure-link-review-machine dl{display:grid;grid-template-columns:1fr 1.6fr;gap:1px;margin:0;background:#e3e8ed}
.secure-link-review-machine dl>div{padding:12px;background:#fff}
.secure-link-review-machine dt{color:#748195;font-size:10px;font-weight:900;text-transform:uppercase}
.secure-link-review-machine dd{margin:4px 0 0;color:#26374b;font-size:12px;line-height:1.45}
.secure-link-review-contact>header{justify-content:space-between}
.secure-link-review-contact>div{display:flex;flex-wrap:wrap;gap:7px;padding:13px 14px}
.secure-link-review-contact>div>span{padding:6px 9px;border-radius:8px;background:#f2f5f8;color:#314258;font-size:12px}
.secure-link-review-contact>div>p{width:100%;margin:4px 0 0;padding:10px;border-radius:9px;background:#fff8f2;color:#6e4b31;font-size:12px;line-height:1.5}
.secure-selection-review-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:12px 14px}
.secure-selection-review-metrics>span{display:grid;gap:2px;padding:9px;border-radius:9px;background:#f5f7f9}
.secure-selection-review-metrics small{color:#718095;font-size:9px;font-weight:900;text-transform:uppercase}
.secure-selection-review-metrics b{color:#1e2e42;font-size:12px}
.secure-selection-review-accessories{padding:0 14px 14px}
.secure-selection-review-accessories>strong{display:block;margin-bottom:7px;color:#25364a;font-size:12px}
.secure-selection-review-accessories>p{margin:0 0 8px;color:#758297;font-size:12px}
.secure-selection-review-accessories ul{display:grid;gap:5px;margin:0 0 9px;padding:0;list-style:none}
.secure-selection-review-accessories li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;padding:8px;border-radius:8px;background:#f6f8fa;font-size:11px}
.secure-selection-review-accessories li em{font-style:normal;font-weight:900;color:#a94c0b}
.customer-configurator-form[data-wizard-phase="preferences"] .customer-compatible-accessories{display:none}
.customer-configurator-form[data-wizard-phase="accessories"] .customer-request-workspace{display:none}
.customer-configurator-form[data-wizard-phase="accessories"] .customer-compatible-accessories{padding-top:8px}
.quotation-selection-wizard-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:18px;align-items:start}
.quotation-selection-wizard-main{display:grid;gap:16px}
.quotation-selection-wizard-panel{min-width:0}
.quotation-selection-wizard-panel[hidden]{display:none!important}
.quotation-selection-wizard-panel>.quotation-selection-machine:first-child{margin-top:0}
.secure-selection-wizard-form[data-wizard-phase="commercial"] .quotation-accessory-section{display:none}
.secure-selection-wizard-form[data-wizard-phase="accessories"] .quotation-commercial-section{display:none}
.quotation-selection-wizard-summary{padding:14px;border:1px solid #d7e0e8;border-radius:17px;background:#fff;box-shadow:0 12px 35px rgba(19,35,54,.1)}
.quotation-selection-wizard-summary .quotation-live-rental-summary{position:static;left:auto;bottom:auto;transform:none;display:grid;grid-template-columns:1fr!important;gap:9px;width:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;backdrop-filter:none}
.quotation-selection-wizard-summary .quotation-live-total-stack,.quotation-selection-wizard-summary .quotation-live-total-stack.has-multiple{grid-template-columns:1fr}
.quotation-selection-wizard-summary .quotation-live-rental-intro{padding:3px 2px 8px}
.quotation-selection-wizard-summary .quotation-live-rental-intro>strong{white-space:normal}
.quotation-selection-wizard-summary .quotation-live-rental-total>span{display:block}
.quotation-selection-contact.quotation-selection-wizard-panel{margin:0;padding:22px;border:1px solid #dce3eb;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,38,58,.06)}
.quotation-selection-contact.quotation-selection-wizard-panel>p{margin:-4px 0 16px;color:#6c7b8e}
.quotation-selection-wizard-panel.secure-link-wizard-review-panel{padding:22px;border:1px solid #dce3eb;border-radius:18px;background:#fff;box-shadow:0 8px 28px rgba(20,38,58,.06)}
.quotation-approval-wizard-form{max-width:1500px;margin:0 auto 3rem}
.quotation-approval-wizard-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:1.25rem;align-items:start}
.quotation-approval-wizard-main{display:grid;gap:1rem}
.quotation-approval-wizard-panel[hidden]{display:none!important}
.quotation-approval-wizard-form .quotation-approval-response-card{position:static}
.quotation-approval-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:14px}
.quotation-approval-details-grid label{display:grid;gap:6px;font-weight:800}
.quotation-approval-details-grid .is-wide{grid-column:1/-1}
.quotation-approval-wizard-summary{padding:18px;border:1px solid #d7e0e8;border-radius:17px;background:#fff;box-shadow:0 12px 35px rgba(19,35,54,.1)}
.quotation-approval-wizard-summary>span{color:#e66e1c;font-size:10px;font-weight:950;letter-spacing:.09em}
.quotation-approval-wizard-summary h2{margin:5px 0}
.quotation-approval-wizard-summary>p{margin:0;color:#718095;font-size:11px}
.quotation-approval-wizard-total{display:grid;gap:8px;margin-top:14px}
.quotation-approval-wizard-total>div{display:grid;gap:3px;padding:11px;border-radius:10px;background:#1d2d42;color:#fff}
.quotation-approval-wizard-total small{color:#cbd5df;font-size:9px;text-transform:uppercase}
.quotation-approval-wizard-total strong{font-size:17px}
.is-validation-error{animation:secureWizardError .5s ease 2}
@keyframes secureWizardError{50%{box-shadow:0 0 0 4px rgba(190,30,45,.18)}}
@media(max-width:980px){
    .secure-link-wizard-progress{overflow-x:auto;grid-auto-columns:minmax(155px,1fr);scrollbar-width:thin}
    .customer-configurator-layout.secure-link-wizard-layout,.quotation-selection-wizard-layout,.quotation-approval-wizard-layout{grid-template-columns:1fr}
    .secure-link-summary-toggle{display:flex}
    .secure-link-wizard-summary{position:fixed!important;z-index:1200;inset:auto 10px 10px 10px;top:auto!important;max-height:min(78vh,720px);overflow:auto;transform:translateY(calc(100% + 28px));opacity:0;pointer-events:none;transition:transform .2s ease,opacity .2s ease}
    .secure-link-wizard-summary.is-mobile-open{transform:translateY(0);opacity:1;pointer-events:auto}
    .secure-link-summary-close{display:grid;place-items:center}
    body.secure-link-summary-open::before{content:"";position:fixed;z-index:1190;inset:0;background:rgba(16,27,41,.54)}
    body.secure-link-summary-open{overflow:hidden}
}
@media(max-width:700px){
    .secure-link-wizard-progress{margin-bottom:12px;padding:7px}
    .secure-link-wizard-progress button{padding:8px}
    .secure-link-wizard-progress button>span{flex-basis:27px;width:27px;height:27px}
    .secure-link-wizard-progress button>strong{font-size:11px}
    .secure-link-wizard-controls{grid-template-columns:1fr}
    .secure-link-wizard-controls .secure-wizard-submit{grid-column:auto}
    .secure-link-review-machine dl,.quotation-approval-details-grid{grid-template-columns:1fr}
    .secure-selection-review-metrics{grid-template-columns:1fr 1fr}
    .secure-selection-review-accessories li{grid-template-columns:auto minmax(0,1fr)}
    .secure-selection-review-accessories li em{grid-column:2}
}
@media(max-width:480px){
    .secure-link-wizard-progress{grid-auto-columns:minmax(135px,1fr)}
    .secure-wizard-machine-pager{grid-template-columns:38px minmax(0,1fr) 38px}
    .secure-wizard-machine-pager>button{width:38px;height:38px}
    .secure-selection-review-metrics{grid-template-columns:1fr}
}


/* =========================================================
   Quotation page-profit single-source fix
   Customer selling page charges stay in the Rental Quotation option.
   Internal per-page costs are saved only by the internal cost calculator.
   ========================================================= */
@media(min-width:761px){
    .quotation-rental-fields-compact>.quotation-rental-price-field,
    .quotation-rental-fields-compact>.quotation-black-charge-field,
    .quotation-rental-fields-compact>.quotation-colour-charge-field{
        min-width:0;
        white-space:normal!important;
        font-size:.72rem!important;
        letter-spacing:-.006em!important;
        line-height:1.2!important
    }
    .quotation-rental-fields-compact>.quotation-rental-price-field>label,
    .quotation-rental-fields-compact>.quotation-black-charge-field,
    .quotation-rental-fields-compact>.quotation-colour-charge-field{
        display:grid;
        grid-template-rows:minmax(2.55em,auto) auto;
        align-content:end;
        gap:6px
    }
    .quotation-rental-fields-compact>.quotation-rental-price-field>label>span,
    .quotation-rental-fields-compact>.quotation-black-charge-field>span,
    .quotation-rental-fields-compact>.quotation-colour-charge-field>span{
        display:flex;
        align-items:flex-end;
        min-width:0;
        min-height:2.55em;
        white-space:normal;
        overflow-wrap:anywhere;
        word-break:normal
    }
}
@media(max-width:760px){
    .quotation-rental-fields-compact>.quotation-rental-price-field>label,
    .quotation-rental-fields-compact>.quotation-black-charge-field,
    .quotation-rental-fields-compact>.quotation-colour-charge-field{
        display:grid;
        gap:6px
    }
    .quotation-rental-fields-compact>.quotation-rental-price-field>label>span,
    .quotation-rental-fields-compact>.quotation-black-charge-field>span,
    .quotation-rental-fields-compact>.quotation-colour-charge-field>span{
        white-space:normal;
        overflow-wrap:anywhere
    }
}

.quotation-page-charge-apply-fields.is-internal-cost-only input[readonly]{
    cursor:default;
    border-color:#bfd2c4;
    background:#eef8f1;
    color:#176a38;
    box-shadow:inset 0 0 0 1px rgba(23,106,56,.04)
}
.quotation-page-charge-apply-fields.is-internal-cost-only label{
    color:#315b40
}

.quotation-profit-rate-comparison{
    display:grid;
    gap:7px
}
.quotation-profit-rate-row{
    display:grid;
    grid-template-columns:minmax(44px,.62fr) repeat(3,minmax(0,1fr));
    gap:5px;
    align-items:stretch;
    min-width:0;
    padding:7px;
    border:1px solid #dfe5eb;
    border-radius:9px;
    background:#fff
}
.quotation-profit-rate-row[hidden]{display:none!important}
.quotation-profit-rate-row>strong{
    display:flex;
    align-items:center;
    min-width:0;
    color:#273545;
    font-size:.65rem;
    font-weight:950;
    line-height:1.15
}
.quotation-profit-rate-row>span{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    gap:2px;
    padding:5px 6px;
    border-radius:7px;
    background:#eef2f6
}
.quotation-profit-rate-row small,
.quotation-profit-rate-row b{
    display:block;
    min-width:0;
    overflow-wrap:anywhere
}
.quotation-profit-rate-row small{
    color:#687589;
    font-size:.49rem;
    font-weight:900;
    line-height:1.15
}
.quotation-profit-rate-row b{
    color:#273545;
    font-size:.66rem;
    line-height:1.15
}
.quotation-profit-volume-cost-note small.is-error{
    display:block;
    padding:7px 8px;
    border:1px solid #df8b83;
    border-radius:8px;
    background:#fff2f0;
    color:#a52d24;
    font-weight:850
}
.quotation-profit-volume-cost-note small.is-warning{
    display:block;
    padding:7px 8px;
    border:1px solid #e6ad6f;
    border-radius:8px;
    background:#fff8ed;
    color:#965010;
    font-weight:850
}
.quotation-profit-volume-cost-note small.is-success{
    color:#4f6b59
}
@media(max-width:1180px){
    .quotation-profit-rate-row{
        grid-template-columns:minmax(54px,.7fr) repeat(3,minmax(80px,1fr))
    }
}
@media(max-width:520px){
    .quotation-profit-rate-row{
        grid-template-columns:1fr 1fr;
        gap:6px
    }
    .quotation-profit-rate-row>strong{
        grid-column:1/-1
    }
}

/* =========================================================
   Quotation commercial-option expansion + single page-charge editor
   ========================================================= */
.quotation-commercial-grid-three{
    align-items:start;
}
.quotation-option-panel{
    align-self:start;
    min-width:0;
    transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}
.quotation-option-panel.is-collapsed{
    background:#fbfcfd;
    border-color:#d8dee6;
    box-shadow:none;
}
.quotation-option-panel.is-collapsed .quotation-option-toggle small{
    color:#7b8798;
}
.quotation-option-panel.is-selected{
    background:#fff;
    border-color:rgba(235,112,33,.72);
    box-shadow:0 7px 20px rgba(28,38,52,.07);
}
.quotation-option-panel.is-selected .quotation-option-toggle strong{
    color:#9f4213;
}
.quotation-option-expander{
    min-width:0;
    margin-top:13px;
    padding-top:13px;
    border-top:1px solid #e5e9ee;
}
.quotation-option-expander[hidden]{
    display:none!important;
}
.quotation-page-charge-saved-summary{
    grid-column:1/-1;
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
}
.quotation-page-charge-saved-summary>span{
    display:flex;
    min-width:0;
    flex-direction:column;
    justify-content:center;
    gap:4px;
    padding:10px 11px;
    border:1px solid #dce3ea;
    border-radius:9px;
    background:#f7f9fb;
}
.quotation-page-charge-saved-summary small{
    color:#687589;
    font-size:.68rem;
    font-weight:800;
    line-height:1.3;
}
.quotation-page-charge-saved-summary strong{
    color:#1e6d3b;
    font-size:.94rem;
}
.quotation-page-charge-saved-summary em{
    color:#a3491a;
    font-size:.78rem;
    font-style:normal;
    font-weight:850;
}
.quotation-option-fields>.quotation-page-charge-launch{
    grid-column:1/-1;
}
.quotation-page-charge-launch{
    appearance:none;
    position:static!important;
    inset:auto!important;
    z-index:auto;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:9px;
    width:100%!important;
    height:auto!important;
    min-height:42px;
    margin:0!important;
    padding:6px 12px!important;
    border:1px solid #df651c;
    border-radius:9px!important;
    background:#fff7f1;
    color:#a84714;
    font:inherit;
    font-size:.78rem;
    font-weight:900;
    box-shadow:none;
    cursor:pointer;
    overflow:visible;
    white-space:normal;
    transform:none!important;
    transition:background .18s ease,border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.quotation-page-charge-launch:hover,.quotation-page-charge-launch:focus-visible{
    width:100%!important;
    background:#fff0e5;
    border-color:#c95013;
    color:#963b0e;
    box-shadow:0 5px 14px rgba(199,81,17,.12);
    transform:translateY(-1px)!important;
    outline:none;
}
.quotation-page-charge-launch-icon{
    flex:0 0 29px;
    width:29px;
    height:29px;
    border-radius:8px;
}
.quotation-page-charge-launch-icon::before{
    width:16px;
    height:18px;
    border-width:1.6px;
    border-radius:4px;
    background:linear-gradient(to bottom,currentColor 0 3px,transparent 3px 100%);
}
.quotation-page-charge-launch-icon::after{
    left:10px;
    top:12px;
    width:10px;
    height:9px;
    background:radial-gradient(circle at 1.7px 1.7px,currentColor 1px,transparent 1.15px) 0 0/5px 4.5px;
}
.quotation-page-charge-launch-text{
    padding:0;
    opacity:1!important;
    white-space:normal;
}
.quotation-page-charge-customer-fields{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:9px;
    padding:11px;
    border:1px solid #d9e0e8;
    border-radius:10px;
    background:#fff;
}
.quotation-page-charge-customer-fields>strong{
    grid-column:1/-1;
    color:#263244;
    font-size:.82rem;
}
.quotation-page-charge-customer-fields label{
    display:flex;
    flex-direction:column;
    gap:5px;
    color:#465367;
    font-size:.74rem;
    font-weight:850;
}
.quotation-page-charge-apply-fields label,
.quotation-page-charge-customer-fields label{
    min-width:0;
}
.quotation-page-charge-apply-fields:has([data-page-charge-colour-apply-wrap][hidden])>label:not([hidden]),
.quotation-page-charge-customer-fields:has([data-page-charge-colour-customer-wrap][hidden])>label:not([hidden]){
    grid-column:1/-1;
}
.quotation-page-charge-customer-fields input{
    width:100%;
    border:1px solid #d19a76;
    border-radius:8px;
    background:#fffaf6;
    padding:10px 11px;
    color:#202a38;
    font-weight:900;
}
.quotation-page-charge-customer-fields input:focus{
    border-color:#df651c;
    box-shadow:0 0 0 3px rgba(223,101,28,.12);
    outline:none;
}
.quotation-page-charge-margin-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
}
.quotation-page-charge-margin-grid>div{
    display:flex;
    min-width:0;
    flex-direction:column;
    gap:3px;
    padding:10px;
    border:1px solid #dce2e8;
    border-radius:9px;
    background:#fff;
}
.quotation-page-charge-margin-grid span{
    color:#657286;
    font-size:.65rem;
    font-weight:850;
    line-height:1.25;
}
.quotation-page-charge-margin-grid strong{
    color:#273445;
    font-size:.88rem;
}
.quotation-page-charge-margin-grid>div.is-profit{
    border-color:#94cfa8;
    background:#eff9f2;
}
.quotation-page-charge-margin-grid>div.is-profit strong{color:#176a38}
.quotation-page-charge-margin-grid>div.is-loss{
    border-color:#e3a3a3;
    background:#fff3f3;
}
.quotation-page-charge-margin-grid>div.is-loss strong{color:#a51f2f}
.quotation-page-charge-margin-grid>div.is-even{
    border-color:#e5c891;
    background:#fff9ed;
}
.quotation-page-charge-margin-grid>div.is-even strong{color:#8a5b13}
.quotation-page-charge-margin-grid>div.is-unavailable strong{color:#8a94a3}
.quotation-page-charge-results{
    min-width:340px;
}
@media(max-width:760px){
    .quotation-page-charge-saved-summary,
    .quotation-page-charge-margin-grid{
        grid-template-columns:1fr;
    }
    .quotation-page-charge-results{
        min-width:0;
    }
}
.quotation-page-charge-launch.quotation-field-missing{
    border-color:#bf2f36!important;
    background:#fff1f1!important;
    color:#9f1f28!important;
    box-shadow:0 0 0 3px rgba(191,47,54,.10)!important;
}

/* Secure quotation final selection: green means selected; preserve required-attention pulse unchanged. */
.quotation-commercial-option.is-selected{
    border-color:#4f9b67;
    background:#eef8f1;
    box-shadow:0 0 0 2px rgba(47,138,81,.10)
}
.quotation-commercial-option.is-selected>input{
    accent-color:#2f8a51
}
.quotation-commercial-option.is-selected .quotation-commercial-option-copy em{
    background:#dff1e5;
    color:#246d40
}
.quotation-commercial-option.is-selected .quotation-commercial-metrics>span.is-primary{
    border-color:#75b98b;
    background:#e8f6ed;
    box-shadow:inset 0 0 0 1px rgba(47,138,81,.08)
}
.quotation-commercial-option.is-selected .quotation-commercial-metrics>span.is-primary small,
.quotation-commercial-option.is-selected .quotation-commercial-metrics>span.is-primary b,
.quotation-commercial-option.is-selected .quotation-commercial-metrics>span.is-page-charge b{
    color:#246d40
}
.quotation-selection-accessories label.quotation-accessory-option.is-selected,
.quotation-selection-accessories label.quotation-accessory-option.is-selected.is-mandatory{
    border-color:#4f9b67;
    background:#eef8f1
}
.quotation-selection-accessories label.quotation-accessory-option.is-selected>input,
.quotation-selection-accessories label.quotation-accessory-option.is-selected.is-mandatory>input{
    accent-color:#2f8a51
}
.quotation-selection-accessories label.quotation-accessory-option.is-selected>strong,
.quotation-selection-accessories label.quotation-accessory-option.is-selected>strong.quotation-accessory-package-total{
    background:#dff1e5;
    color:#246d40
}
.quotation-selection-accessories label.quotation-accessory-option.is-selected>strong.quotation-accessory-package-total>small{
    color:#347a4e
}


/* Secure final-selection phone layout rebuilt as an isolated presentation layer.
   Desktop markup and desktop rules remain unchanged. */
.quotation-accessory-option-mobile{display:none}

@media (max-width:700px){
    html{-webkit-text-size-adjust:100%;text-size-adjust:100%}
    .quotation-selection-public-page .page-shell{width:100%;max-width:none;padding-right:10px;padding-left:10px}
    .quotation-selection-public-page .main-content{padding-top:10px;padding-bottom:16px}

    .quotation-selection-hero{display:grid;gap:10px;margin:10px 0 12px;padding:16px 17px;border-radius:16px}
    .quotation-selection-hero>div{min-width:0}
    .quotation-selection-hero span{font-size:9px;letter-spacing:.08em}
    .quotation-selection-hero h1{margin:4px 0 0;font-size:25px;line-height:1.08}
    .quotation-selection-hero p{display:none}
    .quotation-selection-hero aside{min-width:0;margin:0;padding:9px 11px;border-radius:10px}
    .quotation-selection-hero aside strong{font-size:12px}
    .quotation-selection-hero aside small{font-size:10px}

    .quotation-selection-form{gap:12px}
    .quotation-selection-machine{border-radius:14px;box-shadow:0 7px 22px rgba(20,38,58,.06)}
    .quotation-selection-machine>header{grid-template-columns:62px minmax(0,1fr);gap:10px;padding:12px}
    .quotation-selection-machine>header img{width:62px;height:58px;border-radius:8px}
    .quotation-selection-machine>header span{font-size:9px}
    .quotation-selection-machine>header h2{margin:2px 0;font-size:20px;line-height:1.12}
    .quotation-selection-machine>header p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:10px;line-height:1.35;overflow-wrap:normal;word-break:normal}
    .quotation-selection-machine>section{padding:12px}
    .quotation-selection-machine>section h3{margin-bottom:9px;font-size:18px;line-height:1.18}
    .quotation-selection-guidance{margin:-2px 0 10px;font-size:10px;line-height:1.4}

    .quotation-selection-commercial.is-single{grid-template-columns:1fr}
    .quotation-commercial-option.is-fixed{gap:7px;padding:8px 9px;border-radius:11px}
    .quotation-commercial-option.is-fixed .quotation-commercial-option-copy{display:flex;align-items:center;justify-content:space-between;gap:8px}
    .quotation-commercial-option.is-fixed .quotation-commercial-option-copy strong{font-size:15px;line-height:1.15}
    .quotation-commercial-option.is-fixed .quotation-commercial-option-copy em{font-size:8px}
    .quotation-commercial-option.is-fixed .quotation-commercial-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
    .quotation-commercial-metrics>span{align-content:center;min-height:0;padding:7px 9px;border-radius:9px}
    .quotation-commercial-metrics small{font-size:11px;line-height:1.12;letter-spacing:0;text-transform:none}
    .quotation-commercial-label-desktop{display:none}
    .quotation-commercial-label-mobile{display:inline}
    .quotation-commercial-metrics b{font-size:16px;line-height:1.15;overflow-wrap:normal;word-break:normal}
    .quotation-commercial-metrics>span.is-primary b{font-size:16px}
    .quotation-commercial-metrics>span.is-page-charge{padding-left:10px}
    .quotation-commercial-metrics>span.is-page-charge small{align-items:center;gap:5px}
    .quotation-commercial-metrics>span.is-page-charge small::before{height:18px;min-width:18px;padding:0 4px;font-size:8px}
    .quotation-commercial-metrics>span.is-colour-page small::before{min-width:36px}
    .quotation-commercial-metrics>span.is-minimum-pages{grid-column:1/-1;min-height:auto}

    .quotation-accessory-groups{gap:10px}
    .quotation-accessory-group{border-radius:12px}
    .quotation-accessory-group>header{align-items:flex-start;gap:8px;padding:10px}
    .quotation-accessory-group>header h4{align-items:flex-start;flex-wrap:wrap;gap:5px;font-size:16px;line-height:1.15}
    .quotation-accessory-group>header h4 span{padding:3px 6px;font-size:8px}
    .quotation-accessory-group>header p{margin-top:5px;font-size:10px;line-height:1.35}
    .quotation-accessory-group>header>b{flex:0 0 auto;min-width:34px;height:28px;font-size:10px}
    .quotation-accessory-group .quotation-selection-accessories{grid-template-columns:1fr;gap:8px;padding:8px}

    .quotation-accessory-option-desktop{display:none!important}
    .quotation-selection-accessories label.quotation-accessory-option-mobile{
        display:grid;
        grid-template-columns:22px minmax(0,1fr);
        gap:8px;
        align-items:center;
        min-width:0;
        min-height:0;
        padding:10px;
        border:1px solid #dfe5ec;
        border-radius:11px;
        background:#fff;
        cursor:pointer
    }
    .quotation-selection-accessories label.quotation-accessory-option-mobile>input{
        align-self:center;
        width:20px;
        height:20px;
        margin:0;
        accent-color:#2f8a51
    }
    .quotation-accessory-mobile-content{
        display:grid;
        grid-template-columns:52px minmax(0,1fr);
        gap:9px;
        align-items:center;
        min-width:0
    }
    .quotation-accessory-mobile-content>img{
        grid-row:auto;
        width:52px;
        height:46px;
        object-fit:contain;
        border-radius:8px;
        background:#f4f7f9
    }
    .quotation-accessory-mobile-copy{display:grid;gap:3px;min-width:0}
    .quotation-accessory-mobile-heading{
        display:grid;
        grid-template-columns:minmax(0,1fr) auto;
        gap:7px;
        align-items:start;
        min-width:0
    }
    .quotation-accessory-mobile-heading>b{
        min-width:0;
        color:#17283d;
        font-size:14px;
        line-height:1.2;
        white-space:normal;
        overflow:visible;
        overflow-wrap:normal;
        word-break:normal;
        hyphens:none
    }
    .quotation-accessory-mobile-price{
        display:block;
        min-width:0;
        padding:5px 7px;
        border-radius:8px;
        background:#f5f8fb;
        color:#1c2d42;
        text-align:right;
        white-space:nowrap
    }
    .quotation-accessory-mobile-price>small{display:none}
    .quotation-accessory-mobile-price>span{font-size:12px;font-weight:900;white-space:nowrap}
    .quotation-accessory-option-mobile .quotation-accessory-title{
        min-width:0;
        color:#35455a;
        font-size:11px;
        font-weight:750;
        line-height:1.25;
        white-space:normal;
        overflow-wrap:normal;
        word-break:normal
    }
    .quotation-accessory-option-mobile .quotation-accessory-specification{
        display:-webkit-box;
        min-width:0;
        overflow:hidden;
        -webkit-box-orient:vertical;
        -webkit-line-clamp:2;
        color:#67778c;
        font-size:10px;
        font-weight:650;
        line-height:1.32;
        white-space:normal;
        overflow-wrap:normal;
        word-break:normal
    }
    .quotation-accessory-option-mobile em{font-size:9px;font-style:normal;line-height:1.25}
    .quotation-accessory-option-mobile em.is-required{
        display:inline-flex;
        width:max-content;
        max-width:100%;
        padding:3px 6px;
        border-radius:999px;
        background:#e97818;
        color:#fff;
        font-size:8px;
        font-weight:900
    }
    .quotation-selection-accessories label.quotation-accessory-option-mobile.is-selected,
    .quotation-selection-accessories label.quotation-accessory-option-mobile.is-selected.is-mandatory{
        border-color:#4f9b67;
        background:#eef8f1
    }
    .quotation-accessory-option-mobile.is-selected .quotation-accessory-mobile-price{
        background:#dff1e5;
        color:#246d40
    }
    .quotation-accessory-option-mobile.is-unavailable{opacity:.62;cursor:not-allowed}
    .quotation-accessory-option-mobile .quotation-accessory-included-items{
        grid-column:auto;
        gap:4px;
        margin-top:3px;
        padding:6px
    }
    .quotation-accessory-option-mobile .quotation-accessory-included-item{
        grid-template-columns:26px minmax(0,1fr);
        gap:6px;
        padding:5px
    }
    .quotation-accessory-option-mobile .quotation-accessory-included-item>img{width:25px;height:24px}
    .quotation-accessory-option-mobile .quotation-accessory-included-item>strong{grid-column:2;width:max-content;font-size:8px}

    .quotation-selection-fixed{padding:9px}
    .quotation-selection-fixed>div{grid-template-columns:1fr}
    .quotation-fixed-accessory{grid-template-columns:40px minmax(0,1fr);padding:8px}
    .quotation-fixed-accessory>img{width:38px;height:36px}
    .quotation-fixed-accessory>strong{grid-column:2;width:max-content}

    .quotation-live-rental-summary,
    .quotation-live-rental-summary:not(.has-rental-total),
    .quotation-live-rental-summary.has-multiple-totals{
        position:fixed;
        z-index:950;
        left:max(6px,env(safe-area-inset-left,0px));
        right:max(6px,env(safe-area-inset-right,0px));
        bottom:max(4px,env(safe-area-inset-bottom,0px));
        transform:none;
        grid-template-columns:1fr;
        gap:6px;
        width:auto;
        max-width:none;
        margin:0;
        padding:7px;
        border-width:1px;
        border-top-width:3px;
        border-radius:13px;
        background:rgba(255,255,255,.985);
        box-shadow:0 -8px 26px rgba(20,38,58,.18);
        backdrop-filter:blur(10px)
    }
    .quotation-live-rental-intro{display:none}
    .quotation-live-total-stack,
    .quotation-live-total-stack.has-multiple{display:grid;grid-template-columns:1fr;gap:5px}
    .quotation-live-total-stack.has-multiple .quotation-live-rental-total,
    .quotation-live-rental-total{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
    .quotation-live-price-box{min-height:52px;padding:7px 9px;border-radius:9px}
    .quotation-live-price-box>small{color:#fff;font-size:0;line-height:1.15;font-weight:950;letter-spacing:.025em;white-space:nowrap}
    .quotation-live-price-box>small::after{content:attr(data-mobile-label);font-size:11px;line-height:1.15}
    .quotation-live-price-box.is-with-vat>small{color:#fff}
    .quotation-live-price-box>strong{font-size:18px;line-height:1.05;white-space:nowrap}
    .quotation-live-price-box>strong em{margin-left:1px;font-size:14px;font-weight:850;vertical-align:baseline}
    .quotation-selection-confirm,
    .quotation-live-rental-summary:not(.has-rental-total) .quotation-selection-confirm{
        grid-column:1;
        grid-template-columns:25px minmax(0,1fr);
        grid-template-rows:auto;
        min-height:40px;
        padding:6px 10px;
        border-radius:9px;
        text-align:center
    }
    .quotation-selection-confirm>span{grid-row:1;width:25px;height:25px;font-size:13px}
    .quotation-selection-confirm>b{align-self:center;font-size:12px;line-height:1.1}
    .quotation-selection-confirm>small{display:none}
    .quotation-selection-public-page.has-quotation-rental-summary .quotation-selection-form{
        padding-bottom:calc(122px + env(safe-area-inset-bottom,0px))
    }
    .quotation-accessory-group,.quotation-accessory-section{
        scroll-margin-bottom:calc(126px + env(safe-area-inset-bottom,0px))
    }

    .quotation-selection-contact{padding:13px;border-radius:13px}
    .quotation-selection-contact h2{font-size:19px}
    .quotation-selection-contact>div{grid-template-columns:1fr;gap:9px}
    .quotation-selection-contact label{font-size:12px}
}

@media (max-width:360px){
    .quotation-selection-public-page .page-shell{padding-right:7px;padding-left:7px}
    .quotation-selection-hero h1{font-size:22px}
    .quotation-commercial-metrics>span{min-height:0;padding:6px 8px}
    .quotation-commercial-metrics small{font-size:10px}
    .quotation-commercial-metrics b,
    .quotation-commercial-metrics>span.is-primary b{font-size:15px}
    .quotation-accessory-mobile-content{grid-template-columns:46px minmax(0,1fr);gap:7px}
    .quotation-accessory-mobile-content>img{width:46px;height:42px}
    .quotation-accessory-mobile-heading>b{font-size:13px}
    .quotation-accessory-mobile-price{padding:4px 5px}
    .quotation-accessory-mobile-price>span{font-size:11px}
    .quotation-live-price-box{min-height:50px;padding:7px}
    .quotation-live-price-box>small::after{font-size:10.5px;letter-spacing:.015em}
    .quotation-live-price-box>strong{font-size:17px}
    .quotation-live-price-box>strong em{font-size:13px}
    .quotation-selection-confirm>b{font-size:11.5px}
}

/* Isolation hardening: the dedicated phone row never participates in desktop layout. */
.quotation-selection-accessories label.quotation-accessory-option-mobile{display:none!important}
@media (max-width:700px){
    .quotation-selection-accessories label.quotation-accessory-option-mobile{display:grid!important}
    .quotation-accessory-option-mobile .quotation-accessory-mobile-copy>*,
    .quotation-accessory-option-mobile .quotation-accessory-mobile-heading>*,
    .quotation-accessory-option-mobile .quotation-accessory-mobile-price>*,
    .quotation-accessory-option-mobile .quotation-accessory-title,
    .quotation-accessory-option-mobile .quotation-accessory-specification,
    .quotation-accessory-option-mobile em{
        grid-column:auto!important;
        grid-row:auto!important
    }
    .quotation-accessory-mobile-heading{width:100%}
    .quotation-accessory-mobile-heading>b{justify-self:start}
    .quotation-accessory-mobile-price{justify-self:end}
}


/* Secure selection category instruction and structured accessory specifications. */
.quotation-accessory-group>header h4 .quotation-select-one{
    display:inline-flex;
    flex:0 0 auto;
    align-items:center;
    justify-content:center;
    padding:0;
    border:0;
    background:transparent;
    color:#21833f;
    font-size:1em;
    font-weight:inherit;
    letter-spacing:inherit;
    line-height:inherit;
    text-transform:none;
    white-space:nowrap
}
.quotation-accessory-group>header h4 .quotation-select-one.is-attention{
    animation:quotation-select-one-soft-blink 1.65s ease-in-out infinite
}
.quotation-accessory-group>header h4 .quotation-select-one.is-complete{
    min-width:1em;
    color:#21833f;
    font-size:1.1em;
    font-weight:950;
    animation:none
}
@keyframes quotation-select-one-soft-blink{
    0%,100%{opacity:1;color:#21833f;text-shadow:0 0 0 rgba(33,131,63,0)}
    50%{opacity:.54;color:#43a85f;text-shadow:0 0 7px rgba(33,131,63,.22)}
}
.quotation-accessory-option-desktop>span>b{
    font-size:14px;
    font-weight:900;
    line-height:1.2
}
.quotation-accessory-specification.quotation-accessory-specification-lines{
    display:grid!important;
    gap:1px;
    margin-top:1px;
    overflow:visible!important;
    color:#617188;
    font-size:11px;
    font-weight:500;
    -webkit-box-orient:initial!important;
    -webkit-line-clamp:unset!important;
    white-space:normal!important
}
.quotation-accessory-specification-lines>span{
    display:grid;
    grid-template-columns:max-content minmax(0,1fr);
    column-gap:4px;
    align-items:baseline;
    min-width:0;
    line-height:1.3
}
.quotation-accessory-specification-lines>span>b{
    display:inline;
    grid-column:1!important;
    grid-row:auto!important;
    color:#45566c;
    font:inherit;
    font-weight:700
}
.quotation-accessory-specification-lines>span>span{
    display:block;
    grid-column:2!important;
    grid-row:auto!important;
    min-width:0;
    color:#617188;
    font:inherit;
    font-weight:500
}
@media(max-width:700px){
    .quotation-accessory-group[data-group-key="document"]>header h4{
        flex-wrap:nowrap;
        gap:5px;
        white-space:nowrap;
        font-size:clamp(13px,3.65vw,16px);
        letter-spacing:-.01em
    }
    .quotation-accessory-group>header h4 .quotation-select-one{font-size:1em}
    .quotation-accessory-mobile-copy{gap:0}
    .quotation-accessory-mobile-heading{align-items:center;margin-bottom:1px}
    .quotation-accessory-mobile-heading>b{font-size:14px;font-weight:900;line-height:1.15}
    .quotation-accessory-mobile-price{padding:3px 6px}
    .quotation-accessory-option-mobile .quotation-accessory-specification-lines{
        display:grid!important;
        gap:0;
        margin-top:0;
        overflow:visible!important;
        -webkit-line-clamp:unset!important
    }
    .quotation-accessory-option-mobile .quotation-accessory-specification-lines>span{
        grid-template-columns:max-content minmax(0,1fr);
        column-gap:4px;
        font-size:10.5px;
        line-height:1.26
    }
    .quotation-accessory-option-mobile .quotation-accessory-specification-lines>span>b{font-weight:700}
}
@media(prefers-reduced-motion:reduce){
    .quotation-accessory-group>header h4 .quotation-select-one.is-attention{
        animation:none;
        color:#21833f;
        text-decoration:underline;
        text-decoration-thickness:2px;
        text-underline-offset:3px
    }
}

/* Applied page-charge state and compact included-attachment presentation. */
.quotation-page-charge-launch.is-applied{
    border-color:#4f9b67!important;
    background:#eef8f1!important;
    color:#246d40!important;
    box-shadow:0 0 0 2px rgba(47,138,81,.08)!important;
}
.quotation-page-charge-launch.is-applied:hover,
.quotation-page-charge-launch.is-applied:focus-visible{
    border-color:#2f8a51!important;
    background:#e2f4e8!important;
    color:#1e6138!important;
    box-shadow:0 5px 14px rgba(47,138,81,.16)!important;
}
.quotation-page-charge-launch.is-applied .quotation-page-charge-launch-icon{
    background:#2f8a51!important;
    color:#fff!important;
    box-shadow:none!important;
}
.quotation-page-charge-launch.is-applied .quotation-page-charge-launch-icon::before{
    content:"✓"!important;
    display:block!important;
    width:auto!important;
    height:auto!important;
    border:0!important;
    border-radius:0!important;
    background:none!important;
    color:inherit!important;
    font-size:1.02rem!important;
    font-weight:950!important;
    line-height:1!important;
}
.quotation-page-charge-launch.is-applied .quotation-page-charge-launch-icon::after{display:none!important}

.quotation-accessory-included-items{
    gap:6px;
    padding:7px 8px;
    border-color:#b9ddc5;
    background:#f5fbf7;
}
.quotation-accessory-included-items>.quotation-accessory-included-heading{
    color:#246d40;
    font-size:8.5px;
    letter-spacing:.03em;
}
.quotation-selection-accessories .quotation-accessory-included-item{
    grid-template-columns:22px 34px minmax(0,1fr) auto;
    gap:7px;
    padding:6px 7px;
    border:1px solid #d6eadc;
    background:#fff;
}
.quotation-accessory-included-check{
    display:grid;
    place-items:center;
    width:20px;
    height:20px;
    border-radius:50%;
    background:#2f8a51;
    color:#fff;
    font-size:11px;
    font-weight:950;
}
.quotation-selection-accessories .quotation-accessory-included-item>img{
    width:32px;
    height:30px;
}
.quotation-accessory-included-status{
    display:grid;
    justify-items:end;
    gap:2px;
    min-width:0;
    text-align:right;
}
.quotation-accessory-included-status>b{
    padding:3px 7px;
    border-radius:999px;
    background:#dff1e5;
    color:#246d40;
    font-size:8px;
    font-weight:950;
    line-height:1.1;
}
.quotation-accessory-included-status>small{
    color:#246d40;
    font-size:8.5px;
    font-weight:850;
    white-space:nowrap;
}
@media(max-width:700px){
    .quotation-accessory-option-mobile .quotation-accessory-included-item{
        grid-template-columns:20px 28px minmax(0,1fr);
        gap:6px;
    }
    .quotation-accessory-option-mobile .quotation-accessory-included-check{
        width:18px;
        height:18px;
        font-size:10px;
    }
    .quotation-accessory-option-mobile .quotation-accessory-included-status{
        grid-column:3;
        justify-items:start;
        text-align:left;
    }
    .quotation-accessory-option-mobile .quotation-accessory-included-status>small{
        font-size:8px;
    }
}


/* Public machine details: datasheet left, quotation action at the far right. */
.rds-product-actions.rds-public-machine-action-row {
    width: 100%;
    align-items: center;
    flex-wrap: nowrap;
}

.rds-public-machine-action-row > .rds-product-datasheet-action {
    order: 1;
    flex: 0 0 auto;
}

.rds-public-machine-action-row > .rds-product-quote-actions {
    order: 2;
    width: auto;
    margin-left: auto;
    justify-content: flex-end;
}

@media (max-width: 760px) {
    .rds-product-actions.rds-public-machine-action-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
        gap: 10px;
    }

    .rds-public-machine-action-row > .rds-product-quote-actions {
        order: 1;
        width: 100%;
        margin-left: 0;
    }

    .rds-public-machine-action-row > .rds-product-datasheet-action {
        order: 2;
        width: 100%;
    }
}

/* Quotation company branding editor and secure owner branding */
.quotation-profile-header-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.required-field-label{display:inline-flex;align-items:center;gap:5px;min-height:1.2em}.required-field-label>b{order:-1;color:#c44c1a;font-size:.95em;line-height:1}
.branding-preview-backdrop{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:24px;background:rgba(15,24,37,.72);backdrop-filter:blur(5px)}
.branding-preview-backdrop[hidden]{display:none!important}.branding-preview-open{overflow:hidden}
.branding-preview-modal{width:min(1180px,96vw);max-height:94vh;display:flex;flex-direction:column;overflow:hidden;border-radius:18px;background:#fff;box-shadow:0 32px 90px rgba(0,0,0,.28)}
.branding-preview-modal>header{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;padding:22px 24px 18px;border-bottom:1px solid #dde3ea}.branding-preview-modal>header span{color:#e56e1d;font-size:11px;font-weight:950;letter-spacing:.11em}.branding-preview-modal>header h2{margin:4px 0 4px}.branding-preview-modal>header p{margin:0;color:#6e7b8e}.branding-preview-close{display:grid;place-items:center;width:40px;height:40px;border:1px solid #d4dbe4;border-radius:50%;background:#fff;font-size:23px;cursor:pointer}
.branding-preview-tabs{display:flex;gap:8px;padding:14px 24px 0}.branding-preview-tabs button{padding:10px 15px;border:1px solid #d7dee7;border-radius:9px 9px 0 0;background:#f4f6f8;color:#536174;font-weight:850;cursor:pointer}.branding-preview-tabs button.is-active{border-color:#e56e1d;background:#fff7f1;color:#a94b10}
.branding-preview-body{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(300px,.72fr);gap:20px;padding:20px 24px;overflow:auto}.branding-preview-stage{min-width:0}.branding-preview-panel{display:none}.branding-preview-panel.is-active{display:block}.branding-preview-modal>footer{display:flex;justify-content:flex-end;padding:14px 24px;border-top:1px solid #dde3ea;background:#f8fafc}
.branding-pdf-sheet{min-height:420px;padding:30px 34px;border:1px solid #d9dfe7;border-radius:12px;background:#fff;box-shadow:0 10px 28px rgba(22,35,51,.1)}.branding-pdf-header{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.branding-logo-frame{position:relative;overflow:hidden;background:transparent;isolation:isolate;cursor:grab;touch-action:none}.branding-logo-frame:active{cursor:grabbing}.branding-logo-frame img{position:absolute;width:100%;height:100%;max-width:none;max-height:none;user-select:none;pointer-events:none}.branding-logo-frame>strong{position:absolute;inset:0;display:grid;place-items:center;padding:8px;color:#243248;text-align:center}.branding-logo-frame-pdf{width:290px;height:116px}.branding-pdf-title{text-align:right;display:grid;gap:5px}.branding-pdf-title b{color:#e56e1d;font-size:28px}.branding-pdf-title span{font-weight:850;color:#26354a}.branding-pdf-divider{height:1px;margin:18px 0;background:#d9dfe6}.branding-pdf-company{display:grid;gap:5px}.branding-pdf-company span{color:#6d7a8b}.branding-pdf-signature{display:grid;grid-template-columns:130px 1fr;gap:8px 16px;align-items:center;margin-top:165px}.branding-pdf-signature small{grid-column:1/-1;color:#e56e1d;font-weight:900}.branding-pdf-signature img{width:120px;height:48px;object-fit:contain}.branding-pdf-signature span{font-weight:800}
.branding-secure-shell{overflow:hidden;border:1px solid #d7dfe8;border-radius:15px;background:#f4f7fa;box-shadow:0 10px 28px rgba(22,35,51,.1)}.branding-secure-header{display:flex;align-items:center;gap:14px;padding:13px 16px;background:#fff;color:#1d2c40}.branding-logo-frame-secure{width:176px;height:58px;border-radius:9px}.branding-logo-frame-mobile{width:112px;height:44px;border-radius:8px}.branding-secure-name{display:grid;gap:2px;min-width:0}.branding-secure-name strong{font-size:17px}.branding-secure-name small{color:#5f6d80}.branding-secure-language{margin-left:auto;padding:8px;border:1px solid #d7dee7;border-radius:8px;background:#f7f8fa;color:#1d2c40;font-weight:800}.branding-secure-content{display:grid;gap:5px;padding:28px;background:#fff}.branding-secure-content b{font-size:25px}.branding-secure-content span{color:#718096}.branding-secure-mobile-label{margin:18px 0 7px;color:#637186;font-size:12px;font-weight:850}.branding-secure-shell.mobile{width:330px;max-width:100%}.branding-secure-shell.mobile .branding-secure-header{padding:10px 12px}.branding-secure-shell.mobile .branding-secure-content{padding:18px}.branding-secure-shell.mobile .branding-secure-content b{font-size:19px}
.branding-drag-tip{margin:10px 0 0;color:#67758a;font-size:12px}.branding-preview-warnings{display:grid;gap:7px;margin-top:12px}.branding-preview-warnings div{padding:9px 11px;border-left:4px solid #e56e1d;border-radius:6px;background:#fff6ee;color:#70401f;font-size:12px}.branding-preview-controls{display:flex;flex-direction:column;gap:14px;padding:16px;border:1px solid #dce3ea;border-radius:13px;background:#f8fafc}.branding-preview-controls>label:not(.branding-separate-toggle){display:grid;grid-template-columns:1fr auto;gap:7px;color:#344156;font-weight:800}.branding-preview-controls input[type=range],.branding-preview-controls select{grid-column:1/-1;width:100%}.branding-preview-controls output{color:#27804c;font-weight:900}.branding-separate-toggle{display:flex;gap:10px;align-items:flex-start;padding:11px;border:1px solid #cfd8e1;border-radius:9px;background:#fff}.branding-separate-toggle input{margin-top:3px}.branding-separate-toggle span,.branding-separate-toggle strong,.branding-separate-toggle small{display:block}.branding-separate-toggle small{margin-top:3px;color:#718096}.branding-active-surface{display:flex;justify-content:space-between;gap:12px;padding:10px;border-radius:8px;background:#1c2a3d;color:#fff}.branding-active-surface span{color:#cbd5df}.branding-control-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.branding-preview-help{display:grid;gap:4px;padding:11px;border-radius:8px;background:#edf7ef;color:#315f3d}.branding-preview-help span{font-size:12px}
@media(max-width:840px){.branding-preview-body{grid-template-columns:1fr}.branding-preview-modal{max-height:96vh}.branding-pdf-sheet{min-height:360px;padding:22px}.branding-logo-frame-pdf{width:220px;height:88px}.branding-pdf-signature{margin-top:115px}.quotation-profile-header-actions{width:100%}.quotation-profile-header-actions .button{flex:1}}

.secure-owner-topbar{background:var(--secure-owner-header-bg,#fff);border-bottom-color:var(--secure-owner-header-border,#dfe4ea);color:var(--secure-owner-header-text,#1d2c40)}.secure-owner-topbar .topbar-inner{grid-template-columns:minmax(0,1fr) auto}.secure-owner-brand{min-width:0;max-width:min(720px,72vw);gap:13px}.secure-owner-logo{position:relative;display:block;flex:0 0 176px;width:176px;height:58px;overflow:hidden;border-radius:9px}.secure-owner-logo img{position:absolute;width:100%;height:100%;max-width:none;max-height:none}.secure-owner-logo-fallback{display:grid;place-items:center;flex:0 0 58px;width:58px;height:58px;border-radius:12px;background:#eef1f4;color:#1d2c40;font-size:25px;font-weight:950}.secure-owner-brand-text{min-width:0}.secure-owner-brand-text strong,.secure-owner-brand-text small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.secure-owner-topbar .secure-owner-brand-text strong{color:var(--secure-owner-header-text,#1d2c40)}.secure-owner-topbar .secure-owner-brand-text small{color:var(--secure-owner-header-muted,#5f6d80)}.secure-owner-topbar .language-switcher{border-color:var(--secure-owner-control-border,#d7dee7);background:var(--secure-owner-control-bg,#f7f8fa)}.secure-owner-topbar .language-choice:not(.active){color:var(--secure-owner-header-text,#1d2c40)}.secure-owner-topbar .language-choice:not(.active):hover,.secure-owner-topbar .language-choice:not(.active):focus-visible{color:#9a4610;background:#fff1e6}.secure-owner-topbar .topbar-action-cluster{margin-left:auto}.secure-owner-footer{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 16px;padding:22px 18px;border-top:1px solid #dfe4ea;background:#fff;color:#59677a;font-size:13px}.secure-owner-footer strong{color:#1d2c40}.secure-owner-footer a{color:#176b87;text-decoration:none}
@media(max-width:700px){.secure-owner-topbar .topbar-inner{display:flex}.secure-owner-brand{max-width:calc(100vw - 142px);gap:8px}.secure-owner-logo{flex-basis:112px;width:112px;height:44px}.secure-owner-logo-fallback{flex-basis:44px;width:44px;height:44px;font-size:20px}.secure-owner-brand-text strong{font-size:13px}.secure-owner-brand-text small{display:none}.secure-owner-topbar .language-switcher{flex:0 0 auto}.secure-owner-topbar .language-choice{padding:7px}.secure-owner-footer{padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}}

/* Branding preview fallback must never overlay an uploaded logo. */
.branding-logo-frame > [data-brand-fallback-name][hidden],
.branding-logo-frame > img[hidden] {
    display: none !important;
}


/* Private secure-link creation requirements */
.customer-link-required-label{display:inline-flex;align-items:center;gap:4px}.customer-link-required-label b{color:#b42318}.customer-link-form label>small{color:#7a8797;font-size:10px;font-weight:700}.customer-link-form .field-validation-error{display:block;margin-top:4px;color:#b42318;font-size:11px;font-weight:800}.customer-link-machine-validation:empty{display:none}.customer-link-create-validation{margin-top:12px;padding:10px 12px;border:1px solid #f0b6b0;border-radius:10px;background:#fff4f2;color:#9f2f25;font-size:12px;font-weight:800}.customer-link-create-validation.is-ready{border-color:#9fd2ae;background:#f0faf3;color:#23723a}.customer-link-form [data-create-link-button]:disabled{opacity:.55;cursor:not-allowed;filter:saturate(.45)}
