:root {
    --bg: #f5f7fb;
    --card: #ffffff;
    --line: #dbe3ef;
    --text: #14233a;
    --muted: #61748d;
    --primary: #0f3d75;
    --primary-dark: #0b2f5a;
    --secondary: #eef3fa;
    --success-bg: #e8f8ef;
    --success-text: #0f6b38;
    --warning-bg: #fff4df;
    --warning-text: #9a5a00;
    --danger-bg: #fdecec;
    --danger-text: #9d1c1c;
    --shadow: 0 14px 30px rgba(16, 33, 64, 0.06);
    --radius: 18px;
}

* { box-sizing: border-box; }
html, body {
    margin: 0;
    padding: 0;
    overflow-x: hidden;
}
body {
    font-family: Arial, Helvetica, sans-serif;
    background: var(--bg);
    color: var(--text);
    line-height: 1.45;
}

a {
    color: var(--primary);
    text-decoration: none;
    word-break: break-word;
}
a:hover { text-decoration: underline; }

.topbar {
    position: sticky;
    top: 0;
    z-index: 50;
    background: #fff;
    border-bottom: 1px solid var(--line);
    box-shadow: 0 8px 20px rgba(18, 35, 66, 0.03);
    padding: 14px 20px;
    display: flex;
    align-items: center;
    gap: 18px;
    justify-content: space-between;
    flex-wrap: wrap;
}

.brand a {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    font-weight: 700;
    font-size: 20px;
    color: var(--text);
    text-decoration: none;
}

.brand img {
    max-height: 42px;
    width: auto;
    display: block;
}

.topnav {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    align-items: center;
}

.nav-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 10px 14px;
    border-radius: 999px;
    color: var(--text);
    background: transparent;
    text-decoration: none;
    font-weight: 600;
}

.nav-link.active,
.nav-link:hover {
    background: var(--secondary);
    text-decoration: none;
}

.topbar-user {
    display: flex;
    align-items: center;
    gap: 12px;
    color: var(--muted);
    font-size: 14px;
    flex-wrap: wrap;
}

.container {
    width: 100%;
    max-width: 1260px;
    margin: 28px auto;
    padding: 0 16px 40px;
}

.page-header {
    margin-bottom: 20px;
}

.page-title {
    margin: 0 0 8px;
    font-size: 34px;
    line-height: 1.1;
}

.page-subtitle {
    margin: 0;
    color: var(--muted);
    font-size: 17px;
}

.card {
    background: var(--card);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 24px;
    box-shadow: var(--shadow);
    margin-bottom: 22px;
    width: 100%;
}

.card h2,
.card h3 {
    margin-top: 0;
}

.grid-2,
.grid-3,
.stats-grid {
    display: grid;
    gap: 18px;
}

.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.stats-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }

.stat-box {
    background: linear-gradient(180deg, #fff, #f8fbff);
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 18px;
    min-width: 0;
}

.stat-value {
    font-size: 30px;
    font-weight: 700;
    margin: 0 0 6px;
}

.stat-label {
    color: var(--muted);
    font-size: 14px;
}

.form-grid {
    display: grid;
    gap: 16px;
}

.form-grid.two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid.three { grid-template-columns: repeat(3, minmax(0, 1fr)); }

.form-group {
    min-width: 0;
}

.form-group label {
    display: block;
    margin-bottom: 7px;
    font-weight: 700;
    color: var(--text);
}

.input,
.textarea,
.select {
    width: 100%;
    max-width: 100%;
    border: 1px solid #c7d2e2;
    background: #fff;
    border-radius: 12px;
    padding: 12px 14px;
    font-size: 15px;
    color: var(--text);
}

.textarea {
    min-height: 130px;
    resize: vertical;
}

.input:focus,
.textarea:focus,
.select:focus {
    outline: none;
    border-color: #7fa8e6;
    box-shadow: 0 0 0 4px rgba(64, 116, 200, 0.12);
}

.input:disabled,
.textarea:disabled,
.select:disabled {
    background: #f2f5f9;
    color: #718196;
    cursor: not-allowed;
    opacity: 1;
}

.actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
    align-items: stretch;
}

.inline-form {
    display: flex;
    margin: 0;
}

.btn,
.btn-linklike {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: none;
    border-radius: 12px;
    padding: 0 16px;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    min-width: 138px;
    height: 46px;
    line-height: 1;
    white-space: nowrap;
    flex-shrink: 0;
}

.btn-primary { background: var(--primary); color: #fff; }
.btn-primary:hover { background: var(--primary-dark); text-decoration: none; }
.btn-secondary { background: var(--secondary); color: var(--text); }
.btn-danger { background: #8f1d1d; color: #fff; }
.btn-warning { background: #8a5a00; color: #fff; }

.table-wrap {
    width: 100%;
    overflow-x: visible;
}

.table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.table th,
.table td {
    text-align: left;
    padding: 14px 12px;
    border-bottom: 1px solid var(--line);
    vertical-align: middle;
    word-break: break-word;
}

.table th {
    color: var(--muted);
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .04em;
    background: #fafcff;
}

.badge {
    display: inline-flex;
    align-items: center;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 13px;
    font-weight: 700;
}
.badge-pending { background: #fff3cd; color: #7c5a00; }
.badge-active { background: #dcfce7; color: #166534; }
.badge-blocked { background: #fee2e2; color: #991b1b; }

.alert {
    border-radius: 14px;
    padding: 14px 16px;
    margin-bottom: 18px;
    border: 1px solid transparent;
}
.alert-success { background: var(--success-bg); color: var(--success-text); border-color: #bae8cb; }
.alert-warning { background: var(--warning-bg); color: var(--warning-text); border-color: #f7d899; }
.alert-danger { background: var(--danger-bg); color: var(--danger-text); border-color: #f3c0c0; }
.alert ul { margin: 0; padding-left: 18px; }

.muted { color: var(--muted); }

.kv {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 10px 16px;
}
.kv div:nth-child(odd) { color: var(--muted); font-weight: 700; }

.radio-row,
.checkbox-row {
    display: flex;
    gap: 18px;
    flex-wrap: wrap;
    align-items: center;
    padding-top: 6px;
}

hr.sep {
    border: 0;
    border-top: 1px solid var(--line);
    margin: 24px 0;
}

.guest-wrap {
    min-height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 20px;
}

.guest-card {
    width: 100%;
    max-width: 560px;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    box-shadow: var(--shadow);
    padding: 28px;
}

.logo-box {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}

.logo-box img {
    max-height: 46px;
    width: auto;
}

.small-note {
    font-size: 13px;
    color: var(--muted);
}

.anchor-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.anchor-nav a {
    padding: 9px 12px;
    border-radius: 999px;
    background: var(--secondary);
    color: var(--text);
    font-weight: 700;
}

.edit-toggle-bar {
    display: flex;
    gap: 10px;
    margin-top: 18px;
    flex-wrap: wrap;
}

@media (max-width: 1100px) {
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .grid-3 { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .grid-2,
    .form-grid.two,
    .form-grid.three,
    .stats-grid {
        grid-template-columns: 1fr;
    }

    .table.responsive thead {
        display: none;
    }

    .table.responsive,
    .table.responsive tbody,
    .table.responsive tr,
    .table.responsive td {
        display: block;
        width: 100%;
    }

    .table.responsive tr {
        border: 1px solid var(--line);
        border-radius: 14px;
        margin-bottom: 14px;
        background: #fff;
        overflow: hidden;
    }

    .table.responsive td {
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        gap: 18px;
        padding: 12px 14px;
        border-bottom: 1px solid var(--line);
    }

    .table.responsive td:last-child {
        border-bottom: none;
    }

    .table.responsive td::before {
        content: attr(data-label);
        flex: 0 0 42%;
        color: var(--muted);
        font-size: 12px;
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .04em;
    }

    .table.responsive td > * {
        flex: 1 1 auto;
        text-align: right;
    }

    .table.responsive td .actions,
    .table.responsive td .table-actions {
        width: 100%;
        justify-content: flex-end;
    }

    .table.responsive td .inline-form {
        width: auto;
    }
}

@media (max-width: 780px) {
    .kv {
        grid-template-columns: 1fr;
        gap: 4px 0;
    }

    .topbar {
        align-items: flex-start;
        padding: 12px 14px;
    }

    .topbar-user {
        width: 100%;
        justify-content: space-between;
    }

    .container {
        padding: 0 12px 28px;
    }

    .card {
        padding: 18px;
        border-radius: 16px;
    }

    .page-title {
        font-size: 28px;
    }

    .btn,
    .btn-linklike {
        min-width: 128px;
        height: 44px;
    }

    .actions.mobile-stack,
    .table-actions.mobile-stack {
        flex-direction: column;
        align-items: stretch;
    }

    .actions.mobile-stack .btn,
    .actions.mobile-stack .inline-form,
    .actions.mobile-stack .inline-form .btn,
    .table-actions.mobile-stack .btn,
    .table-actions.mobile-stack .inline-form,
    .table-actions.mobile-stack .inline-form .btn {
        width: 100%;
    }
}


.actions-cell {
    vertical-align: middle !important;
    white-space: nowrap;
    width: 340px;
}

.table-actions.inline-desktop {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 10px;
    margin-top: 0;
}

.table-actions.inline-desktop .inline-form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.table-actions.inline-desktop .btn,
.table-actions.inline-desktop .inline-form .btn {
    width: 140px;
    height: 46px;
}


/* Batch 008 hard fix dealer action buttons */
.actions-cell {
    width: 320px !important;
    min-width: 320px !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

.actions-cell .table-actions.inline-desktop {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-top: 0 !important;
    min-width: 290px !important;
}

.actions-cell .table-actions.inline-desktop .inline-form {
    display: inline-flex !important;
    margin: 0 !important;
}

.actions-cell .table-actions.inline-desktop .btn,
.actions-cell .table-actions.inline-desktop .inline-form .btn {
    width: 136px !important;
    min-width: 136px !important;
    height: 44px !important;
}

@media (max-width: 900px) {
    .actions-cell {
        width: auto !important;
        min-width: 0 !important;
        white-space: normal !important;
    }

    .actions-cell .table-actions.inline-desktop {
        display: flex !important;
        flex-wrap: wrap !important;
        min-width: 0 !important;
    }

    .actions-cell .table-actions.inline-desktop .btn,
    .actions-cell .table-actions.inline-desktop .inline-form .btn {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* Batch 009 UI refinements */

.alert-dismissible {
    position: relative;
    padding-right: 46px;
}

.alert-close {
    position: absolute;
    top: 8px;
    right: 10px;
    border: 0;
    background: transparent;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: inherit;
}

.ui-size-controls {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.size-btn {
    border: 1px solid var(--line);
    background: #fff;
    color: var(--text);
    border-radius: 10px;
    height: 36px;
    padding: 0 12px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
}

.portal-pagination-wrap {
    margin-top: 18px;
}

.portal-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    flex-wrap: wrap;
}

.portal-pagination-summary {
    color: var(--muted);
    font-size: 14px;
}

.portal-pagination-links {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 96px;
    height: 38px;
    border-radius: 10px;
    padding: 0 12px;
    background: var(--secondary);
    color: var(--text);
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
}

.page-btn.disabled {
    opacity: .45;
    cursor: default;
}

.page-info {
    font-size: 14px;
    color: var(--muted);
    font-weight: 700;
}

.product-price-input {
    max-width: 130px;
}

.product-save-btn {
    min-width: 120px;
    width: 120px;
    height: 42px;
}

.dealer-price-form {
    display: flex;
    align-items: center;
    gap: 10px;
}

.actions-cell {
    width: 270px !important;
    min-width: 270px !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

.actions-cell .table-actions.inline-desktop {
    display: inline-flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    margin-top: 0 !important;
}

.actions-cell .table-actions.inline-desktop .inline-form {
    display: inline-flex !important;
    margin: 0 !important;
}

.actions-cell .table-actions.inline-desktop .btn,
.actions-cell .table-actions.inline-desktop .inline-form .btn {
    width: 124px !important;
    min-width: 124px !important;
    height: 42px !important;
}

body[data-ui-size="sm"] {
    font-size: 14px;
}

body[data-ui-size="sm"] .page-title {
    font-size: 28px;
}

body[data-ui-size="sm"] .page-subtitle,
body[data-ui-size="sm"] .input,
body[data-ui-size="sm"] .select,
body[data-ui-size="sm"] .textarea,
body[data-ui-size="sm"] .btn,
body[data-ui-size="sm"] .nav-link,
body[data-ui-size="sm"] .table th,
body[data-ui-size="sm"] .table td {
    font-size: 13px;
}

body[data-ui-size="sm"] .card {
    padding: 18px;
}

body[data-ui-size="sm"] .table th,
body[data-ui-size="sm"] .table td {
    padding: 10px 8px;
}

body[data-ui-size="lg"] {
    font-size: 17px;
}

body[data-ui-size="lg"] .page-title {
    font-size: 36px;
}

body[data-ui-size="lg"] .page-subtitle,
body[data-ui-size="lg"] .input,
body[data-ui-size="lg"] .select,
body[data-ui-size="lg"] .textarea,
body[data-ui-size="lg"] .btn,
body[data-ui-size="lg"] .nav-link,
body[data-ui-size="lg"] .table th,
body[data-ui-size="lg"] .table td {
    font-size: 16px;
}

@media (max-width: 900px) {
    .dealer-price-form {
        flex-direction: column;
        align-items: stretch;
    }

    .product-price-input,
    .product-save-btn {
        max-width: 100%;
        width: 100%;
    }

    .actions-cell {
        width: auto !important;
        min-width: 0 !important;
        white-space: normal !important;
    }

    .actions-cell .table-actions.inline-desktop {
        display: flex !important;
        flex-wrap: wrap !important;
        width: 100%;
    }

    .actions-cell .table-actions.inline-desktop .btn,
    .actions-cell .table-actions.inline-desktop .inline-form .btn {
        width: 100% !important;
        min-width: 0 !important;
    }

    .portal-pagination {
        flex-direction: column;
        align-items: flex-start;
    }
}




/* Batch 010A custom + discount */
.source-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 92px;
    height: 30px;
    padding: 0 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.source-pill-repairpro {
    background: #e8f0ff;
    color: #17428a;
}

.source-pill-custom {
    background: #f2ebff;
    color: #6d28d9;
}

.product-discount-input,
.product-price-input {
    max-width: 120px;
}

.product-price-input.is-derived {
    background: #f2f5f9;
}

.product-save-btn {
    min-width: 116px;
    width: 116px;
    height: 40px;
}

@media (max-width: 900px) {
    .product-discount-input,
    .product-price-input,
    .product-save-btn {
        max-width: 100%;
        width: 100%;
    }
}


/* Batch 011A dealer repairs */
.checkbox-inline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 900px) {
    .checkbox-inline {
        justify-content: flex-end;
        width: 100%;
    }
}


/* Batch 011A fixes dealer repair actions + notes */
.repair-actions-cell {
    width: 360px !important;
    min-width: 360px !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
}

.repair-table-actions {
    display: inline-flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.repair-table-actions .inline-form {
    display: inline-flex;
    margin: 0;
}

.repair-table-actions .btn,
.repair-table-actions .inline-form .btn {
    width: 108px !important;
    min-width: 108px !important;
    height: 38px !important;
    padding: 0 10px !important;
    font-size: 14px !important;
}

.repair-note-thread {
    display: flex;
    flex-direction: column;
    gap: 12px;
    max-height: 420px;
    overflow-y: auto;
    padding-right: 4px;
}

.repair-note-item {
    border: 1px solid var(--line);
    border-radius: 14px;
    padding: 14px;
    background: #fafcff;
}

.repair-note-meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 8px;
    color: var(--muted);
    font-size: 13px;
}

.repair-note-message {
    white-space: pre-wrap;
    word-break: break-word;
}

@media (max-width: 900px) {
    .repair-actions-cell {
        width: auto !important;
        min-width: 0 !important;
        white-space: normal !important;
    }

    .repair-table-actions {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }

    .repair-table-actions .btn,
    .repair-table-actions .inline-form,
    .repair-table-actions .inline-form .btn {
        width: 100% !important;
        min-width: 0 !important;
    }

    .repair-note-meta {
        flex-direction: column;
        align-items: flex-start;
    }
}


/* Batch 011A update actions/history/device-data */
.repair-actions-cell {
    width: 250px !important;
    min-width: 250px !important;
}

.repair-table-actions .btn,
.repair-table-actions .inline-form .btn {
    width: 96px !important;
    min-width: 96px !important;
    height: 36px !important;
    font-size: 13px !important;
}

.payment-paid {
    color: #15803d;
    font-weight: 700;
}

.payment-link {
    color: #0f3d75;
    font-weight: 700;
    text-decoration: underline;
}

@media (max-width: 900px) {
    .repair-actions-cell {
        width: auto !important;
        min-width: 0 !important;
    }

    .repair-table-actions .btn,
    .repair-table-actions .inline-form,
    .repair-table-actions .inline-form .btn {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* Batch 011A hotfix disable complete + dashboard */
.btn-disabled {
    opacity: .55;
    cursor: not-allowed;
    pointer-events: none;
}

.repair-actions-cell {
    width: 255px !important;
    min-width: 255px !important;
}

.repair-table-actions .btn,
.repair-table-actions .inline-form .btn {
    width: 82px !important;
    min-width: 82px !important;
    height: 34px !important;
    padding: 0 8px !important;
    font-size: 12px !important;
}


/* Batch 012A ParcelPro settings + business locations */
.location-block {
    border-top: 1px solid var(--line);
    padding-top: 20px;
    margin-top: 20px;
}

.location-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.password-toggle-row {
    display: flex;
    gap: 8px;
    align-items: center;
}

.password-toggle-row .input {
    flex: 1;
}

.btn-small {
    height: 40px;
    padding: 0 12px;
    min-width: 88px;
}

.validation-ok {
    color: #15803d;
    font-weight: 700;
}

.validation-fail {
    color: #b45309;
    font-weight: 700;
}

.mono-wrap {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 13px;
}

@media (max-width: 900px) {
    .password-toggle-row {
        flex-direction: column;
        align-items: stretch;
    }

    .btn-small {
        width: 100%;
    }
}


/* Batch 012A hotfix inline settings nav + parcelpro debug */
.debug-box {
    white-space: pre-wrap;
    word-break: break-word;
    font-family: ui-monospace, SFMono-Regular, Menlo, monospace;
    font-size: 12px;
    line-height: 1.45;
    background: #f8fafc;
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 14px;
    max-height: 360px;
    overflow: auto;
}


/* Batch 012A fix2 settings tabs */
.settings-tabs {
    margin-top: 14px;
}


/* Batch 012A v3 menu */
.settings-tabs {
    margin-top: 14px;
}


/* Batch 012B ParcelPro shipments */
.btn-xs {
    height: 32px !important;
    min-width: 86px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
}

.table td form {
    margin: 0;
}

.label-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}


/* Batch 012B fixes */
.btn-xs {
    height: 32px !important;
    min-width: 86px !important;
    padding: 0 10px !important;
    font-size: 12px !important;
}

.table td form {
    margin: 0;
}

.parcel-log-status-success {
    color: #15803d;
    font-weight: 700;
}

.parcel-log-status-failed {
    color: #b45309;
    font-weight: 700;
}


/* Batch 012B debug details */
.debug-split {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    min-width: 320px;
}

.debug-box.small {
    max-height: 220px;
    font-size: 11px;
}


/* Batch 012B address store */
input[name="postcode"] {
    text-transform: uppercase;
}


/* Batch 012C pickup */
.delivery-options {
    display: flex;
    flex-wrap: wrap;
    gap: 18px;
}

.pickup-fields {
    padding-top: 8px;
}


/* Batch 012D */
.pagination-compact svg,
.pagination svg {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
}

.pagination-compact a,
.pagination-compact span,
.pagination a,
.pagination span {
    min-width: 36px !important;
    min-height: 36px !important;
}

.title-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.checkbox-row {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}


/* Batch 012D corrections */
.filter-actions-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.filter-inline-checkbox {
    margin-left: 8px;
}

.pagination svg,
.pagination-compact svg {
    width: 16px !important;
    height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
}

.pagination a,
.pagination span,
.pagination-compact a,
.pagination-compact span {
    min-width: 34px !important;
    min-height: 34px !important;
    padding: 6px 8px !important;
}

.title-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}


/* Batch 013 pagination and filters */
.filter-actions-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.filter-inline-checkbox {
    margin-left: 8px;
    white-space: nowrap;
}

nav[role="navigation"] svg,
.pagination svg,
.pagination-compact svg,
nav[role="navigation"] .w-5.h-5,
nav[role="navigation"] .w-5,
nav[role="navigation"] .h-5 {
    width: 16px !important;
    height: 16px !important;
    min-width: 16px !important;
    min-height: 16px !important;
    max-width: 16px !important;
    max-height: 16px !important;
    display: inline-block !important;
    flex: none !important;
}

nav[role="navigation"] a,
nav[role="navigation"] span,
.pagination a,
.pagination span,
.pagination-compact a,
.pagination-compact span {
    min-width: 34px !important;
    min-height: 34px !important;
    width: auto !important;
    height: auto !important;
    padding: 6px 8px !important;
}

.checkbox-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.title-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}


/* Batch 013B admin fixes */
.filter-actions-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.filter-inline-checkbox {
    margin-left: 8px;
    white-space: nowrap;
    order: 10;
}

.pagination svg,
.pagination-compact svg,
nav[role="navigation"] svg,
nav[role="navigation"] .w-5,
nav[role="navigation"] .h-5,
nav[role="navigation"] .w-5.h-5 {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    display: inline-block !important;
    flex: none !important;
}

.pagination a,
.pagination span,
.pagination-compact a,
.pagination-compact span,
nav[role="navigation"] a,
nav[role="navigation"] span {
    min-width: 32px !important;
    min-height: 32px !important;
    width: auto !important;
    height: auto !important;
    padding: 6px 8px !important;
}

.checkbox-row {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}


/* Batch 013C stabilization */
.filter-actions-row {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.filter-inline-checkbox {
    margin-left: 8px;
    white-space: nowrap;
    order: 10;
}

.pagination svg,
.pagination-compact svg,
nav[role="navigation"] svg,
nav[role="navigation"] .w-5,
nav[role="navigation"] .h-5,
nav[role="navigation"] .w-5.h-5 {
    width: 14px !important;
    height: 14px !important;
    min-width: 14px !important;
    min-height: 14px !important;
    max-width: 14px !important;
    max-height: 14px !important;
    display: inline-block !important;
    flex: none !important;
}

.pagination a,
.pagination span,
.pagination-compact a,
.pagination-compact span,
nav[role="navigation"] a,
nav[role="navigation"] span {
    min-width: 32px !important;
    min-height: 32px !important;
    width: auto !important;
    height: auto !important;
    padding: 6px 8px !important;
}

/* Batch 029 - global responsive refinement */
:root {
    --container-max: 1380px;
    --page-title-size: 34px;
    --page-subtitle-size: 17px;
    --body-size: 15px;
    --small-size: 13px;
    --control-height: 40px;
    --control-radius: 12px;
    --control-padding-x: 14px;
    --button-min-width: 108px;
    --card-padding: 24px;
    --table-cell-y: 14px;
    --table-cell-x: 14px;
}

body {
    font-size: var(--body-size);
}

body[data-ui-size="sm"] {
    --page-title-size: 28px;
    --page-subtitle-size: 15px;
    --body-size: 14px;
    --small-size: 12px;
    --control-height: 36px;
    --control-radius: 11px;
    --control-padding-x: 12px;
    --button-min-width: 96px;
    --card-padding: 18px;
    --table-cell-y: 10px;
    --table-cell-x: 10px;
}

body[data-ui-size="lg"] {
    --page-title-size: 38px;
    --page-subtitle-size: 18px;
    --body-size: 17px;
    --small-size: 14px;
    --control-height: 46px;
    --control-radius: 14px;
    --control-padding-x: 16px;
    --button-min-width: 118px;
    --card-padding: 28px;
    --table-cell-y: 16px;
    --table-cell-x: 16px;
}

.container {
    max-width: var(--container-max);
}

.page-title {
    font-size: var(--page-title-size);
}

.page-subtitle,
.small-note,
.muted,
.table th,
.table td,
.input,
.textarea,
.select,
.btn,
.nav-link,
.size-btn {
    font-size: var(--body-size);
}

.small-note,
.table th {
    font-size: var(--small-size);
}

.card {
    padding: var(--card-padding);
}

.nav-link {
    min-height: calc(var(--control-height) + 2px);
    padding: 0 14px;
}

.input,
.textarea,
.select {
    min-height: var(--control-height);
    border-radius: var(--control-radius);
    padding: 10px var(--control-padding-x);
}

.textarea {
    min-height: 140px;
}

.btn,
.btn-linklike {
    min-width: var(--button-min-width);
    height: var(--control-height);
    border-radius: var(--control-radius);
    padding: 0 var(--control-padding-x);
}

.btn-xs,
.btn-tight,
.page-btn,
.size-btn {
    min-width: auto;
    height: calc(var(--control-height) - 4px);
    padding: 0 12px;
    border-radius: calc(var(--control-radius) - 2px);
    font-size: var(--small-size);
}

.table-wrap {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.table {
    min-width: 960px;
}

.table.responsive {
    min-width: 1020px;
}

.table th,
.table td {
    padding: var(--table-cell-y) var(--table-cell-x);
    word-break: normal;
    overflow-wrap: normal;
    hyphens: none;
    white-space: normal;
    line-height: 1.5;
}

.table td a,
.table td code,
.table td .text-nowrap,
.kv .text-nowrap,
.invoice-number,
.repair-number {
    white-space: nowrap;
    word-break: normal;
}

.table td > div + div {
    margin-top: 4px;
}

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

.table-toolbar,
.section-toolbar,
.card-toolbar {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.table-toolbar .actions,
.section-toolbar .actions,
.card-toolbar .actions {
    margin-top: 0;
}

.inline-control-row {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: nowrap;
    width: 100%;
}

.inline-control-row .select,
.inline-control-row .input {
    flex: 1 1 auto;
    min-width: 220px;
}

.inline-control-row .btn,
.inline-control-row .inline-form {
    flex: 0 0 auto;
}

.inline-control-row .inline-form .btn {
    min-width: 104px;
}

.stack-on-mobile {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.table-actions-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
}

.table-actions-row form {
    margin: 0;
}

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

.choice-card {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}

.choice-card input[type="radio"] {
    margin-top: 3px;
}

.choice-card strong {
    display: block;
    margin-bottom: 4px;
}

.meta-list {
    display: grid;
    gap: 10px;
}

.meta-list .row {
    display: grid;
    grid-template-columns: 180px 1fr;
    gap: 12px;
}

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

.invoice-template-grid .card {
    margin-bottom: 0;
}

@media (max-width: 1100px) {
    .form-grid.four,
    .invoice-template-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 900px) {
    .table,
    .table.responsive {
        min-width: 0;
    }

    .inline-control-row {
        flex-wrap: wrap;
    }

    .inline-control-row .select,
    .inline-control-row .input,
    .inline-control-row .btn,
    .inline-control-row .inline-form,
    .inline-control-row .inline-form .btn {
        width: 100%;
        min-width: 0;
    }

    .section-toolbar,
    .table-toolbar,
    .card-toolbar {
        align-items: stretch;
    }

    .choice-grid,
    .invoice-template-grid,
    .form-grid.four {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 780px) {
    .topnav {
        width: 100%;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 2px;
    }

    .nav-link {
        white-space: nowrap;
        flex: 0 0 auto;
    }

    .topbar-user {
        gap: 10px;
    }

    .ui-size-controls {
        order: 2;
    }

    .btn,
    .btn-linklike {
        min-width: 0;
    }
}

.card-wide {
    width: 100%;
}

.title-actions {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    flex-wrap: wrap;
}

.compact-actions .btn {
    min-width: 124px;
}

.inline-filter-form {
    display: flex;
    gap: 12px;
    align-items: flex-end;
    flex-wrap: wrap;
}

.filter-group {
    min-width: 260px;
    max-width: 360px;
}

.filter-actions {
    margin-top: 0;
}

.richtext {
    width: 100%;
}

.richtext-toolbar {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-bottom: 10px;
}

.richtext-surface {
    width: 100%;
    min-height: 180px;
    border: 1px solid #c7d2e2;
    background: #fff;
    border-radius: 12px;
    padding: 14px;
    font-size: 15px;
    color: var(--text);
    overflow-wrap: anywhere;
}

.richtext-surface:focus {
    outline: none;
    border-color: #7fa8e6;
    box-shadow: 0 0 0 4px rgba(64, 116, 200, 0.12);
}

.richtext-surface h1,
.richtext-surface h2,
.richtext-surface h3,
.richtext-surface p {
    margin: 0 0 10px;
}

.richtext-surface ul,
.richtext-surface ol {
    margin: 0 0 10px 18px;
}

.checkbox-richtext {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.checkbox-richtext span > *:first-child {
    margin-top: 0;
}

.checkbox-richtext span > *:last-child {
    margin-bottom: 0;
}

.status-editor-list {
    display: grid;
    gap: 18px;
}

.status-editor-card {
    border: 1px solid var(--line);
    border-radius: 16px;
    padding: 18px;
    background: linear-gradient(180deg, #fff, #fbfcff);
}

.compact-top-grid {
    align-items: end;
}

@media (max-width: 900px) {
    .inline-filter-form {
        flex-direction: column;
        align-items: stretch;
    }

    .filter-group {
        min-width: 0;
        max-width: none;
    }

    .title-actions {
        align-items: stretch;
    }
}

/* Batch 035 - facturen verfijning */
.invoice-filter-row,
.invoice-export-row {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 12px;
}

.invoice-filter-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.invoice-filter-field-dealer { flex: 1 1 260px; max-width: 280px; }
.invoice-filter-field-period { flex: 0 0 180px; max-width: 180px; }
.invoice-filter-field-number { flex: 1 1 220px; max-width: 240px; }
.invoice-filter-actions {
    display: flex;
    gap: 8px;
    flex: 0 0 auto;
    align-items: center;
}

.dealer-invoice-filter-row .invoice-filter-field-number {
    max-width: 260px;
}

.invoice-table-compact {
    --table-cell-y: 8px;
    --table-cell-x: 10px;
}

.invoice-table-compact th,
.invoice-table-compact td {
    line-height: 1.35;
    vertical-align: middle;
}

.invoice-row-reminded td {
    background: #fff4e8;
}

.invoice-row-overdue td {
    background: #ffe7e7;
}

.btn-reminded {
    background: #6d4bc2;
    color: #fff;
}

.btn-reminded:hover {
    background: #5b3fa4;
}

.compact-table-card .table td > div + div {
    margin-top: 2px;
}

@media (max-width: 900px) {
    .invoice-filter-field-dealer,
    .invoice-filter-field-period,
    .invoice-filter-field-number,
    .invoice-filter-actions {
        flex: 1 1 100%;
        max-width: none;
    }

    .invoice-filter-actions {
        justify-content: flex-start;
    }
}


/* Batch 036 - facturen afronding */
.invoice-filter-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.2fr) 180px minmax(220px, 1fr) auto;
    align-items: end;
    gap: 12px;
}

.dealer-invoice-filter-row {
    display: grid;
    grid-template-columns: 180px minmax(220px, 1fr) auto;
    align-items: end;
    gap: 12px;
}

.invoice-export-row {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
}

.invoice-filter-field label {
    display: block;
    margin-bottom: 7px;
    font-weight: 700;
    color: var(--text);
}

.invoice-filter-field .input,
.invoice-filter-field .select {
    width: 100%;
}

.invoice-filter-field-dealer,
.invoice-filter-field-period,
.invoice-filter-field-number {
    max-width: none;
}

.invoice-filter-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    justify-content: flex-start;
    white-space: nowrap;
}

.invoice-filter-actions .btn {
    min-width: 96px;
}

.invoice-table-compact {
    --table-cell-y: 7px;
    --table-cell-x: 8px;
}

.invoice-table-compact th,
.invoice-table-compact td {
    line-height: 1.25;
    padding-top: 7px;
    padding-bottom: 7px;
}

.invoice-table-compact .btn {
    min-width: 90px;
    height: 36px;
    padding: 0 10px;
}

.invoice-actions-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 6px;
}

.invoice-actions-row .inline-form {
    margin: 0;
}

.invoice-actions-row .btn {
    min-width: 90px;
}

.payment-status-card .table-wrap {
    overflow: visible;
}

.payment-status-list {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    overflow: hidden;
}

.payment-status-row {
    display: grid;
    grid-template-columns: 220px 1fr;
    gap: 16px;
    padding: 14px 18px;
    border-top: 1px solid var(--line);
}

.payment-status-row:first-child {
    border-top: 0;
}

.payment-status-row strong {
    font-weight: 700;
}

@media (max-width: 980px) {
    .invoice-filter-row,
    .dealer-invoice-filter-row {
        grid-template-columns: 1fr;
    }

    .invoice-filter-actions {
        justify-content: flex-start;
    }

    .payment-status-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .invoice-actions-row {
        flex-wrap: wrap;
    }
}


/* Batch 037 - factuurknoppen gelijke breedte */
.invoice-table-compact .btn,
.invoice-table-compact .inline-form .btn {
    width: 124px;
    min-width: 124px;
    justify-content: center;
}

.invoice-actions-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 8px;
}

.invoice-actions-row .inline-form {
    flex: 0 0 auto;
}

.invoice-actions-row .btn,
.invoice-actions-row .inline-form .btn {
    width: 124px;
    min-width: 124px;
}

@media (max-width: 980px) {
    .invoice-table-compact .btn,
    .invoice-table-compact .inline-form .btn,
    .invoice-actions-row .btn,
    .invoice-actions-row .inline-form .btn {
        width: 100%;
        min-width: 0;
    }
}

/* Batch 038 - factuurknoppen 96x32 */
.invoice-table-compact .btn,
.invoice-table-compact .inline-form .btn,
.invoice-actions-row .btn,
.invoice-actions-row .inline-form .btn {
    width: 96px;
    min-width: 96px;
    height: 32px;
    min-height: 32px;
    padding: 0 8px;
    border-radius: 10px;
    font-size: 13px;
    line-height: 32px;
    white-space: nowrap;
    justify-content: center;
}

.invoice-actions-row {
    gap: 8px;
}

.invoice-table-compact th:nth-child(1),
.invoice-table-compact td:nth-child(1),
.invoice-table-compact th:nth-child(2),
.invoice-table-compact td:nth-child(2) {
    white-space: nowrap;
}

@media (max-width: 980px) {
    .invoice-table-compact .btn,
    .invoice-table-compact .inline-form .btn,
    .invoice-actions-row .btn,
    .invoice-actions-row .inline-form .btn {
        width: 100%;
        min-width: 0;
        height: 36px;
        min-height: 36px;
        line-height: 36px;
        font-size: 14px;
    }

    .invoice-table-compact th:nth-child(1),
    .invoice-table-compact td:nth-child(1),
    .invoice-table-compact th:nth-child(2),
    .invoice-table-compact td:nth-child(2) {
        white-space: normal;
    }
}

/* Batch 039 - factuurknoppen hard fixed 96x32 zonder scroll */
.invoice-actions-row {
    gap: 4px;
    white-space: nowrap;
}

.invoice-actions-row .inline-form,
.invoice-actions-row .btn,
.invoice-actions-row .inline-form .btn,
.invoice-table-compact .btn,
.invoice-table-compact .inline-form .btn {
    flex: 0 0 96px !important;
    width: 96px !important;
    min-width: 96px !important;
    max-width: 96px !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 6px !important;
    border-radius: 10px !important;
    font-size: 12px !important;
    line-height: 32px !important;
    text-align: center;
    justify-content: center;
    white-space: nowrap !important;
    overflow: hidden;
}

.invoice-table-compact td,
.invoice-table-compact th {
    white-space: nowrap;
}

.invoice-table-compact td:last-child,
.invoice-table-compact th:last-child {
    width: 412px;
}

.invoice-table-compact td:nth-child(9),
.invoice-table-compact th:nth-child(9) {
    width: 104px;
}

@media (max-width: 980px) {
    .invoice-actions-row {
        gap: 6px;
        white-space: normal;
    }

    .invoice-actions-row .inline-form,
    .invoice-actions-row .btn,
    .invoice-actions-row .inline-form .btn,
    .invoice-table-compact .btn,
    .invoice-table-compact .inline-form .btn {
        flex: 1 1 100% !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        font-size: 14px !important;
        line-height: 36px !important;
        overflow: visible;
    }

    .invoice-table-compact td,
    .invoice-table-compact th {
        white-space: normal;
    }
}

/* Batch 040 - factuurknoppen rechts uitgelijnd en compacter op inhoud */
.invoice-table-compact td:last-child,
.invoice-table-compact th:last-child {
    width: 330px;
}

.invoice-actions-row {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
    gap: 6px;
    width: 100%;
    margin-left: auto;
    white-space: nowrap;
}

.invoice-actions-row .inline-form {
    flex: 0 0 auto !important;
    margin: 0;
}

.invoice-actions-row .btn,
.invoice-actions-row .inline-form .btn,
.invoice-table-compact .btn,
.invoice-table-compact .inline-form .btn {
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 0 14px !important;
    border-radius: 10px !important;
    font-size: 13px !important;
    line-height: 32px !important;
    text-align: center;
    justify-content: center;
    white-space: nowrap !important;
}

.invoice-actions-row .btn-primary,
.invoice-actions-row .inline-form .btn-primary,
.invoice-table-compact .btn-primary,
.invoice-table-compact .inline-form .btn-primary {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.invoice-actions-row .btn-tight,
.invoice-actions-row .inline-form .btn-tight,
.invoice-table-compact .btn-tight,
.invoice-table-compact .inline-form .btn-tight {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.invoice-actions-row .btn-reminded {
    padding-left: 12px !important;
    padding-right: 12px !important;
}

@media (max-width: 980px) {
    .invoice-table-compact td:last-child,
    .invoice-table-compact th:last-child {
        width: auto;
    }

    .invoice-actions-row {
        justify-content: flex-start;
        flex-wrap: wrap;
        white-space: normal;
    }

    .invoice-actions-row .btn,
    .invoice-actions-row .inline-form .btn,
    .invoice-table-compact .btn,
    .invoice-table-compact .inline-form .btn {
        width: 100% !important;
        flex: 1 1 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        line-height: 36px !important;
    }
}

/* Batch 041 - orders compact refinement */
.orders-page .btn-tight-32,
.orders-page .order-control,
.orders-page .order-select-short,
.orders-page .order-select-medium,
.orders-page .select,
.orders-page .input {
    height: 32px !important;
    min-height: 32px !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.orders-page .btn-tight-32 {
    min-width: auto !important;
    padding: 0 12px !important;
    font-size: 13px !important;
    line-height: 32px !important;
}

.order-select-short {
    min-width: 180px !important;
    width: 180px !important;
    max-width: 180px !important;
}

.order-select-medium {
    min-width: 260px !important;
    width: 260px !important;
    max-width: 260px !important;
}

.orders-filter-card .compact-single-row {
    display: grid;
    grid-template-columns: 220px 220px minmax(260px, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.orders-filter-card .compact-inline label {
    display: block;
    font-weight: 700;
    margin-bottom: 6px;
}

.orders-filter-actions {
    display: flex;
    align-items: flex-end;
    gap: 8px;
}

.orders-heading-inline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.orders-assignee-form {
    display: flex;
    align-items: center;
    gap: 8px;
}

.orders-assignee-label {
    font-weight: 700;
}

.orders-inline-row {
    justify-content: flex-start;
    gap: 8px;
}

.compact-order-table th,
.compact-order-table td {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
    white-space: nowrap;
}

.compact-order-table td:last-child,
.compact-order-table th:last-child {
    text-align: right;
}

.orders-actions-right,
.dealer-actions-right {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: nowrap;
}

.compact-kv {
    row-gap: 10px;
}

.compact-kv > div:nth-child(odd) {
    font-weight: 700;
}

.orders-compact-grid .card {
    margin-bottom: 0;
}

.compact-notes {
    display: grid;
    gap: 10px;
}

.compact-note-item {
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 10px 12px;
    display: grid;
    gap: 8px;
}

.compact-status-editor {
    display: grid;
    gap: 14px;
}

.compact-status-card {
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
}

@media (max-width: 1100px) {
    .orders-filter-card .compact-single-row {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

@media (max-width: 900px) {
    .orders-filter-card .compact-single-row {
        grid-template-columns: 1fr;
    }

    .orders-assignee-form,
    .orders-actions-right,
    .dealer-actions-right,
    .orders-inline-row {
        flex-wrap: wrap;
    }

    .order-select-short,
    .order-select-medium {
        width: 100% !important;
        max-width: 100% !important;
    }

    .compact-order-table th,
    .compact-order-table td {
        white-space: normal;
    }
}


/* Batch 042 - orders follow-up refinements */
.orders-page .order-select-short {
    min-width: 150px !important;
    width: 150px !important;
    max-width: 150px !important;
}

.orders-page .order-select-medium {
    min-width: 220px !important;
    width: 220px !important;
    max-width: 220px !important;
}

.compact-order-table th,
.compact-order-table td {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}

.repair-link-strong {
    font-weight: 700;
}

.item-editor-row td {
    background: #fafcff;
}


/* Batch 043 - orders vervolg verfijning */
.order-row-cancelled td {
    background: #ffe7e7;
}

.repair-link-strong {
    font-weight: 700 !important;
}

.orders-page .order-select-short {
    min-width: 132px !important;
    width: 132px !important;
    max-width: 132px !important;
}

.orders-page .order-select-medium {
    min-width: 210px !important;
    width: 210px !important;
    max-width: 210px !important;
}

.orders-heading-inline {
    flex-wrap: nowrap;
}

.orders-heading-inline h2 {
    margin: 0;
    flex: 1 1 auto;
}

.orders-assignee-form {
    margin-left: auto;
}

.compact-order-table th,
.compact-order-table td {
    padding-top: 7px !important;
    padding-bottom: 7px !important;
}

.compact-order-table .btn,
.compact-order-table .select,
.compact-order-table .input,
.orders-page .btn,
.orders-page .select,
.orders-page .input {
    max-height: 32px;
}

.orders-extra-grid {
    align-items: end;
}

.dealer-order-table .btn-tight-32 {
    min-width: 0 !important;
    padding: 0 10px !important;
}

.dealer-repair-search-head {
    display: grid;
    grid-template-columns: max-content minmax(260px, 1fr) auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
}

.dealer-repair-search-label {
    font-weight: 700;
    margin: 0;
    align-self: center;
}

.dealer-repair-search-input {
    width: 100%;
}

.dealer-repair-filter-row {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr)) auto;
    gap: 12px;
    align-items: end;
}

.dealer-repair-filter-foot {
    margin-top: 10px;
}

.compact-checkbox-inline {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

@media (max-width: 980px) {
    .dealer-repair-search-head,
    .dealer-repair-filter-row,
    .orders-heading-inline {
        grid-template-columns: 1fr;
        flex-wrap: wrap;
    }
}

.status-editor-two-col {
    display: grid;
    grid-template-columns: minmax(320px, 0.95fr) minmax(360px, 1.05fr);
    gap: 18px;
    align-items: start;
}

.status-editor-options,
.status-editor-template {
    min-width: 0;
}

.status-card-marked-delete {
    opacity: .45;
    border-color: #d2a47b;
    background: #fff7f0;
}

.repair-progress-widget {
    display: inline-flex;
    align-items: center;
    min-width: 190px;
}

.repair-progress-widget-compact {
    min-width: 164px;
}

.repair-progress-track {
    position: relative;
    width: 190px;
    height: 22px;
    border-radius: 999px;
    background: linear-gradient(180deg, #f2f5f8 0%, #cfd7e0 100%);
    border: 1px solid #8aa0b8;
    box-shadow: inset 0 1px 2px rgba(255,255,255,.95), inset 0 -1px 3px rgba(18,33,46,.18);
    overflow: visible;
}

.repair-progress-widget-compact .repair-progress-track {
    width: 164px;
    height: 20px;
}

.repair-progress-fill {
    position: absolute;
    left: 2px;
    top: 2px;
    bottom: 2px;
    border-radius: 999px;
    background: linear-gradient(180deg, #34d64b 0%, #18a62d 60%, #0f8c22 100%);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.55), 0 0 6px rgba(14,120,30,.18);
    min-width: 0;
    max-width: calc(100% - 4px);
}

.repair-progress-text {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 12px;
    color: #10321d;
    text-shadow: 0 1px 0 rgba(255,255,255,.72);
    z-index: 2;
}

.repair-progress-widget-compact .repair-progress-text {
    font-size: 11px;
}

.repair-progress-hold-marker {
    position: absolute;
    top: -16px;
    width: 22px;
    height: 20px;
    z-index: 3;
}

.repair-progress-hold-icon {
    position: absolute;
    inset: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 900;
    color: #1c1c1c;
}

.repair-progress-hold-marker::before {
    content: '';
    position: absolute;
    left: 0;
    top: 1px;
    width: 0;
    height: 0;
    border-left: 11px solid transparent;
    border-right: 11px solid transparent;
    border-bottom: 19px solid #f3c94d;
    filter: drop-shadow(0 1px 1px rgba(0,0,0,.16));
}

.repair-progress-cell,
.repair-progress-value {
    white-space: nowrap;
}

.repair-progress-row-value {
    display: flex;
    align-items: center;
}

.repair-progress-inline-note {
    margin-left: 10px;
    color: #5e7694;
    font-size: 12px;
    font-weight: 600;
}

@media (max-width: 980px) {
    .status-editor-two-col {
        grid-template-columns: 1fr;
    }

    .repair-progress-track {
        width: 150px;
    }
}

/* Batch 079 - herstel dealer dashboard, nieuw reparatieverzoek en statusbar scope */
.dashboard-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.02fr) minmax(0, 0.98fr);
    gap: 18px;
    align-items: start;
}

.dashboard-stack {
    display: grid;
    gap: 18px;
    align-content: start;
}

.dashboard-card-tight {
    padding: 18px 20px;
}

.dashboard-cta-list {
    display: grid;
    gap: 14px;
    margin-top: 14px;
}

.dashboard-cta-item {
    display: grid;
    gap: 8px;
}

.dashboard-cta-text,
.dashboard-preference-note,
.dashboard-card-subtitle {
    font-size: 14px;
}

.dashboard-preference-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.dashboard-preference-title {
    font-weight: 700;
    margin-bottom: 6px;
}

.dashboard-preference-text {
    margin: 0;
}

.dashboard-preference-note {
    margin-top: 8px;
}

.dashboard-repair-stats {
    display: grid;
    gap: 12px;
}

.dashboard-company-grid {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 10px 16px;
    align-items: start;
}

.dashboard-company-label {
    color: var(--muted);
    font-weight: 700;
}

.dashboard-card-toolbar {
    align-items: flex-start;
    margin-bottom: 12px;
}

.dashboard-card-subtitle {
    margin: 4px 0 0;
}

.dashboard-table-wrap {
    overflow-x: auto;
}

.dashboard-mini-table {
    min-width: 100%;
}

.dashboard-mini-table th,
.dashboard-mini-table td {
    white-space: nowrap;
}

.dashboard-link-strong {
    font-weight: 700;
}

.dashboard-status-text {
    font-weight: 600;
}

.dashboard-amount-cell,
.dashboard-pay-cell,
.dashboard-number-cell,
.dashboard-date-cell {
    white-space: nowrap;
}

.dealer-repair-search-field {
    position: relative;
    min-width: 0;
}

.dealer-repair-search-note {
    margin-bottom: 12px;
}

.dealer-model-suggestion-box {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    right: 0;
    z-index: 25;
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 14px;
    box-shadow: var(--shadow);
    overflow: hidden;
    max-height: 320px;
    overflow-y: auto;
}

.dealer-model-suggestion-item {
    display: block;
    width: 100%;
    padding: 12px 14px;
    border: 0;
    border-top: 1px solid #edf2f7;
    background: #fff;
    color: var(--text);
    text-align: left;
    font: inherit;
    cursor: pointer;
}

.dealer-model-suggestion-item:first-child {
    border-top: 0;
}

.dealer-model-suggestion-item:hover,
.dealer-model-suggestion-item:focus {
    background: #f5f9ff;
    outline: none;
}

.dealer-choice-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 16px;
}

.dealer-choice-subtitle {
    margin: 4px 0 0;
}

.repair-choice-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.repair-choice-column {
    border: 1px solid var(--line);
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
}

.repair-choice-row {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr) 122px 122px;
    gap: 12px;
    align-items: center;
    padding: 13px 16px;
    border-top: 1px solid #edf2f7;
}

.repair-choice-row-head {
    border-top: 0;
    background: #f7faff;
    color: var(--muted);
    font-weight: 700;
}

.repair-choice-row-item {
    cursor: pointer;
    transition: background-color .15s ease;
}

.repair-choice-row-item:hover {
    background: #f9fbff;
    text-decoration: none;
}

.repair-choice-row-item.is-selected {
    background: #edf4ff;
}

.repair-choice-row-select {
    display: flex;
    justify-content: center;
}

.repair-choice-row-name {
    min-width: 0;
    font-weight: 600;
}

.repair-choice-row-price,
.repair-choice-head-price {
    text-align: right;
    white-space: nowrap;
}

.repair-choice-empty {
    padding: 16px 18px;
    border: 1px dashed var(--line);
    border-radius: 16px;
    background: #fbfcfe;
    color: var(--muted);
}

.card-subtle {
    background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
}

@media (max-width: 1180px) {
    .dashboard-columns,
    .repair-choice-columns {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 980px) {
    .dashboard-preference-row {
        flex-direction: column;
    }

    .dashboard-company-grid,
    .repair-choice-row {
        grid-template-columns: 1fr;
    }

    .repair-choice-row-select,
    .repair-choice-row-price,
    .repair-choice-head-price {
        justify-content: flex-start;
        text-align: left;
    }
}


/* Batch 080 - dashboard voortgang en IP-beveiliging */
.dashboard-repair-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.dashboard-updates-table .dashboard-progress-head,
.dashboard-updates-table .dashboard-progress-cell {
    min-width: 210px;
}

.dashboard-updates-table .repair-progress-widget {
    min-width: 180px;
}

.dashboard-preference-row + .dashboard-preference-row {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #edf2f7;
}

.dashboard-preference-meta,
.dashboard-ip-status,
.dashboard-ip-help,
.dealer-ip-help {
    margin: 4px 0 0;
    font-size: 13px;
    color: var(--muted);
}

.dashboard-ip-list,
.dealer-ip-list {
    font-weight: 600;
    word-break: break-word;
}

.dashboard-company-value-wide {
    word-break: break-word;
}

.dealer-ip-card-toolbar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.dealer-ip-card-toolbar h3 {
    margin: 0;
}

.dealer-ip-edit-panel {
    margin-top: 14px;
    padding-top: 14px;
    border-top: 1px solid #edf2f7;
}

.dealer-ip-badge {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 10px;
    border-radius: 999px;
    background: #f5f9ff;
    border: 1px solid #d8e5fb;
    font-size: 13px;
    font-weight: 600;
    color: var(--text);
}

.dealer-ip-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

@media (max-width: 900px) {
    .dashboard-repair-stats,
    .dashboard-columns,
    .repair-choice-columns {
        grid-template-columns: 1fr;
    }

    .dashboard-preference-row,
    .dealer-ip-card-toolbar {
        flex-direction: column;
        align-items: stretch;
    }

    .dashboard-updates-table .dashboard-progress-head,
    .dashboard-updates-table .dashboard-progress-cell {
        min-width: 0;
    }
}

/* Batch 088 - intern dashboard */
.internal-role-line {
    margin-top: 6px;
    font-size: 14px;
    color: var(--muted);
}

.internal-dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.internal-dashboard-card {
    min-width: 0;
}

.internal-dashboard-span-2 {
    grid-column: 1 / -1;
}

.internal-stats-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.internal-metric-stack {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}

.internal-metric-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 12px 14px;
    border: 1px solid #edf2f7;
    border-radius: 14px;
    background: #fbfcfe;
}

.internal-metric-row strong {
    white-space: nowrap;
}

.internal-info-grid {
    grid-template-columns: 180px minmax(0, 1fr);
}

.dashboard-login-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 82px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 700;
}

.dashboard-login-badge.is-success {
    background: #e8f7ed;
    color: #17663a;
}

.dashboard-login-badge.is-failed {
    background: #fff0f0;
    color: #a32020;
}

@media (max-width: 980px) {
    .internal-dashboard-grid,
    .internal-stats-grid {
        grid-template-columns: 1fr;
    }

    .internal-dashboard-span-2 {
        grid-column: auto;
    }

    .internal-info-grid {
        grid-template-columns: 1fr;
    }
}

/* Batch 089 - factuurstatistieken */
.invoice-stats-summary-grid {
    margin-bottom: 22px;
}

.invoice-stats-grid-2 {
    margin-bottom: 22px;
}

.invoice-stats-total-row th,
.invoice-stats-total-row td {
    background: #f4f8ff;
    font-weight: 700;
}

.invoice-stats-detail-filter {
    display: flex;
    flex-wrap: wrap;
    align-items: end;
    gap: 12px;
    margin-bottom: 16px;
}

.invoice-dealer-info-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.invoice-dealer-info-box {
    border: 1px solid var(--line);
    border-radius: 14px;
    background: #fff;
    padding: 14px 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.invoice-dealer-info-box span {
    color: var(--muted);
    font-size: 13px;
}

.invoice-dealer-info-box strong {
    font-size: 20px;
    line-height: 1.2;
}

.invoice-dealer-info-box-wide {
    grid-column: 1 / -1;
}

@media (max-width: 980px) {
    .invoice-dealer-info-grid {
        grid-template-columns: 1fr;
    }

    .invoice-dealer-info-box-wide {
        grid-column: auto;
    }
}


/* Batch 105 - UI foundation reset */
:root {
    --ui-body-xs: 13px;
    --ui-body-sm: 14px;
    --ui-body-md: 15px;
    --ui-body-lg: 16px;
    --ui-body-xl: 17px;
    --ui-topnav-xs: 16px;
    --ui-topnav-sm: 17px;
    --ui-topnav-md: 18px;
    --ui-topnav-lg: 19px;
    --ui-topnav-xl: 20px;
    --ui-subnav-xs: 14px;
    --ui-subnav-sm: 15px;
    --ui-subnav-md: 16px;
    --ui-subnav-lg: 17px;
    --ui-subnav-xl: 18px;
    --ui-small-xs: 12px;
    --ui-small-sm: 13px;
    --ui-small-md: 14px;
    --ui-small-lg: 15px;
    --ui-small-xl: 16px;
    --ui-page-title-xs: 32px;
    --ui-page-title-sm: 33px;
    --ui-page-title-md: 34px;
    --ui-page-title-lg: 35px;
    --ui-page-title-xl: 36px;
}

body,
body[data-ui-size="md"] {
    --ui-body-size: var(--ui-body-md);
    --ui-topnav-size: var(--ui-topnav-md);
    --ui-subnav-size: var(--ui-subnav-md);
    --ui-small-size: var(--ui-small-md);
    --ui-page-title-size: var(--ui-page-title-md);
    --ui-page-subtitle-size: 17px;
    --ui-field-height: 40px;
    --ui-button-height: 32px;
    --ui-nav-height: 40px;
    --ui-subnav-height: 32px;
    --ui-card-padding: 22px;
    --ui-table-y: 8px;
    --ui-table-x: 12px;
}

body[data-ui-size="xs"] {
    --ui-body-size: var(--ui-body-xs);
    --ui-topnav-size: var(--ui-topnav-xs);
    --ui-subnav-size: var(--ui-subnav-xs);
    --ui-small-size: var(--ui-small-xs);
    --ui-page-title-size: var(--ui-page-title-xs);
    --ui-page-subtitle-size: 15px;
    --ui-card-padding: 18px;
    --ui-table-y: 6px;
    --ui-table-x: 10px;
}

body[data-ui-size="sm"] {
    --ui-body-size: var(--ui-body-sm);
    --ui-topnav-size: var(--ui-topnav-sm);
    --ui-subnav-size: var(--ui-subnav-sm);
    --ui-small-size: var(--ui-small-sm);
    --ui-page-title-size: var(--ui-page-title-sm);
    --ui-page-subtitle-size: 16px;
    --ui-card-padding: 20px;
    --ui-table-y: 7px;
    --ui-table-x: 11px;
}

body[data-ui-size="lg"] {
    --ui-body-size: var(--ui-body-lg);
    --ui-topnav-size: var(--ui-topnav-lg);
    --ui-subnav-size: var(--ui-subnav-lg);
    --ui-small-size: var(--ui-small-lg);
    --ui-page-title-size: var(--ui-page-title-lg);
    --ui-page-subtitle-size: 18px;
    --ui-card-padding: 24px;
    --ui-table-y: 9px;
    --ui-table-x: 13px;
}

body[data-ui-size="xl"] {
    --ui-body-size: var(--ui-body-xl);
    --ui-topnav-size: var(--ui-topnav-xl);
    --ui-subnav-size: var(--ui-subnav-xl);
    --ui-small-size: var(--ui-small-xl);
    --ui-page-title-size: var(--ui-page-title-xl);
    --ui-page-subtitle-size: 19px;
    --ui-card-padding: 26px;
    --ui-table-y: 10px;
    --ui-table-x: 14px;
}

body {
    font-size: var(--ui-body-size);
}

.page-title {
    font-size: var(--ui-page-title-size) !important;
}

.page-subtitle {
    font-size: var(--ui-page-subtitle-size) !important;
}

.topnav .nav-link {
    min-height: var(--ui-nav-height) !important;
    padding: 0 14px !important;
    font-size: var(--ui-topnav-size) !important;
    line-height: 1.1 !important;
}

.anchor-nav,
.settings-tabs,
.dealer-tabs {
    gap: 8px !important;
}

.anchor-nav a,
.settings-tabs a,
.dealer-tabs a {
    min-height: var(--ui-subnav-height) !important;
    padding: 0 12px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: var(--ui-subnav-size) !important;
    line-height: 1.1 !important;
}

.small-note,
.muted,
.alert,
.kv,
.table td,
.table th,
.input,
.textarea,
.select,
.btn,
.btn-linklike,
.size-btn {
    font-size: var(--ui-body-size) !important;
}

.table th,
.small-note {
    font-size: var(--ui-small-size) !important;
}

.card {
    padding: var(--ui-card-padding) !important;
}

.input,
.select {
    min-height: var(--ui-field-height) !important;
    height: var(--ui-field-height) !important;
    padding: 0 12px !important;
    border-radius: 12px !important;
}

.textarea {
    min-height: 120px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
}

.btn,
.btn-linklike,
.page-btn,
.size-btn,
.btn-xs,
.btn-tight,
.table .btn,
.table .btn-linklike {
    height: var(--ui-button-height) !important;
    min-height: var(--ui-button-height) !important;
    min-width: 0 !important;
    width: auto !important;
    padding: 0 12px !important;
    line-height: 1 !important;
    border-radius: 12px !important;
    white-space: nowrap !important;
}

.inline-form,
.table form {
    margin: 0 !important;
}

.table-wrap,
.dashboard-table-wrap,
.dealer-invoice-table-wrap {
    overflow-x: visible !important;
    -webkit-overflow-scrolling: auto;
}

.table,
.table.responsive,
.dashboard-mini-table,
.dashboard-updates-table,
.dashboard-invoices-table,
.dealer-invoice-table,
.dealer-invoices-table,
.dealer-order-table,
.dealer-running-table,
.dashboard-mini-table {
    min-width: 0 !important;
    width: 100% !important;
    table-layout: auto !important;
}

.table th,
.table td,
.dashboard-mini-table th,
.dashboard-mini-table td {
    padding: var(--ui-table-y) var(--ui-table-x) !important;
    line-height: 1.3 !important;
    vertical-align: middle !important;
}

.table th {
    text-transform: none !important;
    letter-spacing: 0 !important;
    font-weight: 700 !important;
}

.dashboard-mini-table th,
.dashboard-mini-table td,
.dashboard-updates-table th,
.dashboard-updates-table td,
.dashboard-invoices-table th,
.dashboard-invoices-table td {
    white-space: normal !important;
}

.actions-cell,
.repair-actions-cell {
    width: auto !important;
    min-width: 0 !important;
    white-space: normal !important;
}

.table-actions,
.table-actions.inline-desktop,
.table-actions-row,
.actions-cell .table-actions.inline-desktop,
.repair-actions-cell .table-actions.inline-desktop {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: 8px !important;
    width: auto !important;
}

.actions-cell .table-actions.inline-desktop .inline-form,
.repair-actions-cell .table-actions.inline-desktop .inline-form,
.table-actions.inline-desktop .inline-form {
    display: inline-flex !important;
    margin: 0 !important;
}

.actions-cell .table-actions.inline-desktop .btn,
.actions-cell .table-actions.inline-desktop .inline-form .btn,
.repair-actions-cell .table-actions.inline-desktop .btn,
.repair-actions-cell .table-actions.inline-desktop .inline-form .btn,
.table-actions.inline-desktop .btn,
.table-actions.inline-desktop .inline-form .btn {
    width: auto !important;
    min-width: 0 !important;
    height: var(--ui-button-height) !important;
}

.ui-size-controls {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.size-btn {
    background: #fff !important;
    border: 1px solid var(--line) !important;
    color: var(--text) !important;
}

.size-btn.active {
    background: var(--secondary) !important;
    border-color: #bfd0e7 !important;
}

@media (max-width: 900px) {
    .table-wrap,
    .dashboard-table-wrap,
    .dealer-invoice-table-wrap {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch;
    }

    .table,
    .table.responsive,
    .dashboard-mini-table,
    .dashboard-updates-table,
    .dashboard-invoices-table,
    .dealer-invoice-table,
    .dealer-invoices-table,
    .dealer-order-table,
    .dealer-running-table {
        min-width: 720px !important;
    }

    .topnav .nav-link {
        flex: 0 0 auto;
        white-space: nowrap;
    }
}

/* Batch 107 - dealer detail action alignment */
.dealers-page .dealer-inline-value,
.dealers-page .dealer-inline-value-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

.dealers-page .dealer-inline-value > span:first-child,
.dealers-page .dealer-inline-value-wrap > .dealer-ip-list {
    flex: 1 1 auto;
    min-width: 0;
}

.dealers-page .dealer-inline-value .inline-form,
.dealers-page .dealer-inline-value details,
.dealers-page .dealer-inline-value-wrap .inline-form,
.dealers-page .dealer-inline-value-wrap details {
    margin-left: auto !important;
    flex: 0 0 auto;
}

.dealers-page .dealer-inline-value details > summary,
.dealers-page .dealer-inline-value-wrap details > summary {
    list-style: none;
}

.dealers-page .dealer-inline-value details > summary::-webkit-details-marker,
.dealers-page .dealer-inline-value-wrap details > summary::-webkit-details-marker {
    display: none;
}

.dealers-page .dealer-login-toolbar {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

.dealers-page .dealer-login-toolbar > div:first-child {
    flex: 1 1 auto;
    min-width: 0;
}

.dealers-page .dealer-login-toolbar-actions {
    margin-left: auto;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
    flex: 0 0 auto;
}

.dealers-page .dealer-login-filter-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

.dealers-page .dealer-login-toolbar-actions .btn,
.dealers-page .dealer-inline-value .btn,
.dealers-page .dealer-inline-value-wrap .btn {
    height: var(--ui-button-height) !important;
    min-width: 0 !important;
    white-space: nowrap;
}

@media (max-width: 900px) {
    .dealers-page .dealer-login-toolbar,
    .dealers-page .dealer-login-toolbar-actions,
    .dealers-page .dealer-inline-value,
    .dealers-page .dealer-inline-value-wrap,
    .dealers-page .dealer-login-filter-group {
        flex-wrap: wrap !important;
    }

    .dealers-page .dealer-login-toolbar-actions,
    .dealers-page .dealer-inline-value .inline-form,
    .dealers-page .dealer-inline-value details,
    .dealers-page .dealer-inline-value-wrap .inline-form,
    .dealers-page .dealer-inline-value-wrap details {
        margin-left: 0 !important;
    }
}


/* Batch 108: inline subnav right of page titles */
.page-header.with-inline-subnav {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.page-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.page-header-row .page-title {
    margin: 0;
}

.page-header-row .inline-page-subnav {
    margin-left: auto;
    justify-content: flex-end;
    flex-wrap: wrap;
}

.page-header.with-inline-subnav .page-subtitle {
    margin-top: 0;
}

@media (max-width: 900px) {
    .page-header-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .page-header-row .inline-page-subnav {
        justify-content: flex-start;
        margin-left: 0;
        width: 100%;
    }
}


/* Batch 114: dealer detail alignment + orders header stability */
.dealers-page .dealer-inline-value,
.dealers-page .dealer-inline-value-wrap {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    flex-wrap: nowrap !important;
}

.dealers-page .dealer-inline-value details,
.dealers-page .dealer-inline-value-wrap details {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 0 0 auto !important;
    position: relative;
}

.dealers-page .dealer-inline-value details > summary,
.dealers-page .dealer-inline-value-wrap details > summary {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
}

.dealers-page .dealer-ip-edit-panel {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    z-index: 10;
    min-width: 320px;
    max-width: 420px;
    background: #fff;
    border: 1px solid var(--border);
    border-radius: 14px;
    box-shadow: 0 12px 30px rgba(17, 34, 68, 0.12);
    padding: 14px;
}

.dealers-page .dealer-login-toolbar {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
    gap: 16px !important;
    flex-wrap: nowrap !important;
}

.dealers-page .dealer-login-toolbar-actions {
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

.dealers-page .dealer-login-filter-group {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    flex-wrap: nowrap !important;
}

.orders-page.with-inline-subnav .page-header-row {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 16px !important;
}

.orders-page.with-inline-subnav .inline-page-subnav {
    margin-left: auto !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
}

@media (max-width: 900px) {
    .dealers-page .dealer-inline-value,
    .dealers-page .dealer-inline-value-wrap,
    .dealers-page .dealer-login-toolbar,
    .dealers-page .dealer-login-toolbar-actions,
    .dealers-page .dealer-login-filter-group,
    .orders-page.with-inline-subnav .page-header-row,
    .orders-page.with-inline-subnav .inline-page-subnav {
        flex-wrap: wrap !important;
    }

    .dealers-page .dealer-ip-edit-panel {
        position: static;
        min-width: 0;
        max-width: none;
        width: 100%;
        margin-top: 8px;
    }
}
