/* IV Tuning Portal v1.7.1 CSS hotfix
   Clean Bootstrap 5 enterprise layout, less cluttered menus, stronger spacing and cache-safe styling. */
:root {
    --ivt-bg: #070b14;
    --ivt-bg-2: #0a0f1b;
    --ivt-sidebar: #0b1220;
    --ivt-sidebar-soft: #111a2c;
    --ivt-card: #111827;
    --ivt-card-2: #151f33;
    --ivt-soft: rgba(255, 255, 255, .045);
    --ivt-soft-2: rgba(255, 255, 255, .075);
    --ivt-line: rgba(148, 163, 184, .18);
    --ivt-line-strong: rgba(148, 163, 184, .30);
    --ivt-text: #f8fafc;
    --ivt-muted: #98a7bf;
    --ivt-muted-2: #c5d0e2;
    --ivt-accent: #20d5c7;
    --ivt-accent-2: #4ca3ff;
    --ivt-warning: #ffd166;
    --ivt-danger: #ff6b83;
    --ivt-success: #35e3a1;
    --ivt-radius: 18px;
    --ivt-radius-lg: 26px;
    --ivt-shadow: 0 22px 70px rgba(0, 0, 0, .34);
    --ivt-shadow-soft: 0 14px 38px rgba(0, 0, 0, .22);

    /* Backwards-compatible variables used by older views */
    --bg: var(--ivt-bg);
    --panel: var(--ivt-card);
    --panel-2: var(--ivt-card-2);
    --panel-3: #0d1424;
    --sidebar: var(--ivt-sidebar);
    --sidebar-2: var(--ivt-sidebar-soft);
    --text: var(--ivt-text);
    --muted: var(--ivt-muted);
    --accent: var(--ivt-accent);
    --accent-2: var(--ivt-accent-2);
    --danger: var(--ivt-danger);
    --warning: var(--ivt-warning);
    --line: var(--ivt-line);
}

* { box-sizing: border-box; }
html { min-height: 100%; }
body.portal-body {
    min-height: 100vh;
    margin: 0;
    color: var(--ivt-text);
    font-family: "IVT Raleway", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    background:
        radial-gradient(circle at 10% -10%, rgba(32, 213, 199, .14), transparent 30%),
        radial-gradient(circle at 90% 0%, rgba(76, 163, 255, .11), transparent 28%),
        linear-gradient(180deg, var(--ivt-bg) 0%, var(--ivt-bg-2) 100%);
    overflow-x: hidden;
}

a { color: inherit; }
a:hover { color: inherit; }
img, svg { max-width: 100%; }

.portal-layout {
    display: flex;
    min-height: 100vh;
}

/* Sidebar */
.portal-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    width: 276px;
    padding: 20px 18px;
    color: var(--ivt-text);
    background: linear-gradient(180deg, rgba(11, 18, 32, .99), rgba(7, 11, 20, .99));
    border-right: 1px solid var(--ivt-line);
    box-shadow: 18px 0 56px rgba(0, 0, 0, .24);
    z-index: 1045;
    overflow-y: auto;
}
.sidebar-head {
    min-height: 54px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.sidebar-logo {
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    padding: 0;
}
.sidebar-logo img {
    width: 138px;
    height: auto;
    display: block;
}
.sidebar-context {
    margin: 20px 0 18px;
    padding: 15px;
    border-radius: 20px;
    border: 1px solid var(--ivt-line);
    background: linear-gradient(135deg, rgba(32, 213, 199, .10), rgba(76, 163, 255, .055));
}
.sidebar-context span,
.sidebar-footer-card small,
.nav-entry small,
.breadcrumb-kicker,
.eyebrow {
    display: block;
    color: var(--ivt-muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
    line-height: 1.35;
}
.sidebar-context strong {
    display: block;
    margin-top: 5px;
    color: #fff;
    font-size: 15px;
    line-height: 1.35;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.sidebar-nav,
.enterprise-nav {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 0;
}
.enterprise-nav .nav-section,
.nav-section {
    padding: 18px 10px 6px;
    color: #687895;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.enterprise-nav a.nav-entry,
.sidebar-nav a.nav-entry,
.sidebar-nav a {
    min-height: 56px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid transparent;
    border-radius: 16px;
    background: transparent;
    color: #dce6f7;
    text-align: left;
    text-decoration: none;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.enterprise-nav a.nav-entry:hover,
.enterprise-nav a.nav-entry.active,
.sidebar-nav a.nav-entry:hover,
.sidebar-nav a.nav-entry.active,
.sidebar-nav a:hover,
.sidebar-nav a.active {
    transform: translateX(2px);
    color: #fff;
    background: linear-gradient(135deg, rgba(32, 213, 199, .13), rgba(76, 163, 255, .075));
    border-color: rgba(32, 213, 199, .30);
}
.nav-entry-main {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
}
.nav-icon {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: grid;
    place-items: center;
    border-radius: 12px;
    background: linear-gradient(135deg, rgba(32, 213, 199, .24), rgba(76, 163, 255, .18));
    border: 1px solid rgba(32, 213, 199, .20);
    font-size: 0;
    color: transparent;
}
.nav-icon::before {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ivt-accent), var(--ivt-accent-2));
    box-shadow: 0 0 0 5px rgba(32, 213, 199, .08);
}
.nav-label {
    display: block;
    color: inherit;
    font-size: 14px;
    font-weight: 900;
    line-height: 1.15;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.nav-entry small {
    margin-top: 3px;
    font-size: 10px;
    letter-spacing: .04em;
    color: #8191ad;
}
.nav-arrow {
    color: #708198;
    font-size: 22px;
    line-height: 1;
    flex: 0 0 auto;
}
.nav-entry.active .nav-arrow { color: var(--ivt-accent); }
.sidebar-footer-card {
    margin-top: 24px;
    padding: 14px;
    display: flex;
    align-items: center;
    gap: 11px;
    border: 1px solid var(--ivt-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, .04);
}
.status-dot {
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: var(--ivt-danger);
    box-shadow: 0 0 0 5px rgba(255, 107, 131, .12);
}
.status-dot.online {
    background: var(--ivt-accent);
    box-shadow: 0 0 0 5px rgba(32, 213, 199, .12);
}
.sidebar-footer-card strong {
    display: block;
    color: #fff;
    line-height: 1.2;
}

/* Main shell */
.portal-main {
    width: calc(100% - 276px);
    margin-left: 276px;
    min-height: 100vh;
}
.topbar,
.topbar-shell {
    min-height: 78px;
    height: auto;
    padding: 16px 30px;
    position: sticky;
    top: 0;
    z-index: 1030;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: rgba(7, 11, 20, .86);
    border-bottom: 1px solid var(--ivt-line);
    backdrop-filter: blur(16px);
}
.topbar-left {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 14px;
}
.topbar-left > div { min-width: 0; }
.topbar-left strong {
    display: block;
    color: #fff;
    font-size: 21px;
    line-height: 1.15;
    letter-spacing: -.02em;
}
.topbar-left small {
    display: block;
    margin-top: 2px;
    color: var(--ivt-muted);
    font-size: 13px;
    line-height: 1.35;
}
.topbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    flex-wrap: nowrap;
    min-width: max-content;
}
.status-pill,
.price-pill {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid var(--ivt-line);
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
    white-space: nowrap;
}
.status-pill.online { color: #9afff7; background: rgba(32, 213, 199, .13); border-color: rgba(32, 213, 199, .28); }
.status-pill.offline { color: #ffc0ca; background: rgba(255, 107, 131, .13); border-color: rgba(255, 107, 131, .28); }
.price-pill { color: #dcecff; background: rgba(76, 163, 255, .10); border-color: rgba(76, 163, 255, .24); }
.user-chip-btn {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: 40px;
    padding: 5px 12px 5px 5px;
    border: 1px solid var(--ivt-line);
    border-radius: 999px;
    background: rgba(255, 255, 255, .045);
    color: #fff;
}
.user-chip-btn span {
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    color: #061016;
    background: var(--ivt-accent);
    font-size: 12px;
    font-weight: 950;
}
.user-chip-btn strong {
    max-width: 165px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 13px;
}
.portal-dropdown {
    border: 1px solid var(--ivt-line);
    border-radius: 16px;
    background: #111827;
    box-shadow: var(--ivt-shadow-soft);
}
.mobile-menu-btn {
    width: 42px;
    height: 42px;
    display: grid;
    place-content: center;
    gap: 4px;
    border: 1px solid var(--ivt-line);
    border-radius: 14px;
    background: var(--ivt-card-2);
}
.mobile-menu-btn span {
    width: 18px;
    height: 2px;
    border-radius: 999px;
    background: #dce7f7;
}

.content-wrap {
    width: min(100%, 1500px);
    margin: 0 auto;
    padding: 30px;
}
.portal-alert {
    border-radius: 16px;
    border: 1px solid var(--ivt-line);
}

/* Cards, grids and dashboard blocks */
.dashboard-grid,
.enterprise-page,
.admin-home-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 22px;
}
.span-12 { grid-column: span 12; }
.span-8 { grid-column: span 8; }
.span-7 { grid-column: span 7; }
.span-6 { grid-column: span 6; }
.span-5 { grid-column: span 5; }
.span-4 { grid-column: span 4; }
.portal-card,
.enterprise-card,
.upload-card,
.queue-panel,
.side-panel,
.payment-method-card,
.receipt-panel,
.gateway-settings-card {
    border: 1px solid var(--ivt-line);
    border-radius: var(--ivt-radius-lg);
    background: linear-gradient(180deg, rgba(17, 24, 39, .96), rgba(10, 16, 29, .96));
    box-shadow: var(--ivt-shadow-soft);
}
.portal-card,
.upload-card,
.queue-panel,
.side-panel,
.payment-method-card,
.receipt-panel,
.gateway-settings-card { padding: 26px; }
.portal-card h2,
.card-title,
.queue-panel h2,
.side-panel h2 {
    color: #fff;
    font-weight: 950;
    letter-spacing: -.035em;
    margin: 0 0 8px;
}
.portal-card p,
.queue-panel p,
.side-panel p {
    color: var(--ivt-muted-2);
    margin: 0;
    line-height: 1.6;
}
.eyebrow {
    color: var(--ivt-accent);
    margin-bottom: 8px;
}
.card-heading-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 20px;
}
.command-hero,
.enterprise-hero,
.hero-card {
    grid-column: span 12;
    min-height: 280px;
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
    gap: 22px;
    align-items: stretch;
    border-radius: 30px;
    background:
        radial-gradient(circle at 92% 10%, rgba(32, 213, 199, .22), transparent 32%),
        radial-gradient(circle at 4% 0%, rgba(76, 163, 255, .14), transparent 34%),
        linear-gradient(135deg, #172033 0%, #0b1120 100%);
}
.command-copy {
    min-width: 0;
    min-height: 220px;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.command-copy h2,
.enterprise-hero h2,
.hero-card h2 {
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.02;
    margin-bottom: 14px;
}
.command-copy .d-flex { margin-top: 24px !important; }
.command-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    min-width: 0;
}
.admin-action-tile {
    min-height: 128px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 20px;
    border: 1px solid var(--ivt-line);
    border-radius: 22px;
    background: rgba(255, 255, 255, .052);
    color: #edf5ff;
    text-decoration: none;
    line-height: 1.35;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.admin-action-tile:hover {
    transform: translateY(-2px);
    color: #fff;
    background: rgba(32, 213, 199, .085);
    border-color: rgba(32, 213, 199, .30);
}
.admin-action-tile strong {
    display: block;
    margin-bottom: 4px;
    color: #fff;
    font-size: 32px;
    font-weight: 950;
    letter-spacing: -.04em;
}
.admin-action-tile span {
    display: block;
    margin-top: 8px;
    color: var(--ivt-muted);
    font-size: 12px;
    line-height: 1.45;
}
.kpi-grid,
.enterprise-metrics {
    grid-column: span 12;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}
.kpi-card,
.metric-card,
.stat-tile {
    min-height: 120px;
    padding: 20px;
    border: 1px solid var(--ivt-line);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.kpi-card span,
.metric-card span,
.stat-tile span {
    color: var(--ivt-muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.kpi-card strong,
.metric-card strong,
.stat-tile strong {
    display: block;
    margin-top: 8px;
    color: #fff;
    font-size: 34px;
    font-weight: 950;
    line-height: 1;
    letter-spacing: -.045em;
}
.kpi-card small,
.metric-card small,
.stat-tile small {
    display: block;
    margin-top: 10px;
    color: var(--ivt-muted-2);
}
.queue-panel { grid-column: span 8; }
.side-panel { grid-column: span 4; }
.workflow-mini,
.enterprise-workflow {
    display: grid;
    gap: 12px;
}
.workflow-mini a,
.enterprise-workflow a,
.workflow-mini span {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 48px;
    padding: 13px 15px;
    border: 1px solid var(--ivt-line);
    border-radius: 16px;
    background: rgba(255, 255, 255, .04);
    color: #e7eefc;
    font-weight: 850;
    text-decoration: none;
}
.workflow-mini a:hover,
.enterprise-workflow a:hover {
    color: #fff;
    border-color: rgba(32, 213, 199, .36);
    background: rgba(32, 213, 199, .08);
}

/* Buttons */
.btn { font-weight: 850; }
.btn-accent {
    border: 0;
    border-radius: 14px;
    padding: 10px 17px;
    color: #061016 !important;
    background: linear-gradient(135deg, var(--ivt-accent), #8ffff7);
    box-shadow: 0 14px 30px rgba(32, 213, 199, .15);
}
.btn-accent:hover {
    color: #061016 !important;
    filter: brightness(1.04);
}
.btn-outline-light,
.icon-button {
    border-color: var(--ivt-line-strong);
    border-radius: 14px;
    color: #f6f9ff;
}
.btn-outline-light:hover { color: #061016; }
.text-link {
    color: #80eee6;
    font-weight: 850;
    text-decoration: none;
}
.text-link:hover { color: #bafffa; text-decoration: underline; }
.text-muted-soft { color: var(--ivt-muted) !important; }
.amount-chip {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 5px 10px;
    border: 1px solid rgba(32, 213, 199, .30);
    border-radius: 999px;
    background: rgba(32, 213, 199, .10);
    color: #adfff8;
    font-weight: 950;
    white-space: nowrap;
}

/* Tables */
.enterprise-table-wrap,
.table-responsive {
    width: 100%;
    border: 1px solid var(--ivt-line);
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255, 255, 255, .025);
}
.portal-table,
.table.portal-table {
    margin: 0;
    color: #e7eefc;
}
.portal-table thead th {
    padding: 14px 16px;
    border-bottom: 1px solid var(--ivt-line);
    color: #a9b8cf;
    background: rgba(148, 163, 184, .08);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
    white-space: nowrap;
}
.portal-table td {
    padding: 16px;
    border-color: var(--ivt-line);
    color: #e7eefc;
    vertical-align: middle;
}
.portal-table tbody tr { transition: background .15s ease; }
.portal-table tbody tr:hover { background: rgba(32, 213, 199, .045); }
.record-title {
    display: grid;
    gap: 3px;
}
.record-title strong { color: #fff; font-weight: 950; }
.record-title small { color: var(--ivt-muted); }
.status-badge,
.job-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    white-space: nowrap;
    background: rgba(148, 163, 184, .12);
    color: #d6e0ef;
}
.status-badge.completed,
.status-badge.paid,
.job-badge.completed { background: rgba(32, 213, 199, .13); color: #99fff8; }
.status-badge.cancelled,
.status-badge.rejected { background: rgba(255, 107, 131, .13); color: #ffb9c5; }
.status-badge.in_progress { background: rgba(76, 163, 255, .13); color: #cde6ff; }

/* Forms, filters and panels */
.toolbar-card {
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid var(--ivt-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, .035);
}
.filter-row,
.filter-row.five {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 190px 170px 170px auto;
    gap: 12px;
    margin: 18px 0 20px;
    padding: 14px;
    border: 1px solid var(--ivt-line);
    border-radius: 20px;
    background: rgba(255, 255, 255, .035);
}
.filter-row:not(.five) { grid-template-columns: minmax(240px, 1fr) auto; }
.form-control,
.form-select,
.portal-input,
textarea.form-control {
    min-height: 44px;
    color: #eef5ff;
    border-color: var(--ivt-line-strong);
    border-radius: 14px;
    background-color: #0d1526;
}
.form-control:focus,
.form-select:focus,
.portal-input:focus {
    color: #fff;
    background-color: #0f182a;
    border-color: rgba(32, 213, 199, .56);
    box-shadow: 0 0 0 .25rem rgba(32, 213, 199, .10);
}
.form-control::placeholder { color: #71829c; }
.form-control::file-selector-button { background: rgba(255,255,255,.08); color: #fff; border: 0; }
label,
.form-label { color: #d6dfec; font-weight: 800; }
.section-title {
    margin: 26px 0 16px;
    padding-top: 18px;
    border-top: 1px solid var(--ivt-line);
    color: #fff;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: .12em;
    text-transform: uppercase;
}

/* Upload wizard and option cards */
.wizard-intro { padding: 24px 28px; }
.wizard-progress {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.wizard-tab {
    display: flex;
    align-items: center;
    gap: 11px;
    padding: 13px 14px;
    border: 1px solid var(--ivt-line);
    border-radius: 18px;
    color: var(--ivt-muted);
    background: rgba(255,255,255,.035);
    text-align: left;
}
.wizard-tab span {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    flex: 0 0 34px;
    border-radius: 50%;
    color: #dce8ff;
    background: rgba(255,255,255,.08);
    font-weight: 950;
}
.wizard-tab strong { color: inherit; }
.wizard-tab.active {
    color: var(--ivt-accent);
    border-color: rgba(32, 213, 199, .45);
    background: rgba(32, 213, 199, .08);
}
.wizard-tab.active span { color: #061016; background: var(--ivt-accent); }
.wizard-step { display: none; }
.wizard-step.active { display: block; }
.option-grid,
.pricing-options-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.option-card,
.pricing-option-card,
.check-card,
.review-card,
.note-card,
.mini-file-row,
.file-row,
.flow-step,
.payment-lock,
.checkout-box,
.accept-panel {
    border: 1px solid var(--ivt-line);
    border-radius: 18px;
    background: rgba(255, 255, 255, .04);
}
.option-card,
.pricing-option-card {
    min-height: 70px;
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 15px;
    cursor: pointer;
}
.option-card input,
.pricing-option-card input,
.check-card input {
    margin-top: 3px;
    width: 18px;
    height: 18px;
    accent-color: var(--ivt-accent);
}
.option-card span,
.pricing-option-card span {
    display: grid;
    gap: 5px;
    min-width: 0;
    color: #fff;
    font-weight: 900;
}
.option-card small,
.pricing-option-card small {
    color: var(--ivt-muted);
    font-weight: 600;
    line-height: 1.4;
}
.pricing-option-card em {
    margin-left: auto;
    color: var(--ivt-accent);
    font-style: normal;
    font-weight: 950;
    white-space: nowrap;
}
.span-two { grid-column: span 2; }
.pricing-estimate-bar {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}
.pricing-estimate-bar div {
    padding: 14px;
    border: 1px solid rgba(32, 213, 199, .24);
    border-radius: 18px;
    background: rgba(32, 213, 199, .075);
}
.pricing-estimate-bar span { display: block; color: var(--ivt-muted); font-size: 12px; font-weight: 900; text-transform: uppercase; }
.pricing-estimate-bar strong { display: block; margin-top: 5px; color: #fff; font-size: 22px; }
.submit-row {
    display: flex;
    justify-content: flex-end;
    gap: 12px;
    margin-top: 22px;
}

/* Details, notes and timelines */
.flow-steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin: 10px 0 24px;
}
.flow-steps.vertical { grid-template-columns: 1fr; }
.flow-step { min-height: 92px; padding: 15px; }
.flow-step span {
    width: 14px;
    height: 14px;
    display: inline-block;
    margin-bottom: 12px;
    border-radius: 50%;
    background: #58647b;
    box-shadow: 0 0 0 5px rgba(255,255,255,.035);
}
.flow-step strong { display: block; color: #fff; font-size: 13px; line-height: 1.25; }
.flow-step small { display: block; margin-top: 6px; color: var(--ivt-muted); }
.flow-step.done { border-color: rgba(32, 213, 199, .40); background: rgba(32, 213, 199, .07); }
.flow-step.done span { background: var(--ivt-accent); box-shadow: 0 0 0 5px rgba(32,213,199,.13); }
.next-action-strip,
.accept-panel,
.payment-lock,
.checkout-box {
    margin: 14px 0 18px;
    padding: 18px;
}
.next-action-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    border: 1px solid rgba(32, 213, 199, .28);
    border-radius: 18px;
    background: rgba(32, 213, 199, .075);
}
.next-action-strip.admin { border-color: rgba(76, 163, 255, .28); background: rgba(76, 163, 255, .08); }
.next-action-strip span { color: var(--ivt-muted); text-transform: uppercase; letter-spacing: .06em; font-size: 12px; font-weight: 950; }
.next-action-strip strong { color: #fff; text-align: right; }
.detail-list,
.mini-detail-list {
    display: grid;
    grid-template-columns: 160px minmax(0, 1fr);
    gap: 10px 16px;
    margin: 0;
}
.detail-list.compact { grid-template-columns: 140px minmax(0, 1fr); }
.detail-list dt,
.mini-detail-list dt { color: var(--ivt-muted); font-size: 12px; font-weight: 800; }
.detail-list dd,
.mini-detail-list dd { margin: 0; color: #edf3ff; overflow-wrap: anywhere; }
.note-card { padding: 15px; margin-top: 12px; }
.note-card.customer-visible { border-color: rgba(32,213,199,.34); background: rgba(32,213,199,.07); }
.note-card p { margin: 10px 0 0; color: #dce8ff; white-space: pre-wrap; }
.note-meta { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.note-meta strong { color: #fff; }
.note-meta span { color: var(--ivt-muted); font-size: 12px; }
.activity-list { display: grid; gap: 13px; }
.activity-item { display: grid; grid-template-columns: 16px 1fr; gap: 11px; align-items: start; }
.activity-item > span {
    width: 12px;
    height: 12px;
    margin-top: 5px;
    border-radius: 50%;
    background: var(--ivt-accent);
    box-shadow: 0 0 0 5px rgba(32,213,199,.12);
}
.activity-item strong { display: block; color: #edf3ff; }
.activity-item small { display: block; color: var(--ivt-muted); margin-top: 4px; }
.locked-file { opacity: .72; }
.price-line { margin: 14px 0; color: var(--ivt-warning); font-size: 28px; line-height: 1; font-weight: 950; }
.checkout-label { display: block; color: var(--ivt-muted); text-transform: uppercase; font-size: 12px; font-weight: 900; letter-spacing: .05em; }
.checkout-box strong { display: block; margin: 10px 0 16px; color: var(--ivt-accent); font-size: clamp(42px, 7vw, 70px); line-height: 1; }

/* Pricing/settings/updater helpers */
.gateway-settings-grid,
.review-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.pricing-list { display: grid; gap: 16px; }
.pricing-option-row {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--ivt-line);
    border-radius: 20px;
    background: rgba(255,255,255,.04);
}
.pricing-option-main { display: grid; grid-template-columns: minmax(0,1fr) 140px 110px; gap: 12px; align-items: end; }
.pricing-option-flags { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) auto; gap: 12px; align-items: end; }
.check-list { display: grid; gap: 10px; }
.check-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--ivt-line);
    border-radius: 16px;
    background: rgba(255,255,255,.04);
}
.check-row span { color: var(--ivt-muted); font-size: 13px; }
.check-row strong { color: #fff; text-align: right; }
.updater-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.updater-actions form,
.check-card {
    padding: 15px;
    border: 1px solid var(--ivt-line);
    border-radius: 18px;
    background: rgba(255,255,255,.04);
}
.updater-actions small,
.check-card small { display: block; margin-top: 8px; color: var(--ivt-muted); line-height: 1.4; }
.clean-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.clean-list li { position: relative; padding-left: 22px; color: #dce8ff; }
.clean-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .62em;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--ivt-accent);
    box-shadow: 0 0 0 4px rgba(32,213,199,.12);
}
code { color: var(--ivt-accent); }
.pagination { --bs-pagination-bg: #0d1526; --bs-pagination-border-color: var(--ivt-line); --bs-pagination-color: #dce8ff; --bs-pagination-hover-bg: rgba(32,213,199,.10); --bs-pagination-hover-color: #fff; --bs-pagination-active-bg: var(--ivt-accent); --bs-pagination-active-border-color: var(--ivt-accent); --bs-pagination-active-color: #061016; }

/* Mobile and tablet */
@media (max-width: 1199.98px) {
    .portal-sidebar { width: 248px; }
    .portal-main { width: calc(100% - 248px); margin-left: 248px; }
    .command-hero { grid-template-columns: 1fr; }
    .command-actions { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .queue-panel, .side-panel { grid-column: span 12; }
    .kpi-grid, .enterprise-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .filter-row, .filter-row.five { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 991.98px) {
    .portal-layout { display: block; }
    .portal-sidebar {
        position: fixed;
        width: min(92vw, 360px);
        padding: 18px;
    }
    .portal-main { width: 100%; margin-left: 0; }
    .topbar-shell { padding: 14px 18px; }
    .topbar-actions { margin-left: auto; }
    .status-pill, .price-pill { display: none; }
    .content-wrap { padding: 20px; }
    .command-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .portal-card, .upload-card, .queue-panel, .side-panel { padding: 20px; }
    .topbar { align-items: flex-start; }
    .topbar-left strong { font-size: 18px; }
    .user-chip-btn strong { display: none; }
    .dashboard-grid, .enterprise-page, .admin-home-grid { grid-template-columns: 1fr; gap: 18px; }
    .span-12, .span-8, .span-7, .span-6, .span-5, .span-4 { grid-column: span 1; }
    .command-hero { grid-column: span 1; border-radius: 22px; }
    .command-actions, .kpi-grid, .enterprise-metrics, .filter-row, .filter-row.five, .option-grid, .pricing-options-grid, .pricing-estimate-bar, .wizard-progress, .review-grid, .gateway-settings-grid, .updater-actions, .pricing-option-main, .pricing-option-flags { grid-template-columns: 1fr; }
    .flow-steps { grid-template-columns: 1fr; }
    .span-two { grid-column: span 1; }
    .submit-row, .next-action-strip, .accept-panel { flex-direction: column; align-items: stretch; }
    .next-action-strip strong { text-align: left; }
    .detail-list, .mini-detail-list, .detail-list.compact { grid-template-columns: 1fr; }
    .card-heading-row { flex-direction: column; align-items: stretch; }
    .table-responsive { border-radius: 16px; }
}
@media (min-width: 992px) {
    .portal-sidebar.offcanvas-lg {
        visibility: visible !important;
        transform: none !important;
    }
}

/* v1.8.1 upload flow redesign */
.modern-upload-shell {
    display: grid;
    gap: 22px;
}
.wizard-header-card,
.wizard-panel {
    border: 1px solid rgba(126, 146, 183, .14);
    border-radius: 20px;
    background: linear-gradient(180deg, rgba(18, 25, 42, .98), rgba(11, 16, 28, .98));
    box-shadow: 0 18px 45px rgba(0, 0, 0, .22);
}
.wizard-header-card { padding: 0; overflow: hidden; }
.wizard-header-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.wizard-header-step {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 18px 24px;
    border: 0;
    color: #7f91ad;
    background: rgba(7, 10, 18, .72);
    text-align: left;
}
.wizard-header-step + .wizard-header-step {
    border-left: 1px solid rgba(126, 146, 183, .14);
}
.wizard-header-step.active {
    color: #dbe7ff;
    background: linear-gradient(180deg, rgba(20, 28, 48, .96), rgba(12, 17, 29, .96));
}
.wizard-header-step strong,
.wizard-header-step small { display: block; }
.wizard-header-step strong { color: inherit; font-size: 14px; font-weight: 900; }
.wizard-header-step small { margin-top: 4px; color: #7a8aa6; font-size: 12px; }
.wizard-header-step.active small { color: #9cb1d4; }
.wizard-header-icon {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    display: grid;
    place-items: center;
    border-radius: 8px;
    font-size: 12px;
    font-weight: 900;
    color: #d4e6ff;
    background: linear-gradient(135deg, rgba(65, 146, 255, .24), rgba(32, 213, 199, .16));
    border: 1px solid rgba(78, 153, 255, .24);
}
.wizard-header-step.active .wizard-header-icon { color: #fff; background: #4da2ff; }
.wizard-screen { display: none; }
.wizard-screen.active { display: block; }
.wizard-panel { padding: 18px 18px 20px; }
.wizard-plate-card {
    position: relative;
    margin-bottom: 18px;
    padding: 18px 16px 16px;
    border: 1px solid rgba(126, 146, 183, .10);
    border-radius: 14px;
    background: rgba(6, 10, 19, .58);
}
.wizard-callout {
    width: fit-content;
    margin: 0 auto 16px;
    padding: 8px 14px;
    border: 1px solid rgba(87, 163, 255, .55);
    border-radius: 6px;
    color: #55adff;
    background: rgba(22, 77, 152, .18);
    font-size: 13px;
}
.wizard-divider {
    position: relative;
    margin: 12px 0 18px;
    text-align: center;
}
.wizard-divider::before {
    content: "";
    position: absolute;
    inset: 50% 0 auto;
    height: 1px;
    background: rgba(126, 146, 183, .22);
}
.wizard-divider span {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 36px;
    padding: 2px 8px;
    border: 1px solid rgba(126, 146, 183, .16);
    border-radius: 999px;
    color: #fff;
    background: #05070e;
    font-size: 11px;
    font-weight: 900;
}
.wizard-select-row {
    display: grid;
    gap: 10px;
}
.wizard-select-row.five-up { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.wizard-link-btn {
    display: inline-flex;
    margin: 10px auto 0;
    border: 0;
    background: transparent;
    color: #2e95ff;
    font-size: 13px;
    font-weight: 800;
}
.wizard-link-btn:hover { color: #59adff; }
.manual-vehicle-grid {
    display: none;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed rgba(126, 146, 183, .20);
}
.manual-vehicle-grid.show { display: grid; }
.wizard-upload-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 480px;
    gap: 18px;
}
.upload-drop-card,
.wizard-details-card,
.comments-card,
.estimate-card,
.mini-note-card {
    border: 1px solid rgba(126, 146, 183, .14);
    border-radius: 14px;
    background: rgba(15, 21, 38, .74);
}
.upload-drop-card,
.wizard-details-card,
.comments-card,
.estimate-card,
.mini-note-card { padding: 14px; }
.upload-drop-header,
.wizard-details-title {
    margin-bottom: 14px;
    color: #e7f0ff;
    font-size: 24px;
    font-weight: 900;
    letter-spacing: -.03em;
}
.upload-drop-header { font-size: 14px; letter-spacing: 0; }
.upload-dropzone {
    min-height: 460px;
    display: grid;
    place-items: center;
    align-content: center;
    gap: 14px;
    padding: 30px;
    border: 1px solid rgba(126, 146, 183, .18);
    border-radius: 10px;
    color: #cad7ec;
    background: linear-gradient(180deg, rgba(9, 13, 24, .96), rgba(10, 14, 26, .96));
    text-align: center;
    cursor: pointer;
}
.upload-drop-card.dragover .upload-dropzone,
.upload-dropzone:hover {
    border-color: rgba(82, 167, 255, .4);
    background: linear-gradient(180deg, rgba(10, 16, 30, .98), rgba(12, 18, 34, .98));
}
.upload-real-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}
.upload-drop-icon {
    width: 58px;
    height: 58px;
    display: grid;
    place-items: center;
    color: #f0f4ff;
}
.upload-drop-icon svg { width: 46px; height: 46px; }
.upload-dropzone strong { font-size: 20px; font-weight: 400; color: #98a7bf; }
.upload-dropzone small { color: #6f83a4; font-size: 12px; }
.supporting-files-field { display: grid; gap: 10px; }
.supporting-files-field span { color: #e4ecfb; font-weight: 800; }
.stacked-fields {
    display: grid;
    gap: 12px;
    margin-top: 14px;
}
.toggle-card-grid {
    display: grid;
    gap: 10px;
}
.toggle-card-grid.two-up { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.toggle-card {
    position: relative;
    min-height: 62px;
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    border: 1px solid rgba(126, 146, 183, .18);
    border-radius: 10px;
    background: rgba(25, 34, 57, .45);
    color: #eff6ff;
    cursor: pointer;
}
.toggle-card.compact { min-height: 52px; }
.toggle-card input {
    width: 18px;
    height: 18px;
    margin: 0;
    accent-color: #3f9cff;
}
.toggle-card strong { font-size: 14px; font-weight: 900; }
.inline-setting-row {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px;
    align-items: center;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px dashed rgba(126, 146, 183, .18);
}
.inline-setting-row > span {
    color: #ccd8ed;
    font-weight: 800;
    font-size: 14px;
}
.consent-check-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding-top: 12px;
    border-top: 1px dashed rgba(126, 146, 183, .18);
}
.consent-check-row input {
    width: 18px;
    height: 18px;
    margin-top: 3px;
    accent-color: #3f9cff;
}
.consent-check-row span {
    color: #f4f7ff;
    font-weight: 700;
    line-height: 1.4;
}
.consent-check-row small {
    display: block;
    margin-top: 6px;
    color: #9babc6;
    font-size: 11px;
    font-weight: 600;
}
.wizard-footer-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid rgba(126, 146, 183, .16);
}
.wizard-footer-actions.split { justify-content: space-between; }
.wizard-next-btn,
.wizard-submit-btn,
.wizard-prev-btn {
    min-width: 122px;
    min-height: 38px;
    border: 0;
    border-radius: 6px;
    padding: 10px 16px;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .03em;
}
.wizard-next-btn,
.wizard-submit-btn,
.modern-upload-shell .btn-primary {
    color: #fff;
    background: linear-gradient(135deg, #28b2ff, #4297ff);
}
.wizard-prev-btn,
.modern-upload-shell .btn-secondary {
    color: #d6e6ff;
    background: rgba(47, 86, 138, .55);
}
.wizard-stage-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px;
    gap: 18px;
}
.stage-section-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: #f1f6ff;
}
.stage-section-header strong { display: block; font-size: 14px; font-weight: 900; }
.stage-section-header small { display: block; color: #8fa3c5; font-size: 12px; }
.section-icon {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #3b96ff;
    box-shadow: 0 0 0 4px rgba(59, 150, 255, .14);
}
.section-icon-accent { background: #20d5c7; box-shadow: 0 0 0 4px rgba(32, 213, 199, .14); }
.section-icon-warm { background: #ffc34d; box-shadow: 0 0 0 4px rgba(255, 195, 77, .14); }
.stage-solution-list,
.extras-option-grid { display: grid; gap: 10px; }
.stage-solution-card {
    position: relative;
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: flex-start;
    padding: 14px 16px;
    border: 1px solid rgba(126, 146, 183, .18);
    border-radius: 8px;
    background: rgba(17, 25, 43, .54);
    cursor: pointer;
}
.stage-solution-card.selected {
    border-color: rgba(77, 162, 255, .42);
    background: rgba(24, 39, 67, .74);
}
.stage-solution-card input {
    position: absolute;
    inset: 0;
    opacity: 0;
}
.solution-indicator {
    width: 18px;
    height: 18px;
    margin-top: 2px;
    border: 2px solid rgba(164, 183, 214, .45);
    border-radius: 50%;
    background: #0a0e19;
}
.stage-solution-card.selected .solution-indicator {
    border-color: #4da2ff;
    box-shadow: inset 0 0 0 4px #0a0e19, inset 0 0 0 8px #4da2ff;
}
.solution-copy strong,
.extra-option-chip strong { display: block; margin-bottom: 4px; color: #f5f9ff; font-size: 14px; }
.solution-copy small,
.extra-option-chip small { color: #99abc6; font-size: 11px; line-height: 1.45; }
.stage-solution-card em,
.extra-option-chip em {
    color: #95d8ff;
    font-style: normal;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}
.stage-extras-block,
.comments-card { margin-top: 18px; }
.extras-option-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.extra-option-chip {
    position: relative;
    display: grid;
    grid-template-columns: 18px minmax(0, 1fr) auto;
    gap: 12px;
    align-items: flex-start;
    padding: 14px;
    border: 1px solid rgba(126, 146, 183, .16);
    border-radius: 10px;
    background: rgba(14, 20, 35, .72);
    cursor: pointer;
}
.extra-option-chip::before {
    content: "";
    width: 18px;
    height: 18px;
    margin-top: 1px;
    border-radius: 4px;
    border: 1px solid rgba(164, 183, 214, .45);
    background: #0c111d;
}
.extra-option-chip.selected {
    border-color: rgba(32, 213, 199, .34);
    background: rgba(17, 37, 46, .55);
}
.extra-option-chip.selected::before {
    border-color: #20d5c7;
    box-shadow: inset 0 0 0 4px #0c111d, inset 0 0 0 8px #20d5c7;
}
.extra-option-chip input {
    position: absolute;
    inset: 0;
    opacity: 0;
}
.promo-card {
    padding: 18px 16px;
    border-radius: 8px;
    color: #fff;
    background: linear-gradient(180deg, #56269d, #462182);
    box-shadow: 0 14px 34px rgba(75, 29, 140, .35);
}
.promo-icon {
    width: 26px;
    height: 26px;
    display: inline-grid;
    place-items: center;
    margin-bottom: 18px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .12);
    font-weight: 900;
}
.promo-card strong { display: block; font-size: 28px; font-weight: 900; }
.promo-card small { display: block; margin-top: 4px; color: rgba(255, 255, 255, .86); }
.wizard-stage-side {
    display: grid;
    align-content: start;
    gap: 14px;
}
.estimate-card span {
    display: block;
    color: #8ea4c9;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .08em;
}
.estimate-card > strong {
    display: block;
    margin: 10px 0 14px;
    color: #fff;
    font-size: 28px;
    font-weight: 900;
}
.estimate-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px dashed rgba(126, 146, 183, .16);
}
.estimate-line small { color: #8ea4c9; font-weight: 700; }
.estimate-line b { color: #f1f6ff; font-size: 14px; }
.estimate-line.total b { color: #20d5c7; }
.mini-note-card strong { display: block; margin-bottom: 10px; color: #fff; }
.mini-note-card ol {
    margin: 0;
    padding-left: 18px;
    color: #9fb0cb;
    display: grid;
    gap: 8px;
    font-size: 13px;
}

@media (max-width: 1199.98px) {
    .wizard-upload-grid { grid-template-columns: 1fr; }
    .wizard-stage-layout { grid-template-columns: 1fr; }
    .wizard-stage-side { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .wizard-select-row.five-up,
    .manual-vehicle-grid,
    .extras-option-grid { grid-template-columns: 1fr 1fr; }
    .wizard-stage-side { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .wizard-header-grid,
    .wizard-select-row.five-up,
    .manual-vehicle-grid,
    .toggle-card-grid.two-up,
    .extras-option-grid { grid-template-columns: 1fr; }
    .wizard-panel { padding: 14px; }
    .inline-setting-row { grid-template-columns: 1fr; }
    .wizard-footer-actions,
    .wizard-footer-actions.split { flex-direction: column; align-items: stretch; }
    .upload-dropzone { min-height: 280px; }
    .stage-solution-card,
    .extra-option-chip { grid-template-columns: 20px minmax(0, 1fr); }
    .stage-solution-card em,
    .extra-option-chip em { grid-column: 2; }
}


/* v1.8.1: compact upload page, admin-managed Solutions and discount controls */
.wizard-upload-grid {
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    align-items: start;
}
.upload-drop-card {
    background: linear-gradient(180deg, rgba(18, 27, 47, .86), rgba(10, 15, 27, .92));
}
.upload-drop-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    font-size: 15px;
}
.upload-drop-header small {
    padding: 4px 8px;
    border: 1px solid rgba(32, 213, 199, .28);
    border-radius: 999px;
    color: #20d5c7;
    background: rgba(32, 213, 199, .08);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.upload-dropzone {
    min-height: 178px;
    grid-template-columns: 52px minmax(0, 1fr);
    place-items: stretch;
    align-items: center;
    align-content: center;
    gap: 14px;
    padding: 18px;
    border-radius: 14px;
    text-align: left;
}
.upload-drop-icon {
    width: 52px;
    height: 52px;
    border: 1px solid rgba(126, 146, 183, .18);
    border-radius: 14px;
    background: rgba(255, 255, 255, .04);
}
.upload-drop-icon svg { width: 34px; height: 34px; }
.upload-drop-copy {
    display: grid;
    gap: 5px;
    min-width: 0;
}
.upload-drop-copy strong,
.upload-dropzone strong {
    color: #eaf2ff;
    font-size: 15px;
    font-weight: 900;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.upload-drop-copy small,
.upload-dropzone small {
    color: #8fa2c2;
    font-size: 11px;
    line-height: 1.45;
}
.upload-helper-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.upload-helper-strip span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 9px;
    border: 1px solid rgba(126, 146, 183, .12);
    border-radius: 999px;
    color: #9fb2d2;
    background: rgba(255, 255, 255, .035);
    font-size: 11px;
    font-weight: 800;
}
.supporting-files-field {
    margin-top: 12px !important;
    padding-top: 12px;
    border-top: 1px dashed rgba(126, 146, 183, .16);
}
.wizard-details-card {
    min-height: 0;
}
.stage-solution-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.stage-solution-card {
    min-height: 94px;
    border-radius: 12px;
}
.empty-solution-note {
    padding: 16px;
    border: 1px dashed rgba(255, 195, 77, .34);
    border-radius: 14px;
    color: #ffd991;
    background: rgba(255, 195, 77, .08);
    font-weight: 800;
}
.estimate-line.discount b { color: #20d5c7; }
.pricing-option-shell {
    display: grid;
    gap: 8px;
    padding: 12px;
    border: 1px solid rgba(126, 146, 183, .12);
    border-radius: 22px;
    background: rgba(255, 255, 255, .025);
}
.pricing-option-shell.is-solution { border-left: 3px solid rgba(77, 162, 255, .82); }
.pricing-option-shell.is-extra { border-left: 3px solid rgba(32, 213, 199, .76); }
.pricing-option-main.enhanced { grid-template-columns: minmax(0, 1fr) 150px 110px; }
.pricing-option-flags.enhanced { grid-template-columns: 130px minmax(170px, 1fr) 130px auto auto; }
.option-section-pill {
    align-self: end;
    justify-self: start;
    padding: 8px 10px;
    border: 1px solid rgba(126, 146, 183, .16);
    border-radius: 999px;
    color: #d7e6ff;
    background: rgba(255, 255, 255, .04);
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}
.enhanced-pricing-list .delete-inline {
    justify-content: flex-end;
}
@media (max-width: 1199.98px) {
    .wizard-upload-grid,
    .stage-solution-list { grid-template-columns: 1fr; }
    .pricing-option-main.enhanced,
    .pricing-option-flags.enhanced { grid-template-columns: 1fr; }
    .option-section-pill { justify-self: stretch; text-align: center; }
}
@media (max-width: 767.98px) {
    .upload-dropzone {
        min-height: 150px;
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
        padding: 16px;
    }
    .upload-helper-strip { justify-content: center; }
}


/* v1.8.2: admin job hotfix UI, compact upload forms and professional login refresh */
.pro-login-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 50% -10%, rgba(32, 213, 199, .16), transparent 34%),
        radial-gradient(circle at 100% 10%, rgba(76, 163, 255, .12), transparent 28%),
        linear-gradient(180deg, #060a12 0%, #0a101d 100%);
}
.pro-login-shell {
    min-height: 100vh;
    display: grid;
    place-items: center;
    padding: 28px;
}
.pro-login-card {
    width: min(100%, 440px);
    padding: 30px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 26px;
    background: linear-gradient(180deg, rgba(17, 24, 39, .95), rgba(9, 14, 26, .98));
    box-shadow: 0 28px 80px rgba(0, 0, 0, .42);
}
.login-brand-mark {
    display: flex;
    justify-content: center;
    margin-bottom: 22px;
}
.login-brand-mark img {
    width: 170px;
    height: auto;
    padding: 10px 14px;
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 18px;
    background: rgba(255, 255, 255, .03);
}
.login-heading-block { text-align: center; margin-bottom: 24px; }
.login-heading-block h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 30px;
    font-weight: 950;
    letter-spacing: -.04em;
}
.login-heading-block p {
    margin: 0;
    color: #9fb0cb;
    line-height: 1.55;
}
.pro-login-form { gap: 16px; }
.pro-login-form label { display: grid; gap: 8px; }
.pro-login-form .form-control { min-height: 48px; border-radius: 14px; }
.login-form-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: -2px 0 2px;
}
.pro-auth-switch {
    margin: 18px 0 0;
    text-align: center;
    color: #91a3bf;
}
.pro-auth-switch a { color: #20d5c7; font-weight: 900; text-decoration: none; }

.portal-layout-admin .portal-sidebar {
    width: 260px;
    padding: 18px 15px;
    background: linear-gradient(180deg, rgba(9, 14, 25, .99), rgba(6, 10, 18, .995));
}
.portal-layout-admin .portal-main {
    width: calc(100% - 260px);
    margin-left: 260px;
}
.portal-layout-admin .sidebar-context,
.portal-layout-admin .sidebar-footer-card {
    border-radius: 16px;
    background: rgba(255, 255, 255, .032);
}
.portal-layout-admin .nav-section { padding-top: 14px; }
.portal-layout-admin .nav-entry { min-height: 50px; border-radius: 14px; }
.portal-layout-admin .nav-icon {
    width: 30px;
    height: 30px;
    flex-basis: 30px;
    border-radius: 10px;
}
.portal-layout-admin .topbar-shell {
    min-height: 70px;
    padding: 14px 26px;
    background: rgba(7, 11, 20, .92);
}
.portal-layout-admin .content-wrap {
    max-width: 1540px;
    padding: 24px;
}
.portal-layout-admin .portal-card,
.portal-layout-admin .queue-panel,
.portal-layout-admin .side-panel {
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(17, 24, 39, .94), rgba(9, 14, 26, .96));
}

.queue-command-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .78fr);
    gap: 22px;
    align-items: center;
    margin-bottom: 20px;
    padding: 24px;
    overflow: hidden;
    position: relative;
}
.queue-command-card::after {
    content: "";
    position: absolute;
    inset: auto -80px -120px auto;
    width: 280px;
    height: 280px;
    border-radius: 999px;
    background: rgba(32, 213, 199, .10);
    filter: blur(6px);
    pointer-events: none;
}
.queue-command-copy h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 30px;
    font-weight: 950;
    letter-spacing: -.04em;
}
.queue-command-copy p { max-width: 680px; color: #a9b7cf; }
.queue-stat-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    position: relative;
    z-index: 1;
}
.queue-stat-strip a {
    display: grid;
    gap: 6px;
    min-height: 96px;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 18px;
    color: #e8f1ff;
    text-decoration: none;
    background: rgba(255, 255, 255, .04);
}
.queue-stat-strip a:hover {
    border-color: rgba(32, 213, 199, .34);
    background: rgba(32, 213, 199, .07);
}
.queue-stat-strip span {
    color: #8fa2bf;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .1em;
    text-transform: uppercase;
}
.queue-stat-strip strong { color: #fff; font-size: 30px; line-height: 1; }
.compact-toolbar {
    display: grid;
    gap: 12px;
    margin-bottom: 18px;
    padding: 14px;
}
.admin-filter-row {
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
}
.queue-filter-pills {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.queue-filter-pills a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 12px;
    border: 1px solid rgba(148, 163, 184, .15);
    border-radius: 999px;
    color: #9fb0cb;
    background: rgba(255, 255, 255, .035);
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}
.queue-filter-pills a.active,
.queue-filter-pills a:hover {
    color: #061016;
    border-color: transparent;
    background: linear-gradient(135deg, #20d5c7, #4ca3ff);
}
.admin-pro-card { padding: 20px; }
.pro-table-wrap { border-radius: 18px; }
.admin-queue-table thead th {
    color: #8ea4c4;
    font-size: 11px;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.admin-queue-table tbody td { padding-top: 14px; padding-bottom: 14px; }
.admin-queue-table tbody tr:hover { background: rgba(32, 213, 199, .055); }
.admin-job-hero {
    background:
        linear-gradient(135deg, rgba(32, 213, 199, .10), transparent 48%),
        linear-gradient(180deg, rgba(17, 24, 39, .96), rgba(9, 14, 26, .96));
}
.admin-quick-panel .stacked-form,
.upload-completed-panel .stacked-form { gap: 12px; }
.admin-quick-panel textarea.form-control,
.upload-completed-panel textarea.form-control { min-height: 92px; }

.modern-upload-shell { gap: 16px; }
.wizard-header-step { padding: 14px 18px; }
.wizard-header-icon {
    width: 28px;
    height: 28px;
    flex-basis: 28px;
}
.wizard-panel {
    padding: 14px;
    border-radius: 18px;
}
.wizard-plate-card {
    margin-bottom: 14px;
    padding: 14px;
}
.wizard-callout.compact {
    width: 100%;
    margin-bottom: 12px;
    text-align: center;
}
.wizard-select-row.five-up { gap: 8px; }
.manual-vehicle-grid {
    gap: 10px;
    margin-top: 12px;
    padding-top: 12px;
}
.wizard-upload-grid {
    grid-template-columns: minmax(280px, 370px) minmax(0, 1fr) !important;
    gap: 14px;
}
.upload-drop-card,
.wizard-details-card,
.comments-card,
.estimate-card,
.mini-note-card {
    padding: 12px;
    border-radius: 14px;
}
.upload-drop-header {
    margin-bottom: 8px;
    font-size: 14px;
}
.upload-dropzone {
    min-height: 132px !important;
    padding: 14px !important;
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 12px !important;
    border-radius: 12px !important;
}
.upload-drop-icon {
    width: 44px !important;
    height: 44px !important;
    border-radius: 12px !important;
}
.upload-drop-icon svg { width: 28px !important; height: 28px !important; }
.upload-drop-copy strong,
.upload-dropzone strong { font-size: 14px !important; }
.upload-drop-copy small,
.upload-dropzone small { font-size: 10.5px !important; }
.upload-helper-strip { margin-top: 8px; gap: 6px; }
.upload-helper-strip span { padding: 5px 8px; font-size: 10.5px; }
.supporting-files-field {
    margin-top: 10px !important;
    padding-top: 10px;
}
.wizard-details-title { margin-bottom: 10px; font-size: 19px; }
.stacked-fields { gap: 10px; margin-top: 10px; }
.toggle-card { min-height: 52px; padding: 11px 12px; }
.toggle-card.compact { min-height: 44px; padding: 9px 10px; }
.inline-setting-row {
    margin-top: 12px;
    padding-top: 12px;
}
.consent-check-row {
    margin-top: 10px !important;
    padding-top: 10px;
}
.stage-solution-card {
    min-height: 82px;
    padding: 12px;
}
.extra-option-chip { padding: 12px; }
.comments-card textarea.form-control { min-height: 105px; }
.wizard-footer-actions {
    margin-top: 14px;
    padding-top: 12px;
}

@media (max-width: 1199.98px) {
    .queue-command-card,
    .wizard-upload-grid { grid-template-columns: 1fr !important; }
    .queue-stat-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 991.98px) {
    .portal-layout-admin .portal-main { width: 100%; margin-left: 0; }
    .portal-layout-admin .portal-sidebar { width: var(--bs-offcanvas-width); }
}
@media (max-width: 767.98px) {
    .pro-login-shell { padding: 18px; }
    .pro-login-card { padding: 22px; border-radius: 22px; }
    .queue-stat-strip { grid-template-columns: 1fr; }
    .upload-dropzone {
        min-height: 118px !important;
        grid-template-columns: 1fr !important;
        text-align: center;
        justify-items: center;
    }
}

/* v1.8.3: cleaner spacious portal UI, VRM lookup states and less-squashed admin/customer boxes */
:root {
    --ivt-radius: 20px;
    --ivt-radius-lg: 30px;
}
.content-wrap {
    width: min(100%, 1600px);
    padding: 34px;
}
.portal-layout-admin .content-wrap {
    max-width: 1680px;
    padding: 32px 34px 46px;
}
.portal-card,
.enterprise-card,
.upload-card,
.queue-panel,
.side-panel,
.payment-method-card,
.receipt-panel,
.gateway-settings-card {
    border-radius: 28px;
    box-shadow: 0 22px 58px rgba(0, 0, 0, .26);
}
.portal-card,
.upload-card,
.queue-panel,
.side-panel,
.payment-method-card,
.receipt-panel,
.gateway-settings-card,
.portal-layout-admin .portal-card,
.portal-layout-admin .queue-panel,
.portal-layout-admin .side-panel {
    padding: 30px;
}
.card-heading-row { margin-bottom: 24px; gap: 22px; }
.portal-card p,
.queue-panel p,
.side-panel p { font-size: 15px; }
.form-control,
.form-select,
.portal-input {
    min-height: 52px;
    padding: .78rem 1rem;
    border-radius: 16px;
    font-size: 15px;
}
textarea.form-control {
    min-height: 132px;
    padding: 1rem;
    line-height: 1.55;
}
.btn-accent,
.btn-outline-light,
.btn-secondary,
.btn-primary {
    border-radius: 16px;
    min-height: 44px;
    padding-left: 18px;
    padding-right: 18px;
}
.table-responsive,
.enterprise-table-wrap { border-radius: 24px; }
.portal-table thead th { padding: 17px 20px; }
.portal-table td { padding: 19px 20px; }
.status-badge,
.job-badge,
.amount-chip { min-height: 32px; padding: 7px 12px; }
.kpi-grid,
.enterprise-metrics,
.admin-home-grid,
.enterprise-page,
.dashboard-grid { gap: 26px; }
.kpi-card,
.metric-card,
.stat-tile { min-height: 142px; padding: 26px; border-radius: 26px; }
.kpi-card strong,
.metric-card strong,
.stat-tile strong { font-size: 40px; }
.workflow-mini a,
.enterprise-workflow a,
.workflow-mini span { min-height: 58px; padding: 17px 18px; border-radius: 18px; }

.pro-login-body {
    background:
        radial-gradient(circle at 12% 8%, rgba(32, 213, 199, .18), transparent 30%),
        radial-gradient(circle at 88% 0%, rgba(76, 163, 255, .16), transparent 34%),
        linear-gradient(180deg, #050914 0%, #0a1020 100%);
}
.pro-login-shell { padding: 40px; }
.pro-login-card {
    width: min(100%, 500px);
    padding: 42px;
    border-radius: 32px;
    background:
        linear-gradient(135deg, rgba(32, 213, 199, .08), transparent 34%),
        linear-gradient(180deg, rgba(18, 27, 44, .97), rgba(8, 13, 24, .99));
}
.login-brand-mark { margin-bottom: 28px; }
.login-brand-mark img { width: 188px; padding: 12px 18px; border-radius: 22px; }
.login-heading-block { margin-bottom: 28px; }
.login-heading-block h2 { font-size: 34px; }
.pro-login-form { gap: 18px; }
.pro-login-form .form-control { min-height: 54px; border-radius: 16px; }
.login-form-row .check-row { width: 100%; justify-content: flex-start; padding: 13px 15px; }

.portal-layout-admin .portal-sidebar {
    width: 282px;
    padding: 22px 18px;
}
.portal-layout-admin .portal-main {
    width: calc(100% - 282px);
    margin-left: 282px;
}
.portal-layout-admin .topbar-shell {
    min-height: 82px;
    padding: 18px 34px;
}
.portal-layout-admin .nav-entry { min-height: 58px; padding: 12px 14px; }
.portal-layout-admin .nav-icon { width: 36px; height: 36px; flex-basis: 36px; }
.portal-layout-admin .sidebar-context,
.portal-layout-admin .sidebar-footer-card { padding: 16px; border-radius: 20px; }
.command-hero,
.enterprise-hero,
.hero-card {
    min-height: 330px;
    grid-template-columns: minmax(0, 1fr) minmax(420px, .86fr);
    gap: 28px;
    padding: 34px;
}
.admin-action-tile { min-height: 150px; padding: 24px; border-radius: 26px; }
.queue-command-card {
    grid-template-columns: minmax(0, 1fr) minmax(460px, .82fr);
    gap: 28px;
    padding: 34px;
    margin-bottom: 26px;
}
.queue-command-copy h2 { font-size: 36px; }
.queue-command-copy p { font-size: 15px; line-height: 1.7; }
.queue-stat-strip { gap: 14px; }
.queue-stat-strip a { min-height: 124px; padding: 22px; border-radius: 24px; }
.queue-stat-strip strong { font-size: 38px; }
.compact-toolbar { padding: 20px; gap: 16px; border-radius: 24px; }
.admin-filter-row.filter-row.five {
    grid-template-columns: minmax(280px, 1fr) minmax(180px, .45fr) minmax(170px, .42fr) minmax(180px, .42fr) auto;
    gap: 14px;
}
.admin-pro-card { padding: 30px; }
.admin-queue-table tbody td { padding-top: 18px; padding-bottom: 18px; }
.admin-job-hero,
.admin-quick-panel,
.upload-completed-panel { border-radius: 28px; }
.admin-quick-panel .stacked-form,
.upload-completed-panel .stacked-form { gap: 16px; }
.admin-quick-panel textarea.form-control,
.upload-completed-panel textarea.form-control { min-height: 125px; }

.modern-upload-shell { display: grid; gap: 22px; }
.wizard-header-card,
.wizard-panel { border-radius: 28px; }
.wizard-header-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wizard-header-step { min-height: 82px; padding: 20px 24px; gap: 16px; }
.wizard-header-icon { width: 36px; height: 36px; flex-basis: 36px; }
.wizard-panel { padding: 26px; }
.wizard-plate-card { margin-bottom: 24px; padding: 24px; border-radius: 26px; }
.wizard-callout.compact {
    display: grid;
    gap: 6px;
    margin-bottom: 18px;
    padding: 16px 18px;
    text-align: left;
    line-height: 1.45;
}
.wizard-callout.compact small {
    display: block;
    color: #93a7c6;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0;
    text-transform: none;
}
.wizard-callout.compact small.lookup-error { color: #ffd166; }
.wizard-select-row.five-up {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 14px;
}
.manual-vehicle-grid { gap: 14px; margin-top: 18px; padding-top: 18px; }
.wizard-upload-grid {
    grid-template-columns: minmax(380px, .9fr) minmax(0, 1.1fr) !important;
    gap: 24px;
}
.upload-drop-card,
.wizard-details-card,
.comments-card,
.estimate-card,
.mini-note-card {
    padding: 22px;
    border-radius: 24px;
}
.upload-drop-header { margin-bottom: 14px; font-size: 15px; }
.upload-dropzone {
    min-height: 210px !important;
    padding: 24px !important;
    grid-template-columns: 62px minmax(0, 1fr) !important;
    gap: 18px !important;
    border-radius: 22px !important;
}
.upload-drop-icon { width: 62px !important; height: 62px !important; border-radius: 18px !important; }
.upload-drop-icon svg { width: 38px !important; height: 38px !important; }
.upload-drop-copy strong,
.upload-dropzone strong { font-size: 19px !important; font-weight: 900; color: #f2f7ff; }
.upload-drop-copy small,
.upload-dropzone small { font-size: 12px !important; line-height: 1.5; }
.upload-helper-strip { margin-top: 14px; gap: 10px; }
.upload-helper-strip span { padding: 8px 11px; font-size: 11.5px; }
.supporting-files-field { margin-top: 16px !important; padding-top: 16px; }
.wizard-details-title { margin-bottom: 16px; font-size: 23px; }
.stacked-fields { gap: 14px; margin-top: 14px; }
.toggle-card-grid { gap: 14px; }
.toggle-card { min-height: 68px; padding: 17px 18px; border-radius: 20px; }
.toggle-card.compact { min-height: 58px; padding: 13px 14px; }
.toggle-card strong { font-size: 15px; }
.inline-setting-row { margin-top: 18px; padding-top: 18px; }
.consent-check-row { margin-top: 16px !important; padding: 16px; border-radius: 20px; background: rgba(255, 255, 255, .035); }
.wizard-stage-layout { grid-template-columns: minmax(0, 1fr) minmax(300px, 360px); gap: 24px; }
.stage-section-header { margin-bottom: 16px; }
.stage-solution-list { gap: 14px; }
.stage-solution-card { min-height: 104px; padding: 18px; border-radius: 22px; }
.extras-option-grid { gap: 14px; }
.extra-option-chip { min-height: 86px; padding: 18px; border-radius: 20px; }
.comments-card { margin-top: 24px; }
.comments-card textarea.form-control { min-height: 150px; }
.promo-card { padding: 24px; border-radius: 26px; }
.promo-card strong { font-size: 34px; }
.estimate-card > strong { font-size: 34px; }
.estimate-line { padding: 11px 0; }
.mini-note-card ol { gap: 9px; }
.wizard-footer-actions { margin-top: 24px; padding-top: 22px; }
.wizard-next-btn,
.wizard-submit-btn,
.wizard-prev-btn { min-height: 54px; padding: 0 26px; }

@media (max-width: 1399.98px) {
    .admin-filter-row.filter-row.five { grid-template-columns: 1fr 1fr 1fr; }
    .admin-filter-row.filter-row.five .btn { grid-column: span 3; }
}
@media (max-width: 1199.98px) {
    .portal-layout-admin .portal-main { width: calc(100% - 260px); margin-left: 260px; }
    .portal-layout-admin .portal-sidebar { width: 260px; }
    .command-hero,
    .enterprise-hero,
    .hero-card,
    .queue-command-card,
    .wizard-upload-grid,
    .wizard-stage-layout { grid-template-columns: 1fr !important; }
}
@media (max-width: 991.98px) {
    .portal-layout-admin .portal-main,
    .portal-main { width: 100%; margin-left: 0; }
    .content-wrap,
    .portal-layout-admin .content-wrap { padding: 22px; }
    .portal-card,
    .upload-card,
    .queue-panel,
    .side-panel,
    .gateway-settings-card { padding: 22px; }
    .wizard-panel { padding: 20px; }
    .wizard-header-grid { grid-template-columns: 1fr; }
}
@media (max-width: 767.98px) {
    .pro-login-shell { padding: 18px; }
    .pro-login-card { padding: 24px; border-radius: 24px; }
    .admin-filter-row.filter-row.five,
    .filter-row,
    .filter-row.five,
    .wizard-select-row.five-up,
    .toggle-card-grid.two-up,
    .extras-option-grid { grid-template-columns: 1fr !important; }
    .admin-filter-row.filter-row.five .btn { grid-column: auto; }
    .upload-dropzone { min-height: 170px !important; grid-template-columns: 1fr !important; text-align: center; justify-items: center; }
    .wizard-footer-actions,
    .wizard-footer-actions.split { flex-direction: column; align-items: stretch; }
}

/* v1.8.4: readable light/dark mode, icon-first menus and cleaner grouped Solution selection */
html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="light"] {
    color-scheme: light;
    --ivt-bg: #f3f6fb;
    --ivt-bg-2: #eaf0f8;
    --ivt-sidebar: #ffffff;
    --ivt-sidebar-soft: #f3f7fd;
    --ivt-card: #ffffff;
    --ivt-card-2: #f7faff;
    --ivt-soft: rgba(15, 23, 42, .045);
    --ivt-soft-2: rgba(15, 23, 42, .075);
    --ivt-line: rgba(15, 23, 42, .12);
    --ivt-line-strong: rgba(15, 23, 42, .20);
    --ivt-text: #0f172a;
    --ivt-muted: #5c6b82;
    --ivt-muted-2: #334155;
    --ivt-accent: #0aa89f;
    --ivt-accent-2: #176fd8;
    --ivt-warning: #a76500;
    --ivt-danger: #c73652;
    --ivt-success: #087b52;
    --ivt-shadow: 0 22px 70px rgba(15, 23, 42, .12);
    --ivt-shadow-soft: 0 14px 34px rgba(15, 23, 42, .10);
}
body.portal-body,
.portal-sidebar,
.topbar-shell,
.portal-card,
.enterprise-card,
.upload-card,
.queue-panel,
.side-panel,
.gateway-settings-card,
.wizard-panel,
.wizard-header-card,
.form-control,
.form-select,
.nav-entry,
.stage-solution-card,
.extra-option-chip {
    transition: background-color .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
html[data-theme="light"] body.portal-body,
html[data-theme="light"] body.pro-login-body {
    color: var(--ivt-text);
    background:
        radial-gradient(circle at 10% -10%, rgba(10, 168, 159, .14), transparent 30%),
        radial-gradient(circle at 90% 0%, rgba(23, 111, 216, .12), transparent 30%),
        linear-gradient(180deg, var(--ivt-bg) 0%, var(--ivt-bg-2) 100%);
}
html[data-theme="light"] .portal-sidebar {
    color: var(--ivt-text);
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(245, 248, 253, .98));
    border-right-color: var(--ivt-line);
    box-shadow: 18px 0 45px rgba(15, 23, 42, .08);
}
html[data-theme="light"] .topbar,
html[data-theme="light"] .topbar-shell {
    background: rgba(255, 255, 255, .84);
    border-bottom-color: var(--ivt-line);
}
html[data-theme="light"] .portal-card,
html[data-theme="light"] .enterprise-card,
html[data-theme="light"] .upload-card,
html[data-theme="light"] .queue-panel,
html[data-theme="light"] .side-panel,
html[data-theme="light"] .payment-method-card,
html[data-theme="light"] .receipt-panel,
html[data-theme="light"] .gateway-settings-card,
html[data-theme="light"] .wizard-header-card,
html[data-theme="light"] .wizard-panel,
html[data-theme="light"] .upload-drop-card,
html[data-theme="light"] .wizard-details-card,
html[data-theme="light"] .comments-card,
html[data-theme="light"] .estimate-card,
html[data-theme="light"] .mini-note-card,
html[data-theme="light"] .pricing-option-shell,
html[data-theme="light"] .compact-toolbar,
html[data-theme="light"] .queue-command-card,
html[data-theme="light"] .pro-login-card {
    color: var(--ivt-text);
    background: linear-gradient(180deg, rgba(255, 255, 255, .96), rgba(246, 249, 254, .98));
    border-color: var(--ivt-line);
    box-shadow: var(--ivt-shadow-soft);
}
html[data-theme="light"] .command-hero,
html[data-theme="light"] .enterprise-hero,
html[data-theme="light"] .hero-card {
    background:
        radial-gradient(circle at 92% 10%, rgba(10, 168, 159, .17), transparent 34%),
        radial-gradient(circle at 4% 0%, rgba(23, 111, 216, .13), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #eef4fb 100%);
}
html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] .topbar-left strong,
html[data-theme="light"] .portal-card h2,
html[data-theme="light"] .queue-panel h2,
html[data-theme="light"] .side-panel h2,
html[data-theme="light"] .command-copy h2,
html[data-theme="light"] .enterprise-hero h2,
html[data-theme="light"] .hero-card h2,
html[data-theme="light"] .record-title strong,
html[data-theme="light"] .sidebar-context strong,
html[data-theme="light"] .sidebar-footer-card strong,
html[data-theme="light"] .kpi-card strong,
html[data-theme="light"] .metric-card strong,
html[data-theme="light"] .stat-tile strong,
html[data-theme="light"] .admin-action-tile strong,
html[data-theme="light"] .stage-section-header strong,
html[data-theme="light"] .solution-copy strong,
html[data-theme="light"] .extra-option-chip strong,
html[data-theme="light"] .upload-drop-copy strong,
html[data-theme="light"] .wizard-details-title,
html[data-theme="light"] .mini-note-card strong,
html[data-theme="light"] .estimate-card > strong,
html[data-theme="light"] .check-row strong,
html[data-theme="light"] .detail-list dd,
html[data-theme="light"] .mini-detail-list dd {
    color: #0f172a;
}
html[data-theme="light"] p,
html[data-theme="light"] .portal-card p,
html[data-theme="light"] .queue-panel p,
html[data-theme="light"] .side-panel p,
html[data-theme="light"] .text-muted-soft,
html[data-theme="light"] .text-muted,
html[data-theme="light"] .topbar-left small,
html[data-theme="light"] .breadcrumb-kicker,
html[data-theme="light"] .sidebar-context span,
html[data-theme="light"] .sidebar-footer-card small,
html[data-theme="light"] .nav-entry small,
html[data-theme="light"] .solution-copy small,
html[data-theme="light"] .extra-option-chip small,
html[data-theme="light"] .upload-drop-copy small,
html[data-theme="light"] .estimate-line small,
html[data-theme="light"] .mini-note-card ol,
html[data-theme="light"] .check-row span,
html[data-theme="light"] .detail-list dt,
html[data-theme="light"] .mini-detail-list dt {
    color: var(--ivt-muted) !important;
}
html[data-theme="light"] .form-control,
html[data-theme="light"] .form-select,
html[data-theme="light"] .portal-input,
html[data-theme="light"] textarea.form-control {
    color: #111827;
    background-color: #ffffff;
    border-color: var(--ivt-line-strong);
}
html[data-theme="light"] .form-control:focus,
html[data-theme="light"] .form-select:focus,
html[data-theme="light"] .portal-input:focus {
    color: #0f172a;
    background-color: #ffffff;
    border-color: rgba(10, 168, 159, .56);
    box-shadow: 0 0 0 .25rem rgba(10, 168, 159, .12);
}
html[data-theme="light"] .form-control::placeholder { color: #8290a6; }
html[data-theme="light"] label,
html[data-theme="light"] .form-label,
html[data-theme="light"] .inline-setting-row > span,
html[data-theme="light"] .supporting-files-field span,
html[data-theme="light"] .consent-check-row span {
    color: #1f2a3d;
}
html[data-theme="light"] .portal-table,
html[data-theme="light"] .table.portal-table,
html[data-theme="light"] .portal-table td {
    color: #243246;
}
html[data-theme="light"] .portal-table thead th {
    color: #53637a;
    background: rgba(15, 23, 42, .04);
}
html[data-theme="light"] .portal-table tbody tr:hover { background: rgba(10, 168, 159, .055); }
html[data-theme="light"] .enterprise-table-wrap,
html[data-theme="light"] .table-responsive,
html[data-theme="light"] .toolbar-card,
html[data-theme="light"] .filter-row,
html[data-theme="light"] .check-row,
html[data-theme="light"] .workflow-mini a,
html[data-theme="light"] .enterprise-workflow a,
html[data-theme="light"] .flow-step,
html[data-theme="light"] .note-card,
html[data-theme="light"] .payment-lock,
html[data-theme="light"] .checkout-box,
html[data-theme="light"] .accept-panel {
    background: rgba(255, 255, 255, .76);
    border-color: var(--ivt-line);
}
html[data-theme="light"] .btn-outline-light {
    color: #142033;
    border-color: rgba(15, 23, 42, .20);
    background: rgba(255, 255, 255, .58);
}
html[data-theme="light"] .btn-outline-light:hover {
    color: #061016;
    background: #e7f4ff;
    border-color: rgba(23, 111, 216, .28);
}
html[data-theme="light"] .btn-secondary,
html[data-theme="light"] .modern-upload-shell .btn-secondary {
    color: #142033;
    background: #e4edf8;
    border-color: rgba(15, 23, 42, .12);
}
html[data-theme="light"] .user-chip-btn,
html[data-theme="light"] .mobile-menu-btn,
html[data-theme="light"] .theme-toggle-btn {
    color: #142033;
    background: rgba(255, 255, 255, .78);
    border-color: var(--ivt-line);
}
html[data-theme="light"] .portal-dropdown,
html[data-theme="light"] .dropdown-menu-dark {
    --bs-dropdown-bg: #ffffff;
    --bs-dropdown-color: #142033;
    --bs-dropdown-link-color: #142033;
    --bs-dropdown-link-hover-color: #0f172a;
    --bs-dropdown-link-hover-bg: #edf4fb;
    --bs-dropdown-border-color: var(--ivt-line);
    background: #ffffff;
    color: #142033;
}
html[data-theme="light"] .upload-dropzone {
    color: #273449;
    background: linear-gradient(180deg, #ffffff, #f4f8fd);
    border-color: rgba(15, 23, 42, .14);
}
html[data-theme="light"] .toggle-card,
html[data-theme="light"] .stage-solution-card,
html[data-theme="light"] .extra-option-chip,
html[data-theme="light"] .wizard-plate-card,
html[data-theme="light"] .wizard-header-step,
html[data-theme="light"] .wizard-callout.compact {
    color: #172033;
    background: rgba(255, 255, 255, .76);
    border-color: var(--ivt-line);
}
html[data-theme="light"] .wizard-header-step.active,
html[data-theme="light"] .stage-solution-card.selected,
html[data-theme="light"] .extra-option-chip.selected {
    color: #0f172a;
    background: rgba(10, 168, 159, .08);
    border-color: rgba(10, 168, 159, .34);
}
html[data-theme="light"] .solution-indicator,
html[data-theme="light"] .extra-option-chip::before {
    background: #ffffff;
    border-color: rgba(15, 23, 42, .24);
}
html[data-theme="light"] .promo-card {
    background: linear-gradient(135deg, #176fd8, #0aa89f);
}
html[data-theme="light"] .pagination {
    --bs-pagination-bg: #ffffff;
    --bs-pagination-border-color: var(--ivt-line);
    --bs-pagination-color: #172033;
    --bs-pagination-hover-bg: #edf6ff;
    --bs-pagination-hover-color: #0f172a;
}

/* icon-first sidebar menu */
.enterprise-nav a.nav-entry,
.sidebar-nav a.nav-entry,
.sidebar-nav a {
    min-height: 82px;
    padding: 12px 10px;
    justify-content: center;
}
.nav-entry-main {
    width: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    text-align: center;
}
.nav-entry-main > span:last-child {
    min-width: 0;
    display: grid;
    gap: 2px;
}
.nav-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    color: #dff7ff;
    font-size: inherit;
    background: linear-gradient(135deg, rgba(32, 213, 199, .24), rgba(76, 163, 255, .22));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}
.nav-icon::before { content: none; display: none; }
.nav-icon svg {
    width: 22px;
    height: 22px;
    display: block;
}
.nav-label {
    font-size: 13px;
    line-height: 1.2;
    text-align: center;
}
.nav-entry small {
    margin: 0;
    font-size: 9.5px;
    line-height: 1.2;
    text-align: center;
}
.nav-arrow { display: none; }
.portal-layout-admin .nav-entry { min-height: 82px; }
.portal-layout-admin .nav-icon { width: 42px; height: 42px; flex-basis: 42px; }
html[data-theme="light"] .enterprise-nav a.nav-entry,
html[data-theme="light"] .sidebar-nav a.nav-entry,
html[data-theme="light"] .sidebar-nav a {
    color: #23334b;
}
html[data-theme="light"] .enterprise-nav a.nav-entry:hover,
html[data-theme="light"] .enterprise-nav a.nav-entry.active,
html[data-theme="light"] .sidebar-nav a.nav-entry:hover,
html[data-theme="light"] .sidebar-nav a.nav-entry.active,
html[data-theme="light"] .sidebar-nav a:hover,
html[data-theme="light"] .sidebar-nav a.active {
    color: #0f172a;
    background: linear-gradient(135deg, rgba(10, 168, 159, .12), rgba(23, 111, 216, .08));
    border-color: rgba(10, 168, 159, .28);
}
html[data-theme="light"] .nav-icon {
    color: #0b5c70;
    background: linear-gradient(135deg, rgba(10, 168, 159, .12), rgba(23, 111, 216, .10));
    border-color: rgba(10, 168, 159, .18);
}

/* Light/dark toggle */
.theme-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 6px 12px;
    border: 1px solid var(--ivt-line);
    border-radius: 999px;
    color: #eaf2ff;
    background: rgba(255, 255, 255, .045);
    font-weight: 900;
    font-size: 12px;
}
.theme-toggle-icon {
    width: 24px;
    height: 24px;
    display: inline-grid;
    place-items: center;
    border-radius: 50%;
    background: linear-gradient(135deg, var(--ivt-accent), var(--ivt-accent-2));
    position: relative;
}
.theme-toggle-icon::before {
    content: "";
    width: 11px;
    height: 11px;
    border-radius: 50%;
    background: #061016;
    box-shadow: 6px -2px 0 -2px rgba(255, 255, 255, .94);
}
html[data-theme="light"] .theme-toggle-icon::before {
    width: 12px;
    height: 12px;
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(255, 255, 255, .28);
}
.guest-theme-toggle {
    position: fixed;
    top: 22px;
    right: 22px;
    z-index: 10;
}

/* Solution accordion and upload polish */
.solution-accordion {
    display: grid;
    gap: 12px;
}
.solution-accordion-item.accordion-item {
    overflow: hidden;
    border: 1px solid rgba(126, 146, 183, .18);
    border-radius: 22px;
    background: rgba(255, 255, 255, .035);
}
.solution-accordion-button.accordion-button {
    min-height: 70px;
    padding: 17px 20px;
    color: #f4f8ff;
    background: linear-gradient(135deg, rgba(32, 213, 199, .08), rgba(76, 163, 255, .055));
    box-shadow: none;
}
.solution-accordion-button.accordion-button:not(.collapsed) {
    color: #ffffff;
    background: linear-gradient(135deg, rgba(32, 213, 199, .14), rgba(76, 163, 255, .10));
    border-bottom: 1px solid rgba(126, 146, 183, .16);
}
.solution-accordion-button span {
    display: grid;
    gap: 4px;
}
.solution-accordion-button strong {
    color: inherit;
    font-size: 16px;
    font-weight: 950;
}
.solution-accordion-button small {
    color: var(--ivt-muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.solution-accordion-button::after {
    filter: invert(1) grayscale(1);
    opacity: .78;
}
.solution-accordion-body.accordion-body {
    padding: 16px;
}
.stage-solution-list.grouped {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}
.stage-solution-list.grouped .stage-solution-card {
    min-height: 96px;
}
.stage-solution-card,
.extra-option-chip,
.toggle-card,
.upload-drop-card,
.wizard-details-card,
.comments-card,
.estimate-card,
.mini-note-card {
    overflow-wrap: anywhere;
}
.modern-upload-shell .wizard-panel { padding: 24px; }
.modern-upload-shell .wizard-plate-card { padding: 22px; }
.modern-upload-shell .wizard-upload-grid { gap: 22px; }
.modern-upload-shell .upload-drop-card,
.modern-upload-shell .wizard-details-card,
.modern-upload-shell .comments-card,
.modern-upload-shell .estimate-card,
.modern-upload-shell .mini-note-card { padding: 20px; }
.modern-upload-shell .upload-dropzone {
    min-height: 178px !important;
    padding: 20px !important;
}
.modern-upload-shell textarea.form-control { min-height: 132px; }
.wizard-stage-layout { align-items: start; }
.wizard-stage-side { position: sticky; top: 102px; }

html[data-theme="light"] .solution-accordion-item.accordion-item,
html[data-theme="light"] .solution-accordion-body.accordion-body {
    background: rgba(255, 255, 255, .80);
    border-color: var(--ivt-line);
}
html[data-theme="light"] .solution-accordion-button.accordion-button,
html[data-theme="light"] .solution-accordion-button.accordion-button:not(.collapsed) {
    color: #0f172a;
    background: linear-gradient(135deg, rgba(10, 168, 159, .10), rgba(23, 111, 216, .06));
}
html[data-theme="light"] .solution-accordion-button::after { filter: none; }

@media (max-width: 1199.98px) {
    .wizard-stage-side { position: static; }
}
@media (max-width: 991.98px) {
    .enterprise-nav a.nav-entry,
    .sidebar-nav a.nav-entry,
    .sidebar-nav a,
    .portal-layout-admin .nav-entry { min-height: 76px; }
    .theme-toggle-btn strong { display: none; }
}
@media (max-width: 767.98px) {
    .guest-theme-toggle { top: 14px; right: 14px; }
    .stage-solution-list.grouped { grid-template-columns: 1fr; }
    .solution-accordion-button.accordion-button { min-height: 62px; padding: 14px 16px; }
    .solution-accordion-body.accordion-body { padding: 12px; }
    .modern-upload-shell .wizard-panel { padding: 18px; }
    .modern-upload-shell .wizard-plate-card,
    .modern-upload-shell .upload-drop-card,
    .modern-upload-shell .wizard-details-card,
    .modern-upload-shell .comments-card,
    .modern-upload-shell .estimate-card,
    .modern-upload-shell .mini-note-card { padding: 16px; }
}

/* v1.8.4 layout utilities restored/strengthened for cleaner cards and forms */
.stacked-form {
    display: grid;
    gap: 18px;
}
.stacked-form label,
.form-grid label {
    display: grid;
    gap: 8px;
}
.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.hero-stat-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    align-self: stretch;
}
.hero-stat-row div {
    min-height: 112px;
    display: grid;
    align-content: center;
    gap: 8px;
    padding: 20px;
    border: 1px solid var(--ivt-line);
    border-radius: 24px;
    background: rgba(255, 255, 255, .045);
}
.hero-stat-row span {
    color: var(--ivt-muted);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.hero-stat-row strong {
    color: #ffffff;
    font-size: 30px;
    line-height: 1;
    font-weight: 950;
    letter-spacing: -.04em;
}
.file-row,
.mini-file-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    margin-top: 12px;
}
.file-row strong,
.mini-file-row strong {
    display: block;
    color: #ffffff;
    line-height: 1.25;
}
.file-row small,
.mini-file-row small {
    display: block;
    margin-top: 5px;
    color: var(--ivt-muted);
    line-height: 1.4;
}
.mini-file-row > span {
    color: var(--ivt-muted-2);
    font-size: 13px;
    text-align: right;
    overflow-wrap: anywhere;
}
html[data-theme="light"] .hero-stat-row div,
html[data-theme="light"] .file-row,
html[data-theme="light"] .mini-file-row {
    background: rgba(255, 255, 255, .78);
    border-color: var(--ivt-line);
}
html[data-theme="light"] .hero-stat-row strong,
html[data-theme="light"] .file-row strong,
html[data-theme="light"] .mini-file-row strong {
    color: #0f172a;
}
html[data-theme="light"] .mini-file-row > span { color: #334155; }
@media (max-width: 1199.98px) {
    .hero-stat-row { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .form-grid,
    .hero-stat-row { grid-template-columns: 1fr; }
    .file-row,
    .mini-file-row { flex-direction: column; align-items: stretch; }
    .mini-file-row > span { text-align: left; }
}

/* v1.8.5: cleaner vehicle lookup dropdown spacing and settings helper text */
.wizard-select-row.five-up {
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
}
.wizard-plate-card .form-select,
.wizard-plate-card .form-control {
    min-height: 54px;
    padding: 0.86rem 1rem;
    line-height: 1.35;
}
.wizard-plate-card .form-select:disabled {
    opacity: .72;
    cursor: not-allowed;
}
.wizard-callout small.lookup-error {
    color: #ffb4b4;
}
.settings-help-text {
    margin: -2px 0 18px;
    line-height: 1.55;
}
@media (max-width: 767.98px) {
    .wizard-select-row.five-up {
        grid-template-columns: 1fr;
    }
}

/* v1.8.6: vehicle lookup hardening and less-squashed dropdown states */
.wizard-plate-card {
    overflow: visible;
}
.wizard-select-row.five-up > div {
    min-width: 0;
}
.wizard-plate-card .form-select {
    width: 100%;
    white-space: normal;
    text-overflow: ellipsis;
}
.wizard-plate-card .form-select:disabled {
    background-color: rgba(15, 23, 42, .64);
    color: rgba(226, 232, 240, .72);
    border-color: rgba(148, 163, 184, .2);
}
html[data-theme="light"] .wizard-plate-card .form-select:disabled {
    background-color: rgba(226, 232, 240, .86);
    color: rgba(51, 65, 85, .72);
    border-color: rgba(148, 163, 184, .45);
}
.wizard-callout small {
    display: block;
    margin-top: 8px;
    font-weight: 850;
    line-height: 1.35;
}

/* v1.8.7: live-only vehicle lookup states */
.wizard-callout.compact small.lookup-error {
    color: #ffcf6e;
}
html[data-theme="light"] .wizard-callout.compact small.lookup-error {
    color: #a34800;
}
.wizard-plate-card .form-select:not(:disabled) {
    cursor: pointer;
}
.wizard-plate-card .form-select option {
    color: #0f172a;
}

/* v1.8.8: compact icon-first sidebar and readable select/dropdown colours */
:root {
    --ivt-select-arrow-dark: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23f8fafc' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    --ivt-select-arrow-light: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%230f172a' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
}

@media (min-width: 992px) {
    .portal-sidebar,
    .portal-layout-admin .portal-sidebar,
    .portal-layout-customer .portal-sidebar {
        width: 232px;
        padding: 16px 12px;
    }

    .portal-main,
    .portal-layout-admin .portal-main,
    .portal-layout-customer .portal-main {
        width: calc(100% - 232px);
        margin-left: 232px;
    }
}

.sidebar-head {
    min-height: 46px;
}

.sidebar-logo img {
    width: 126px;
}

.sidebar-context,
.portal-layout-admin .sidebar-context,
.portal-layout-customer .sidebar-context {
    margin: 16px 2px 14px;
    padding: 12px 13px;
    border-radius: 18px;
}

.enterprise-nav,
.sidebar-nav {
    gap: 4px;
}

.enterprise-nav .nav-section,
.nav-section,
.portal-layout-admin .nav-section {
    padding: 14px 10px 5px;
    letter-spacing: .15em;
}

.enterprise-nav a.nav-entry,
.sidebar-nav a.nav-entry,
.sidebar-nav a,
.portal-layout-admin .nav-entry,
.portal-layout-customer .nav-entry {
    width: calc(100% - 14px);
    min-height: 70px;
    margin: 0 auto;
    padding: 9px 8px;
    border-radius: 16px;
}

.enterprise-nav a.nav-entry:hover,
.enterprise-nav a.nav-entry.active,
.sidebar-nav a.nav-entry:hover,
.sidebar-nav a.nav-entry.active,
.sidebar-nav a:hover,
.sidebar-nav a.active {
    transform: translateX(1px);
}

.nav-entry-main {
    gap: 7px;
}

.nav-icon,
.portal-layout-admin .nav-icon,
.portal-layout-customer .nav-icon {
    width: 36px;
    height: 36px;
    flex-basis: 36px;
    border-radius: 13px;
}

.nav-icon svg {
    width: 19px;
    height: 19px;
}

.nav-label {
    font-size: 12.5px;
    line-height: 1.15;
}

.nav-entry small {
    font-size: 8.8px;
    line-height: 1.1;
    letter-spacing: .055em;
}

.sidebar-footer-card,
.portal-layout-admin .sidebar-footer-card,
.portal-layout-customer .sidebar-footer-card {
    margin: 18px 2px 0;
    padding: 12px;
    border-radius: 16px;
}

html[data-theme="dark"] .form-select,
html[data-theme="dark"] select.form-select,
html[data-theme="dark"] .wizard-plate-card .form-select,
html[data-theme="dark"] .portal-card select,
html[data-theme="dark"] .enterprise-card select,
html[data-theme="dark"] .upload-card select,
html[data-theme="dark"] .queue-panel select,
html[data-theme="dark"] .side-panel select,
html[data-theme="dark"] .gateway-settings-card select {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-color: #0d1526 !important;
    border-color: rgba(148, 163, 184, .34) !important;
    background-image: var(--ivt-select-arrow-dark) !important;
}

html[data-theme="dark"] .form-select:focus,
html[data-theme="dark"] select.form-select:focus,
html[data-theme="dark"] .wizard-plate-card .form-select:focus {
    color: #ffffff !important;
    -webkit-text-fill-color: #ffffff !important;
    background-color: #111c31 !important;
    border-color: rgba(32, 213, 199, .58) !important;
}

html[data-theme="dark"] .form-select:disabled,
html[data-theme="dark"] select.form-select:disabled,
html[data-theme="dark"] .wizard-plate-card .form-select:disabled {
    opacity: 1 !important;
    color: #cbd5e1 !important;
    -webkit-text-fill-color: #cbd5e1 !important;
    background-color: #1e293b !important;
    border-color: rgba(148, 163, 184, .28) !important;
    background-image: var(--ivt-select-arrow-dark) !important;
}

html[data-theme="dark"] .form-select option,
html[data-theme="dark"] select.form-select option,
html[data-theme="dark"] .wizard-plate-card .form-select option {
    color: #ffffff !important;
    background-color: #0f172a !important;
}

html[data-theme="dark"] .form-select option:disabled,
html[data-theme="dark"] select.form-select option:disabled,
html[data-theme="dark"] .wizard-plate-card .form-select option:disabled {
    color: #94a3b8 !important;
}

html[data-theme="light"] .form-select,
html[data-theme="light"] select.form-select,
html[data-theme="light"] .wizard-plate-card .form-select,
html[data-theme="light"] .portal-card select,
html[data-theme="light"] .enterprise-card select,
html[data-theme="light"] .upload-card select,
html[data-theme="light"] .queue-panel select,
html[data-theme="light"] .side-panel select,
html[data-theme="light"] .gateway-settings-card select {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background-color: #ffffff !important;
    border-color: rgba(15, 23, 42, .22) !important;
    background-image: var(--ivt-select-arrow-light) !important;
}

html[data-theme="light"] .form-select:focus,
html[data-theme="light"] select.form-select:focus,
html[data-theme="light"] .wizard-plate-card .form-select:focus {
    color: #0f172a !important;
    -webkit-text-fill-color: #0f172a !important;
    background-color: #ffffff !important;
    border-color: rgba(10, 168, 159, .56) !important;
}

html[data-theme="light"] .form-select:disabled,
html[data-theme="light"] select.form-select:disabled,
html[data-theme="light"] .wizard-plate-card .form-select:disabled {
    opacity: 1 !important;
    color: #64748b !important;
    -webkit-text-fill-color: #64748b !important;
    background-color: #e8eef6 !important;
    border-color: rgba(15, 23, 42, .18) !important;
    background-image: var(--ivt-select-arrow-light) !important;
}

html[data-theme="light"] .form-select option,
html[data-theme="light"] select.form-select option,
html[data-theme="light"] .wizard-plate-card .form-select option {
    color: #0f172a !important;
    background-color: #ffffff !important;
}

html[data-theme="light"] .form-select option:disabled,
html[data-theme="light"] select.form-select option:disabled,
html[data-theme="light"] .wizard-plate-card .form-select option:disabled {
    color: #64748b !important;
}

html[data-theme="dark"] .portal-dropdown,
html[data-theme="dark"] .dropdown-menu {
    color: #ffffff;
    background-color: #0f172a;
    border-color: rgba(148, 163, 184, .24);
}
html[data-theme="dark"] .portal-dropdown .dropdown-item,
html[data-theme="dark"] .portal-dropdown .dropdown-item-text,
html[data-theme="dark"] .dropdown-menu .dropdown-item,
html[data-theme="dark"] .dropdown-menu .dropdown-item-text {
    color: #ffffff !important;
}
html[data-theme="dark"] .portal-dropdown .dropdown-item:hover,
html[data-theme="dark"] .dropdown-menu .dropdown-item:hover {
    color: #ffffff !important;
    background-color: rgba(32, 213, 199, .14);
}
html[data-theme="light"] .portal-dropdown,
html[data-theme="light"] .dropdown-menu,
html[data-theme="light"] .dropdown-menu-dark {
    color: #0f172a;
    background-color: #ffffff;
    border-color: rgba(15, 23, 42, .14);
}
html[data-theme="light"] .portal-dropdown .dropdown-item,
html[data-theme="light"] .portal-dropdown .dropdown-item-text,
html[data-theme="light"] .dropdown-menu .dropdown-item,
html[data-theme="light"] .dropdown-menu .dropdown-item-text,
html[data-theme="light"] .dropdown-menu-dark .dropdown-item,
html[data-theme="light"] .dropdown-menu-dark .dropdown-item-text {
    color: #0f172a !important;
}
html[data-theme="light"] .portal-dropdown .dropdown-item:hover,
html[data-theme="light"] .dropdown-menu .dropdown-item:hover,
html[data-theme="light"] .dropdown-menu-dark .dropdown-item:hover {
    color: #0f172a !important;
    background-color: rgba(10, 168, 159, .10);
}

/* v1.8.9: narrower menus, first-name workspace display support and editable branding */
@media (min-width: 992px) {
    .portal-sidebar,
    .portal-layout-admin .portal-sidebar,
    .portal-layout-customer .portal-sidebar {
        width: 196px !important;
        padding: 14px 8px !important;
    }

    .portal-main,
    .portal-layout-admin .portal-main,
    .portal-layout-customer .portal-main {
        width: calc(100% - 196px) !important;
        margin-left: 196px !important;
    }
}

.sidebar-head {
    justify-content: center;
    min-height: 40px;
    margin-bottom: 8px;
}

.sidebar-logo {
    display: flex;
    justify-content: center;
    width: 100%;
}

.sidebar-logo img,
.login-brand-mark img {
    object-fit: contain;
}

.sidebar-logo img {
    width: 112px !important;
    max-height: 46px;
}

.sidebar-context,
.portal-layout-admin .sidebar-context,
.portal-layout-customer .sidebar-context {
    max-width: 156px;
    margin: 12px auto 12px !important;
    padding: 10px 11px !important;
    border-radius: 16px !important;
}

.sidebar-context strong {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.enterprise-nav,
.sidebar-nav {
    align-items: center;
    gap: 5px !important;
}

.enterprise-nav .nav-section,
.nav-section,
.portal-layout-admin .nav-section {
    width: 150px;
    padding: 12px 4px 5px !important;
    text-align: left;
}

.enterprise-nav a.nav-entry,
.sidebar-nav a.nav-entry,
.sidebar-nav a,
.portal-layout-admin .nav-entry,
.portal-layout-customer .nav-entry {
    width: 132px !important;
    min-height: 66px !important;
    padding: 8px 7px !important;
    border-radius: 15px !important;
}

.nav-entry-main {
    width: 100%;
    gap: 6px !important;
}

.nav-icon,
.portal-layout-admin .nav-icon,
.portal-layout-customer .nav-icon {
    width: 34px !important;
    height: 34px !important;
    flex-basis: 34px !important;
    border-radius: 12px !important;
}

.nav-icon svg {
    width: 18px !important;
    height: 18px !important;
}

.nav-label {
    font-size: 12px !important;
    line-height: 1.08 !important;
}

.nav-entry small {
    font-size: 8px !important;
    letter-spacing: .045em !important;
}

.nav-arrow {
    display: none !important;
}

.sidebar-footer-card,
.portal-layout-admin .sidebar-footer-card,
.portal-layout-customer .sidebar-footer-card {
    max-width: 156px;
    margin: 14px auto 0 !important;
    padding: 10px !important;
    border-radius: 15px !important;
}

.brand-settings-row {
    display: grid;
    grid-template-columns: minmax(180px, 240px) minmax(0, 1fr);
    gap: 16px;
    align-items: stretch;
}

.logo-preview-card,
.logo-upload-field {
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 18px;
    background: rgba(15, 23, 42, .48);
    padding: 16px;
}

.logo-preview-card span,
.logo-upload-field small {
    display: block;
}

.logo-preview-card span {
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.logo-preview-card img {
    display: block;
    width: min(170px, 100%);
    max-height: 72px;
    object-fit: contain;
}

.logo-upload-field .form-control {
    margin-top: 9px;
}

html[data-theme="light"] .logo-preview-card,
html[data-theme="light"] .logo-upload-field {
    background: #ffffff;
    border-color: rgba(15, 23, 42, .12);
}

@media (max-width: 991.98px) {
    .brand-settings-row {
        grid-template-columns: 1fr;
    }

    .portal-sidebar,
    .portal-layout-admin .portal-sidebar,
    .portal-layout-customer .portal-sidebar {
        width: 214px !important;
    }
}

/* v1.8.10: dashboard label, tighter menu, schedule banners and login polish */
@media (min-width: 992px) {
    .portal-sidebar,
    .portal-layout-admin .portal-sidebar,
    .portal-layout-customer .portal-sidebar {
        width: 176px !important;
        padding: 12px 6px !important;
    }

    .portal-main,
    .portal-layout-admin .portal-main,
    .portal-layout-customer .portal-main {
        width: calc(100% - 176px) !important;
        margin-left: 176px !important;
    }
}

.sidebar-logo img {
    width: 104px !important;
    max-height: 44px !important;
}

.sidebar-context,
.portal-layout-admin .sidebar-context,
.portal-layout-customer .sidebar-context,
.sidebar-footer-card,
.portal-layout-admin .sidebar-footer-card,
.portal-layout-customer .sidebar-footer-card {
    max-width: 136px !important;
}

.sidebar-context,
.portal-layout-admin .sidebar-context,
.portal-layout-customer .sidebar-context {
    padding: 9px 10px !important;
    margin: 10px auto 10px !important;
}

.sidebar-context span,
.sidebar-footer-card small {
    font-size: 9.5px !important;
}

.sidebar-context strong {
    font-size: 13px !important;
}

.enterprise-nav .nav-section,
.nav-section,
.portal-layout-admin .nav-section,
.portal-layout-customer .nav-section {
    width: 130px !important;
    padding: 10px 2px 4px !important;
    font-size: 9px !important;
    letter-spacing: .14em !important;
}

.enterprise-nav a.nav-entry,
.sidebar-nav a.nav-entry,
.sidebar-nav a,
.portal-layout-admin .nav-entry,
.portal-layout-customer .nav-entry {
    width: 118px !important;
    min-height: 64px !important;
    padding: 8px 5px !important;
    border-radius: 14px !important;
}

.nav-entry-main {
    gap: 6px !important;
}

.nav-icon,
.portal-layout-admin .nav-icon,
.portal-layout-customer .nav-icon {
    width: 32px !important;
    height: 32px !important;
    flex-basis: 32px !important;
    border-radius: 11px !important;
}

.nav-icon svg {
    width: 17px !important;
    height: 17px !important;
}

.nav-label {
    font-size: 13.25px !important;
    line-height: 1.08 !important;
    letter-spacing: -.02em !important;
}

.nav-entry small {
    font-size: 8.6px !important;
    line-height: 1 !important;
}

.sidebar-footer-card,
.portal-layout-admin .sidebar-footer-card,
.portal-layout-customer .sidebar-footer-card {
    padding: 9px !important;
    margin-top: 12px !important;
}

.login-form-row {
    margin-top: -2px !important;
}

.login-form-row .login-remember-row,
.login-remember-row {
    width: auto !important;
    min-height: 0 !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    padding: 7px 2px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.login-remember-row input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0 !important;
    flex: 0 0 16px;
}

.login-remember-row span {
    font-size: 13px !important;
    line-height: 1.2 !important;
}

.schedule-settings-card {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(32, 213, 199, .18);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(32, 213, 199, .075), rgba(76, 163, 255, .045));
}

.schedule-settings-head h4 {
    margin: 4px 0 6px;
    color: var(--ivt-text);
    font-size: 18px;
    font-weight: 950;
}

.schedule-settings-head p {
    margin: 0;
    color: var(--ivt-muted-2);
    line-height: 1.6;
}

.service-schedule-banner {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
    padding: 15px 16px;
    border: 1px solid rgba(148, 163, 184, .18);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(32, 213, 199, .11), rgba(76, 163, 255, .065));
    box-shadow: var(--ivt-shadow-soft);
}

.service-schedule-banner.offline {
    border-color: rgba(255, 107, 131, .34);
    background: linear-gradient(135deg, rgba(255, 107, 131, .12), rgba(255, 209, 102, .07));
}

.service-schedule-banner strong,
.guest-status-note strong {
    display: block;
    color: var(--ivt-text);
    font-weight: 950;
}

.service-schedule-banner p {
    margin: 4px 0 0;
    color: var(--ivt-muted-2);
    line-height: 1.55;
}

.guest-status-note {
    display: grid;
    gap: 4px;
    margin-bottom: 18px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(32, 213, 199, .22);
    background: rgba(32, 213, 199, .08);
}

.guest-status-note.offline {
    border-color: rgba(255, 107, 131, .32);
    background: rgba(255, 107, 131, .09);
}

.guest-status-note span {
    color: var(--ivt-muted-2);
    font-size: 13px;
    line-height: 1.5;
}

html[data-theme="light"] .schedule-settings-card,
html[data-theme="light"] .service-schedule-banner,
html[data-theme="light"] .guest-status-note {
    background: #ffffff;
    border-color: rgba(15, 23, 42, .12);
}

html[data-theme="light"] .service-schedule-banner.offline,
html[data-theme="light"] .guest-status-note.offline {
    border-color: rgba(220, 38, 38, .26);
    background: #fff7f7;
}

html[data-theme="light"] .schedule-settings-head h4,
html[data-theme="light"] .service-schedule-banner strong,
html[data-theme="light"] .guest-status-note strong {
    color: #0f172a;
}

html[data-theme="light"] .schedule-settings-head p,
html[data-theme="light"] .service-schedule-banner p,
html[data-theme="light"] .guest-status-note span {
    color: #475569;
}

@media (max-width: 991.98px) {
    .portal-sidebar,
    .portal-layout-admin .portal-sidebar,
    .portal-layout-customer .portal-sidebar {
        width: 208px !important;
    }
}

/* v1.8.11: vehicle display, note readability and upload responsiveness hotfix */
.inline-setting-row {
    grid-template-columns: 1fr !important;
    align-items: stretch !important;
    gap: 10px !important;
    overflow: hidden;
}
.inline-setting-row > span {
    display: block;
    width: 100%;
    margin: 0;
    line-height: 1.25;
    white-space: normal;
}
.inline-setting-row .toggle-card-grid.two-up {
    width: 100%;
    min-width: 0;
}
.inline-setting-row .toggle-card {
    min-width: 0;
}
.toggle-card span,
.toggle-card strong {
    min-width: 0;
    overflow-wrap: anywhere;
}
.wizard-details-card,
.upload-drop-card,
.wizard-plate-card,
.portal-card {
    min-width: 0;
}
.detail-list dd:empty::after,
.mini-detail-list dd:empty::after {
    content: "";
}
@media (min-width: 1200px) {
    .wizard-upload-grid {
        grid-template-columns: minmax(300px, .9fr) minmax(380px, 1.1fr);
    }
}
@media (max-width: 1199.98px) {
    .wizard-upload-grid {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 575.98px) {
    .toggle-card-grid.two-up,
    .toggle-card-grid.two-up.compact {
        grid-template-columns: 1fr !important;
    }
    .modern-upload-shell .wizard-panel {
        padding: 14px !important;
    }
}

/* v1.8.20 final upload/header polish */
html[data-theme="dark"] body.portal-body {
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0 !important;
}

.portal-layout-customer .topbar {
    display: flex !important;
    min-height: 72px !important;
    padding: 12px 24px !important;
    background: #0b0c14 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    backdrop-filter: none !important;
}

.portal-layout-customer .topbar-title-clean strong {
    color: #fff;
    font-size: 18px !important;
    font-weight: 700 !important;
}

.portal-layout-customer .topbar-actions {
    gap: .625rem;
}

.portal-layout-customer .theme-toggle-btn,
.portal-layout-customer .user-chip-btn,
.portal-layout-customer .add-credit-btn,
.portal-layout-customer .status-pill-button {
    border-radius: .375rem !important;
    border: 1px solid #343b4d !important;
    background: #1b1f2a !important;
    color: #f7f9ff !important;
    box-shadow: none !important;
}

.portal-layout-customer .status-pill-button.online {
    border-color: rgba(33, 200, 190, .42) !important;
    background: rgba(33, 200, 190, .12) !important;
    color: #37e1d3 !important;
}

.portal-layout-customer .status-pill-button.offline {
    border-color: rgba(255, 77, 104, .45) !important;
    background: rgba(255, 77, 104, .12) !important;
    color: #ff8da0 !important;
}

.portal-layout-customer .content-wrap {
    padding-top: 18px !important;
}

.portal-layout-customer .sidebar-head {
    height: 68px !important;
    min-height: 68px !important;
    padding: 10px 12px !important;
    background: #171622 !important;
}

.portal-layout-customer .sidebar-logo {
    width: 100%;
    height: 48px;
    justify-content: center;
}

.portal-layout-customer .sidebar-logo img {
    width: 76px !important;
    height: 40px !important;
    max-height: 40px !important;
    object-fit: contain !important;
    display: block;
}

.portal-layout-customer .enterprise-nav a.nav-entry {
    min-height: 74px !important;
}

.modern-upload-shell {
    width: min(100%, 1080px) !important;
    max-width: 1080px !important;
}

.modern-upload-shell .wizard-header-card,
.modern-upload-shell .wizard-panel,
.modern-upload-shell .wizard-plate-card,
.modern-upload-shell .upload-dropzone,
.modern-upload-shell .toggle-card,
.modern-upload-shell .stage-solution-card,
.modern-upload-shell .extra-option-chip,
.modern-upload-shell .promo-card,
.modern-upload-shell .estimate-card,
.modern-upload-shell .service-hours-card {
    border-radius: .25rem !important;
}

.modern-upload-shell .wizard-panel {
    padding: 1.5rem !important;
    background: #20242f !important;
}

.modern-upload-shell .wizard-header-grid {
    grid-template-columns: 1fr 1fr !important;
}

.modern-upload-shell .wizard-header-step {
    min-height: 76px !important;
    background: #10121a !important;
}

.modern-upload-shell .wizard-header-step.active {
    background: #20242f !important;
}

.modern-upload-shell .wizard-header-step strong,
.stage-section-header strong,
.upload-drop-header span,
.wizard-details-title {
    font-size: .9375rem !important;
    font-weight: 700 !important;
    color: #fff !important;
}

.modern-upload-shell .wizard-header-step small {
    font-size: .75rem !important;
    color: #d9e1f2 !important;
}

.modern-upload-shell .wizard-plate-card {
    padding: 1rem !important;
    background: #131720 !important;
}

.modern-upload-shell .wizard-select-row.five-up {
    gap: .5rem !important;
}

.modern-upload-shell .form-select,
.modern-upload-shell .form-control {
    min-height: 2.625rem !important;
    padding: .55rem .75rem !important;
    background-color: #11141d !important;
    border-color: #3a4256 !important;
    color: #f5f7ff !important;
    font-size: .875rem !important;
    font-weight: 500 !important;
}

.modern-upload-shell .wizard-upload-grid {
    grid-template-columns: minmax(0, 1fr) 452px !important;
    gap: 1.25rem !important;
}

.modern-upload-shell .upload-dropzone {
    min-height: 430px !important;
    border-color: #3a4256 !important;
    background: #12151e !important;
}

.modern-upload-shell .upload-drop-icon {
    width: 54px !important;
    height: 54px !important;
}

.modern-upload-shell .upload-drop-copy strong {
    font-size: .9375rem;
    font-weight: 500;
    color: #aab3c4;
}

.modern-upload-shell .wizard-details-card {
    gap: 1rem !important;
}

.modern-upload-shell .toggle-card {
    min-height: 58px !important;
    padding: .875rem 1rem !important;
    border-color: #343b4d !important;
    background: #1f2430 !important;
}

.modern-upload-shell .toggle-card input {
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 .75rem 0 0 !important;
    opacity: 1 !important;
    accent-color: #3299ff;
}

.modern-upload-shell .toggle-card span {
    display: inline-flex !important;
    align-items: center;
    gap: .5rem;
}

.modern-upload-shell .inline-setting-row {
    grid-template-columns: 88px minmax(0, 1fr) !important;
    align-items: center !important;
}

.modern-upload-shell .consent-check-row input {
    width: 18px;
    height: 18px;
    accent-color: #3299ff;
}

.modern-upload-shell .wizard-stage-layout {
    grid-template-columns: minmax(0, 1fr) 300px !important;
    gap: 1.25rem !important;
}

.modern-upload-shell .stage-section-header {
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    margin: 0 0 .75rem !important;
}

.modern-upload-shell .stage-section-header small {
    display: none !important;
}

.modern-upload-shell .section-icon {
    width: 16px !important;
    height: 16px !important;
    border-radius: .25rem !important;
    background: #3299ff !important;
}

.modern-upload-shell .solution-accordion-button {
    display: none !important;
}

.modern-upload-shell .accordion-collapse {
    display: block !important;
    height: auto !important;
}

.modern-upload-shell .solution-accordion-body {
    padding: 0 !important;
}

.modern-upload-shell .stage-solution-list {
    display: grid !important;
    gap: .5rem !important;
}

.modern-upload-shell .stage-solution-card {
    min-height: 72px !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    align-items: center !important;
    padding: .875rem 1rem !important;
    border: 1px solid #343b4d !important;
    background: #20242f !important;
}

.modern-upload-shell .stage-solution-card input {
    position: absolute !important;
    opacity: 0 !important;
}

.modern-upload-shell .solution-indicator {
    width: 17px !important;
    height: 17px !important;
    border: 2px solid #11141d !important;
    border-radius: 50% !important;
    background: #10131c !important;
}

.modern-upload-shell .stage-solution-card.selected .solution-indicator {
    border-color: #3299ff !important;
    box-shadow: inset 0 0 0 4px #10131c, inset 0 0 0 8px #3299ff !important;
}

.modern-upload-shell .solution-copy strong {
    font-size: .9375rem !important;
    font-weight: 700 !important;
}

.modern-upload-shell .solution-copy small {
    color: #c5cede !important;
    font-size: .75rem !important;
    font-weight: 400 !important;
}

.modern-upload-shell .stage-extras-block {
    margin-top: 1.25rem !important;
}

.modern-upload-shell .extras-option-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .5rem !important;
}

.modern-upload-shell .extra-option-chip {
    min-height: 56px !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    align-items: center !important;
    padding: .75rem 1rem !important;
    border: 1px solid #343b4d !important;
    background: #20242f !important;
}

.modern-upload-shell .extra-option-chip input {
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    opacity: 1 !important;
    accent-color: #3299ff;
}

.modern-upload-shell .extra-option-chip strong {
    font-size: .875rem !important;
    font-weight: 700 !important;
}

.modern-upload-shell .extra-option-chip small {
    color: #c5cede !important;
    font-size: .75rem !important;
}

.modern-upload-shell .extra-option-chip em {
    color: #9fd1ff !important;
    font-size: .75rem !important;
    font-style: normal !important;
    font-weight: 600 !important;
}

.modern-upload-shell .promo-card {
    background: #512781 !important;
}

.modern-upload-shell .service-hours-card {
    background: #661918 !important;
}

@media (max-width: 1199.98px) {
    .modern-upload-shell .wizard-upload-grid,
    .modern-upload-shell .wizard-stage-layout {
        grid-template-columns: 1fr !important;
    }
}

/* v1.8.20 final screenshot match: Solution and Options */
.modern-upload-shell .stage-section-header {
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    margin: 0 0 1.15rem !important;
}

.modern-upload-shell .stage-section-header strong {
    color: #f7f9ff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.modern-upload-shell .stage-section-header small {
    display: none !important;
}

.modern-upload-shell .stage-solution-list,
.modern-upload-shell .solution-accordion-body {
    display: grid !important;
    gap: .55rem !important;
}

.modern-upload-shell .solution-accordion-item {
    border: 0 !important;
    background: transparent !important;
}

.modern-upload-shell .solution-accordion-button {
    display: none !important;
}

.modern-upload-shell .accordion-collapse {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
}

.modern-upload-shell .stage-solution-card {
    position: relative !important;
    min-height: 90px !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .75rem !important;
    padding: 1.15rem 1.25rem !important;
    border: 1px solid #30384b !important;
    border-radius: .35rem !important;
    background: #1d212c !important;
    box-shadow: none !important;
}

.modern-upload-shell .stage-solution-card:hover,
.modern-upload-shell .stage-solution-card.selected {
    border-color: #3b465d !important;
    background: #202634 !important;
}

.modern-upload-shell .stage-solution-card > input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.modern-upload-shell .stage-solution-card .solution-indicator {
    width: 24px !important;
    height: 24px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #111620 !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.24) !important;
}

.modern-upload-shell .stage-solution-card.selected .solution-indicator {
    background: #3299ff !important;
    box-shadow: inset 0 0 0 5px #111620, 0 0 0 1px #3299ff !important;
}

.modern-upload-shell .solution-copy {
    min-width: 0 !important;
}

.modern-upload-shell .solution-copy strong {
    display: flex !important;
    align-items: center !important;
    gap: .7rem !important;
    margin: 0 0 .45rem !important;
    color: #f7f9ff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

.modern-upload-shell .solution-copy small {
    display: block !important;
    max-width: 920px !important;
    color: #d7def2 !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: .86rem !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
}

.modern-upload-shell .solution-stage-badge {
    position: relative !important;
    flex: 0 0 auto !important;
    width: 38px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: .35rem !important;
    background: #3a4255 !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.modern-upload-shell .solution-stage-badge b {
    font: inherit !important;
}

.modern-upload-shell .solution-stage-badge i {
    position: absolute !important;
    top: -10px !important;
    right: -9px !important;
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #3299ff !important;
    color: #ffffff !important;
    font-size: .78rem !important;
    font-style: normal !important;
    font-weight: 800 !important;
}

.modern-upload-shell .stage-solution-card em {
    display: none !important;
}

.modern-upload-shell .screenshot-options-block {
    margin-top: 2.1rem !important;
}

.modern-upload-shell .screenshot-options-block .section-icon-accent {
    background: #21b6b9 !important;
}

.modern-upload-shell .screenshot-options-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .72rem 3rem !important;
    padding: 1.75rem 2rem !important;
    border: 1px solid #30384b !important;
    border-radius: .35rem !important;
    background: #151820 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip {
    min-height: 24px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .75rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip input[type="checkbox"] {
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    opacity: 1 !important;
    appearance: auto !important;
    accent-color: #3299ff !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip span {
    min-width: 0 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip strong {
    color: #f7f9ff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: .92rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip small {
    display: none !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip em {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 20px !important;
    padding: .12rem .45rem !important;
    border-radius: .25rem !important;
    background: #22c6c8 !important;
    color: #ffffff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: .72rem !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

@media (max-width: 767.98px) {
    .modern-upload-shell .screenshot-options-grid {
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        padding: 1.25rem !important;
    }
}

/* v1.8.20 final upload form radius and spacing polish */
.modern-upload-shell .form-control,
.modern-upload-shell .form-select,
.modern-upload-shell input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.modern-upload-shell select,
.modern-upload-shell textarea {
    min-height: 44px !important;
    padding: .72rem .95rem !important;
    border: 1px solid #344057 !important;
    border-radius: .65rem !important;
    background-color: #121620 !important;
    color: #f6f8ff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: .9rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}

.modern-upload-shell textarea.form-control {
    min-height: 118px !important;
    line-height: 1.45 !important;
    resize: vertical !important;
}

.modern-upload-shell .form-control::placeholder,
.modern-upload-shell textarea::placeholder,
.modern-upload-shell input::placeholder {
    color: #8f99ad !important;
    opacity: 1 !important;
}

.modern-upload-shell .form-control:focus,
.modern-upload-shell .form-select:focus,
.modern-upload-shell input:not([type="radio"]):not([type="checkbox"]):focus,
.modern-upload-shell select:focus,
.modern-upload-shell textarea:focus {
    border-color: #3299ff !important;
    background-color: #151b27 !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 .18rem rgba(50, 153, 255, .18) !important;
    outline: 0 !important;
}

.modern-upload-shell input[type="file"].form-control {
    padding: .52rem .75rem !important;
}

.modern-upload-shell input[type="file"].form-control::file-selector-button {
    margin: -.52rem .85rem -.52rem -.75rem !important;
    padding: .72rem .95rem !important;
    border: 0 !important;
    border-right: 1px solid #344057 !important;
    border-radius: .65rem 0 0 .65rem !important;
    background: #1d2636 !important;
    color: #f6f8ff !important;
    font-weight: 700 !important;
}

.modern-upload-shell .wizard-select-row.five-up {
    gap: .65rem !important;
}

.modern-upload-shell .wizard-select-row .form-select {
    min-height: 42px !important;
    padding: .65rem 2.35rem .65rem .95rem !important;
    border-radius: .55rem !important;
}

.modern-upload-shell .manual-vehicle-grid,
.modern-upload-shell .detail-field-stack,
.modern-upload-shell .comments-card {
    gap: .85rem !important;
}

.modern-upload-shell .wizard-choice,
.modern-upload-shell .tool-choice,
.modern-upload-shell .transmission-choice {
    min-height: 58px !important;
    padding: 1rem 1.1rem !important;
    border-radius: .65rem !important;
}

.modern-upload-shell .stage-section-header {
    margin-bottom: 1rem !important;
}

.modern-upload-shell .stage-solution-list,
.modern-upload-shell .solution-accordion-body {
    gap: .55rem !important;
}

.modern-upload-shell .stage-solution-card {
    min-height: 92px !important;
    align-items: start !important;
    gap: .8rem !important;
    padding: 1.28rem 1.35rem !important;
    border-radius: .55rem !important;
}

.modern-upload-shell .stage-solution-card .solution-indicator {
    margin-top: .05rem !important;
}

.modern-upload-shell .solution-copy strong {
    margin-bottom: .55rem !important;
}

.modern-upload-shell .solution-copy small {
    max-width: 980px !important;
    line-height: 1.42 !important;
}

.modern-upload-shell .screenshot-options-block {
    margin-top: 2rem !important;
}

.modern-upload-shell .screenshot-options-grid {
    gap: .9rem 3.4rem !important;
    padding: 1.95rem 2.1rem 1.85rem !important;
    border-radius: .55rem !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip {
    min-height: 26px !important;
    gap: .82rem !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip input[type="checkbox"] {
    width: 19px !important;
    height: 19px !important;
    border-radius: .32rem !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip strong {
    font-size: .94rem !important;
    font-weight: 500 !important;
}

@media (max-width: 767.98px) {
    .modern-upload-shell .stage-solution-card {
        min-height: auto !important;
        padding: 1.1rem !important;
    }

    .modern-upload-shell .screenshot-options-grid {
        gap: .85rem !important;
        padding: 1.35rem !important;
    }
}

/* v1.8.20 screenshot-accurate solution/options panels */
.modern-upload-shell .wizard-stage-layout {
    grid-template-columns: minmax(0, 1fr) 300px !important;
}

.modern-upload-shell .stage-section-header {
    margin: 0 0 1rem !important;
    gap: .5rem !important;
}

.modern-upload-shell .stage-section-header strong {
    font-size: 1rem !important;
    font-weight: 700 !important;
}

.modern-upload-shell .stage-solution-list,
.modern-upload-shell .stage-solution-list.grouped {
    display: grid !important;
    gap: .5rem !important;
}

.modern-upload-shell .stage-solution-card {
    min-height: 90px !important;
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    gap: .75rem !important;
    align-items: center !important;
    padding: 1.05rem 1.15rem !important;
    border: 1px solid #343b4d !important;
    border-radius: .375rem !important;
    background: #20242f !important;
}

.modern-upload-shell .stage-solution-card:hover {
    border-color: #48526b !important;
    background: #222735 !important;
}

.modern-upload-shell .stage-solution-card.selected {
    border-color: rgba(50, 153, 255, .5) !important;
    background: #20242f !important;
}

.modern-upload-shell .solution-indicator {
    width: 24px !important;
    height: 24px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #11151f !important;
    box-shadow: inset 0 0 0 2px #11151f !important;
}

.modern-upload-shell .stage-solution-card.selected .solution-indicator {
    background: #11151f !important;
    box-shadow: inset 0 0 0 6px #11151f, inset 0 0 0 10px #3299ff !important;
}

.modern-upload-shell .solution-copy {
    display: grid !important;
    gap: .55rem !important;
}

.modern-upload-shell .solution-copy strong {
    display: flex !important;
    align-items: center !important;
    gap: .65rem !important;
    color: #f6f8ff !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
}

.modern-upload-shell .solution-copy small {
    color: #d5dcff !important;
    font-size: .86rem !important;
    font-weight: 400 !important;
    line-height: 1.35 !important;
}

.modern-upload-shell .solution-stage-badge {
    position: relative;
    width: 38px;
    height: 34px;
    display: inline-grid;
    place-items: center;
    flex: 0 0 38px;
    border-radius: .35rem;
    background: #3b4354;
    color: #fff;
    font-size: 1rem;
    line-height: 1;
}

.modern-upload-shell .solution-stage-badge b {
    font: inherit;
    font-weight: 800;
}

.modern-upload-shell .solution-stage-badge i {
    position: absolute;
    top: -9px;
    right: -9px;
    width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #3299ff;
    color: #fff;
    font-style: normal;
    font-size: .78rem;
    font-weight: 800;
}

.modern-upload-shell .screenshot-options-block {
    margin-top: 1.8rem !important;
}

.modern-upload-shell .screenshot-options-block .section-icon {
    background: #1ca7a3 !important;
    border-radius: 50% !important;
}

.modern-upload-shell .screenshot-options-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .75rem 3rem !important;
    padding: 1.75rem 2rem !important;
    border: 1px solid #343b4d !important;
    border-radius: .375rem !important;
    background: #141720 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip {
    min-height: 24px !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    gap: .6rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip input {
    width: 18px !important;
    height: 18px !important;
    border-radius: .25rem !important;
    accent-color: #3299ff !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip span {
    min-width: 0;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip strong {
    color: #fff !important;
    font-size: .92rem !important;
    font-weight: 600 !important;
    line-height: 1.25 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip small {
    display: none !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip em {
    padding: .12rem .4rem;
    border-radius: .25rem;
    background: #25c8c4;
    color: #fff !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
}

@media (max-width: 767.98px) {
    .modern-upload-shell .screenshot-options-grid {
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        padding: 1.25rem !important;
    }
}

/* v1.8.12: compact header, faster vehicle lookup UI, schedule page and credit top-up */
@media (min-width: 992px) {
    .portal-sidebar,
    .portal-layout-admin .portal-sidebar,
    .portal-layout-customer .portal-sidebar {
        width: 160px !important;
        padding: 11px 5px !important;
    }

    .portal-main,
    .portal-layout-admin .portal-main,
    .portal-layout-customer .portal-main {
        width: calc(100% - 160px) !important;
        margin-left: 160px !important;
    }
}
.sidebar-logo img { width: 98px !important; max-height: 42px !important; }
.sidebar-context,
.portal-layout-admin .sidebar-context,
.portal-layout-customer .sidebar-context,
.sidebar-footer-card,
.portal-layout-admin .sidebar-footer-card,
.portal-layout-customer .sidebar-footer-card { max-width: 124px !important; }
.enterprise-nav .nav-section,
.nav-section,
.portal-layout-admin .nav-section,
.portal-layout-customer .nav-section { width: 120px !important; }
.enterprise-nav a.nav-entry,
.sidebar-nav a.nav-entry,
.sidebar-nav a,
.portal-layout-admin .nav-entry,
.portal-layout-customer .nav-entry {
    width: 108px !important;
    min-height: 66px !important;
    padding: 7px 5px !important;
}
.nav-label { font-size: 13.5px !important; line-height: 1.05 !important; }
.nav-entry small { font-size: 8.4px !important; }
.topbar-title-clean strong { font-size: 22px; }
.topbar-left small,
.breadcrumb-kicker { display: none !important; }
.status-pill { gap: 7px; }
.status-pill small {
    display: inline-block;
    padding-left: 7px;
    border-left: 1px solid rgba(255,255,255,.16);
    color: inherit;
    font-size: 11px;
    font-weight: 800;
    opacity: .92;
    letter-spacing: 0;
    text-transform: none;
}
.topbar-credit-form { margin: 0; }
.add-credit-btn {
    min-height: 36px;
    padding: 8px 13px;
    border-radius: 999px;
    white-space: nowrap;
    font-size: 12px;
}
.wizard-select-row.six-up {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 14px;
}
.wizard-plate-card { padding-top: 18px !important; }
.schedule-page-shell { display: grid; gap: 24px; }
.schedule-preview-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 24px;
}
.schedule-preview-card {
    border: 1px solid var(--ivt-line);
    border-radius: 6px;
    overflow: hidden;
    background: rgba(17, 24, 39, .82);
    box-shadow: var(--ivt-shadow-soft);
}
.schedule-card-title {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 54px;
    padding: 16px 28px;
    border-bottom: 1px solid var(--ivt-line);
    color: #f8fafc;
    background: rgba(255,255,255,.035);
    font-weight: 950;
}
.schedule-card-title span { color: #4ca3ff; }
.schedule-card-title.purple span { color: #8b5cf6; }
.schedule-card-title.accent span { color: var(--ivt-accent); }
.schedule-list { display: grid; gap: 0; padding: 22px 30px; }
.schedule-list-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 44px;
    padding: 10px 0;
    border-bottom: 1px solid var(--ivt-line);
}
.schedule-list-row:last-child { border-bottom: 0; }
.schedule-list-row strong { color: var(--ivt-text); font-size: 14px; }
.schedule-list-row small { display: block; margin-top: 5px; color: var(--ivt-muted); }
.schedule-time-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 100px;
    min-height: 24px;
    padding: 4px 10px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 850;
    white-space: nowrap;
}
.schedule-time-pill.open { color: var(--ivt-accent); background: rgba(32, 213, 199, .36); }
.schedule-time-pill.closed { color: #ff6b83; background: rgba(150, 23, 23, .72); }
.note-chip {
    display: inline-flex !important;
    width: fit-content;
    padding: 3px 8px;
    border-radius: 6px;
    color: #d8b4fe !important;
    background: rgba(126, 58, 242, .55);
    font-size: 11px !important;
    font-weight: 800;
}
.schedule-editor-card { margin-top: 0; }
.weekly-schedule-editor,
.schedule-overrides-editor { display: grid; gap: 12px; }
.weekly-row {
    display: grid;
    grid-template-columns: minmax(130px, 1fr) 110px 130px 130px;
    gap: 12px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--ivt-line);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
}
.override-row {
    display: grid;
    grid-template-columns: 150px 160px 120px 120px minmax(180px, 1fr) 95px 80px;
    gap: 12px;
    align-items: end;
    padding: 12px;
    border: 1px solid var(--ivt-line);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
}
.tiny-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 44px;
    padding: 8px 10px;
    border: 1px solid var(--ivt-line);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
    color: var(--ivt-muted-2);
    font-weight: 850;
}
.tiny-check input { width: 16px; height: 16px; accent-color: var(--ivt-accent); }
.tiny-check.danger { color: #ffc0ca; }
.credit-gateway-card { margin: 18px 0; }
html[data-theme="light"] .schedule-preview-card,
html[data-theme="light"] .weekly-row,
html[data-theme="light"] .override-row,
html[data-theme="light"] .tiny-check { background: #ffffff; border-color: rgba(15,23,42,.12); }
html[data-theme="light"] .schedule-card-title { color: #0f172a; background: #f7f9fd; border-color: rgba(15,23,42,.12); }
html[data-theme="light"] .schedule-time-pill.open { color: #065f46; background: rgba(16, 185, 129, .18); }
html[data-theme="light"] .schedule-time-pill.closed { color: #b91c1c; background: rgba(254, 226, 226, .95); }
@media (max-width: 1199.98px) {
    .schedule-preview-grid { grid-template-columns: 1fr; }
    .override-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .weekly-row { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767.98px) {
    .topbar-shell { align-items: flex-start; flex-direction: column; }
    .topbar-actions { width: 100%; justify-content: space-between; flex-wrap: wrap; }
    .status-pill small { display: block; padding-left: 0; border-left: 0; }
    .wizard-select-row.six-up,
    .override-row,
    .weekly-row { grid-template-columns: 1fr; }
    .schedule-list { padding: 16px; }
    .schedule-list-row { align-items: flex-start; flex-direction: column; }
}

/* v1.8.13: schedule header modal, payment dev settings, upload summary and customer replies */
.topbar-title-wrap {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
    flex-wrap: wrap;
}
.topbar-title-wrap .topbar-title-clean { min-width: 0; }
.status-pill-button {
    appearance: none;
    border: 1px solid var(--ivt-line);
    cursor: pointer;
    display: inline-flex !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.status-pill-button:hover {
    transform: translateY(-1px);
    border-color: rgba(32, 213, 199, .48);
}
.status-pill-button.offline:hover { border-color: rgba(255, 107, 131, .48); }
.service-schedule-modal .modal-content {
    border: 1px solid var(--ivt-line);
    border-radius: 22px;
    background: #1d212b;
    color: var(--ivt-text);
    box-shadow: 0 30px 90px rgba(0,0,0,.5);
    overflow: hidden;
}
.service-schedule-modal .modal-header {
    min-height: 62px;
    padding: 16px 20px;
    border-bottom: 1px solid var(--ivt-line);
    background: rgba(255,255,255,.025);
}
.service-schedule-modal .modal-body { padding: 24px; }
.schedule-modal-title {
    display: flex;
    align-items: center;
    gap: 12px;
}
.schedule-modal-title h2 {
    margin: 0;
    color: var(--ivt-text);
    font-size: 18px;
    font-weight: 950;
}
.schedule-modal-title small {
    display: block;
    margin-top: 2px;
    color: var(--ivt-muted);
    font-weight: 750;
}
.schedule-modal-grid { gap: 24px; }
.upload-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 14px;
}
.upload-summary-tile {
    min-height: 96px;
    padding: 16px;
    border: 1px solid var(--ivt-line);
    border-radius: 18px;
    background: rgba(255,255,255,.035);
    overflow: hidden;
}
.upload-summary-tile.primary {
    background: linear-gradient(135deg, rgba(32,213,199,.14), rgba(76,163,255,.08));
    border-color: rgba(32,213,199,.30);
}
.upload-summary-tile.status {
    background: rgba(76,163,255,.08);
    border-color: rgba(76,163,255,.25);
}
.upload-summary-tile.wide { grid-column: span 2; }
.upload-summary-tile.full { grid-column: 1 / -1; }
.upload-summary-tile span {
    display: block;
    margin-bottom: 8px;
    color: var(--ivt-muted);
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.upload-summary-tile strong {
    display: block;
    color: var(--ivt-text);
    font-size: 16px;
    line-height: 1.35;
    overflow-wrap: anywhere;
    white-space: pre-wrap;
}
.upload-summary-tile small {
    display: block;
    margin-top: 7px;
    color: var(--ivt-muted-2);
    font-weight: 750;
    line-height: 1.35;
}
.conversation-panel { display: grid; gap: 18px; }
.conversation-reply-form {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--ivt-line);
    border-radius: 18px;
    background: rgba(255,255,255,.035);
}
.conversation-reply-form label {
    color: var(--ivt-muted-2);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.conversation-thread { display: grid; gap: 12px; }
.note-card.customer-reply {
    border-color: rgba(76, 163, 255, .32);
    background: rgba(76, 163, 255, .075);
}
.note-card.admin-reply {
    border-color: rgba(32, 213, 199, .34);
    background: rgba(32, 213, 199, .07);
}
.gateway-settings-card code {
    color: var(--ivt-accent);
    background: rgba(32,213,199,.09);
    border: 1px solid rgba(32,213,199,.18);
    border-radius: 6px;
    padding: 1px 5px;
}
html[data-theme="light"] .service-schedule-modal .modal-content {
    background: #ffffff;
    color: #0f172a;
    border-color: rgba(15,23,42,.14);
}
html[data-theme="light"] .service-schedule-modal .modal-header {
    background: #f7f9fd;
    border-color: rgba(15,23,42,.12);
}
html[data-theme="light"] .schedule-modal-title h2,
html[data-theme="light"] .upload-summary-tile strong { color: #0f172a; }
html[data-theme="light"] .upload-summary-tile,
html[data-theme="light"] .conversation-reply-form {
    background: #ffffff;
    border-color: rgba(15,23,42,.12);
}
html[data-theme="light"] .upload-summary-tile.primary {
    background: linear-gradient(135deg, rgba(20,184,166,.13), rgba(37,99,235,.06));
    border-color: rgba(20,184,166,.26);
}
html[data-theme="light"] .upload-summary-tile.status {
    background: rgba(37,99,235,.06);
    border-color: rgba(37,99,235,.16);
}
html[data-theme="light"] .note-card.customer-reply {
    border-color: rgba(37, 99, 235, .18);
    background: rgba(37, 99, 235, .055);
}
html[data-theme="light"] .note-card.admin-reply {
    border-color: rgba(20,184,166,.22);
    background: rgba(20,184,166,.065);
}
@media (max-width: 991.98px) {
    .topbar-title-wrap { width: 100%; }
    .schedule-modal-grid { grid-template-columns: 1fr; }
    .upload-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .upload-summary-tile.wide { grid-column: span 2; }
}
@media (max-width: 767.98px) {
    .topbar-title-wrap { align-items: flex-start; flex-direction: column; gap: 8px; }
    .service-schedule-modal .modal-body { padding: 14px; }
    .upload-summary-grid { grid-template-columns: 1fr; }
    .upload-summary-tile.wide,
    .upload-summary-tile.full { grid-column: auto; }
    .status-pill-button small { display: block; padding-left: 0; border-left: 0; }
}

/* v1.8.14: clean hello sidebar, borderless menu, Until header and screenshot-style support summary */
.sidebar-context.hello-context,
.portal-layout-admin .sidebar-context.hello-context,
.portal-layout-customer .sidebar-context.hello-context {
    padding: 0 4px 12px !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    text-align: center;
}
.sidebar-context.hello-context span {
    display: block;
    margin-bottom: 2px;
    color: var(--ivt-muted);
    font-size: 11px !important;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.sidebar-context.hello-context strong {
    color: var(--ivt-text);
    font-size: 15px !important;
    line-height: 1.1;
}
.enterprise-nav a.nav-entry,
.sidebar-nav a.nav-entry,
.sidebar-nav a,
.portal-layout-admin .nav-entry,
.portal-layout-customer .nav-entry {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 10px !important;
    min-height: 58px !important;
}
.enterprise-nav a.nav-entry:hover,
.enterprise-nav a.nav-entry.active,
.sidebar-nav a.nav-entry:hover,
.sidebar-nav a.nav-entry.active,
.sidebar-nav a:hover,
.sidebar-nav a.active {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: var(--ivt-accent) !important;
}
.nav-icon {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    width: 24px !important;
    height: 24px !important;
}
.nav-label { font-size: 14.5px !important; }
.nav-entry small { font-size: 9.2px !important; }
.status-pill-button {
    min-height: 32px;
    padding: 6px 11px !important;
    gap: 8px !important;
    font-size: 12px;
}
.status-pill-button > span:first-child { font-weight: 950; }
.status-pill-button small {
    text-transform: none;
    white-space: nowrap;
}

.support-job-shell {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(380px, .95fr);
    gap: 24px;
    align-items: start;
}
.support-workspace-card,
.support-summary-card {
    border: 1px solid var(--ivt-line);
    border-radius: 4px;
    background: #1e222d;
    color: var(--ivt-text);
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.24);
}
.support-tabs {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 68px;
    padding: 14px 28px;
    border-bottom: 1px solid rgba(255,255,255,.075);
    overflow-x: auto;
}
.support-tab {
    border: 0;
    border-radius: 5px;
    padding: 11px 14px;
    background: transparent;
    color: #aab6ca;
    font-size: 13px;
    font-weight: 850;
    white-space: nowrap;
}
.support-tab span { color: #6ea7ff; margin-right: 5px; }
.support-tab.active {
    background: rgba(45, 149, 255, .16);
    color: #32a0ff;
}
.support-request-form {
    display: grid;
    gap: 22px;
    padding: 26px 28px;
}
.support-request-textarea {
    min-height: 128px;
    border-radius: 5px !important;
    border: 1px solid #354056 !important;
    background: #12151e !important;
    color: #f7fbff !important;
    padding: 18px !important;
    resize: vertical;
}
.support-request-textarea::placeholder { color: #a8b0bd; }
.support-dropzone {
    min-height: 100px;
    display: grid;
    place-items: center;
    gap: 4px;
    border: 2px solid #3c4963;
    border-radius: 6px;
    background: #12151e;
    color: #8f98a8;
    cursor: pointer;
    transition: border-color .16s ease, color .16s ease, background .16s ease;
}
.support-dropzone:hover {
    border-color: #3299f6;
    color: #dce8ff;
    background: #151a25;
}
.support-dropzone-icon {
    display: block;
    color: #d8d8dd;
    font-size: 42px;
    line-height: 1;
}
.support-dropzone strong {
    color: #8f98a8;
    font-size: 13px;
    font-weight: 700;
}
.support-send-row {
    display: flex;
    justify-content: flex-end;
}
.support-send-btn {
    min-width: 118px;
    min-height: 48px;
    border-radius: 5px !important;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .03em;
}
.support-summary-card { position: sticky; top: 20px; }
.support-summary-hero {
    padding: 22px 28px 18px;
    border-bottom: 1px solid rgba(255,255,255,.075);
}
.support-vehicle-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 14px;
}
.support-brand-mark {
    color: #f4f8ff;
    font-size: 35px;
    line-height: 1;
}
.support-vehicle-heading h2 {
    margin: 0;
    color: #f3f6fb;
    font-size: 17px;
    font-weight: 950;
    line-height: 1.25;
}
.support-vehicle-heading p {
    margin: 4px 0 0;
    color: #aeb7c8;
    font-size: 13px;
    font-weight: 850;
}
.support-back-btn {
    min-height: 38px;
    border-radius: 5px !important;
    padding: 9px 18px !important;
    font-weight: 900;
}
.support-summary-body { padding: 26px 28px; }
.support-status-row {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-bottom: 18px;
}
.support-status-row > strong {
    color: #d5dbe7;
    font-size: 13px;
}
.support-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, .75fr) minmax(0, 1fr);
    gap: 28px;
    margin-bottom: 14px;
}
.support-detail-main strong,
.support-detail-main span,
.support-detail-main em {
    display: block;
    color: #dfe5ef;
    font-style: normal;
    line-height: 1.35;
}
.support-detail-main strong { font-weight: 900; }
.support-detail-main em {
    display: inline-flex;
    margin-top: 5px;
    padding: 6px 10px;
    border-radius: 5px;
    color: #38a6ff;
    background: rgba(45, 149, 255, .17);
    font-weight: 950;
    text-transform: none;
}
.support-detail-list { display: grid; gap: 4px; }
.support-detail-list p {
    margin: 0;
    color: #cfd6e1;
    font-size: 13px;
    line-height: 1.45;
}
.support-detail-list span { color: #c2cad8; }
.support-detail-list strong { color: #e8edf6; font-weight: 950; }
.support-detail-list mark {
    padding: 2px 8px;
    border-radius: 5px;
    background: #d99300;
    color: #111827;
    font-weight: 950;
}
.support-blue-pill {
    display: inline-flex;
    padding: 7px 10px;
    border-radius: 5px;
    color: #38a6ff !important;
    background: rgba(45, 149, 255, .17);
}
.support-accordion {
    margin-top: 14px;
    border: 1px solid #334057;
    border-radius: 5px;
    overflow: hidden;
}
.support-accordion details { background: #151923; }
.support-accordion summary {
    display: flex;
    align-items: center;
    gap: 11px;
    min-height: 50px;
    padding: 14px 18px;
    color: #f0f3f9;
    cursor: pointer;
    font-weight: 950;
    list-style: none;
}
.support-accordion summary::-webkit-details-marker { display: none; }
.support-accordion summary::after {
    content: '⌄';
    margin-left: auto;
    color: #2d95ff;
    font-weight: 900;
}
.support-accordion details[open] summary::after { transform: rotate(180deg); }
.support-technical-copy {
    padding: 18px;
    border-top: 1px solid #2b3549;
    color: #d3dae6;
    line-height: 1.52;
    font-size: 13px;
}
.support-technical-copy p { margin: 0 0 14px; }
.support-technical-copy p:last-child { margin-bottom: 0; }
.support-timeline-panel {
    position: relative;
    grid-column: 1 / 2;
    min-height: 140px;
    padding: 8px 0 0 72px;
}
.support-timeline-line {
    position: absolute;
    left: 25px;
    top: 0;
    bottom: 0;
    width: 2px;
    background: #273044;
}
.support-timeline-item {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 18px;
    margin: 22px 0;
}
.support-avatar {
    position: absolute;
    left: -72px;
    top: 0;
    width: 50px;
    height: 50px;
    border: 2px solid #2b3751;
    border-radius: 999px;
    display: grid;
    place-items: center;
    background: #070a12;
    color: #249bff;
    font-weight: 950;
    box-shadow: 0 0 0 3px #0d101a;
}
.support-avatar img { max-width: 34px; max-height: 24px; }
.support-avatar.upload-avatar {
    border-color: #344052;
    color: #2d95ff;
    font-size: 27px;
}
.support-bubble {
    min-width: 168px;
    max-width: min(560px, 100%);
    padding: 18px 20px;
    border-radius: 8px;
    background: #202432;
    color: #f3f6fb;
    position: relative;
}
.support-bubble::before {
    content: '';
    position: absolute;
    left: -10px;
    top: 20px;
    border-top: 9px solid transparent;
    border-bottom: 9px solid transparent;
    border-right: 10px solid #202432;
}
.support-timeline-item.admin-file .support-bubble { background: #47516b; }
.support-timeline-item.admin-file .support-bubble::before { border-right-color: #47516b; }
.support-bubble header {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 10px;
}
.support-bubble header strong { font-size: 13px; font-weight: 950; }
.support-bubble header span { color: #adb7c9; font-size: 12px; font-weight: 800; }
.support-bubble p { margin: 0 0 12px; color: #f5f7fb; font-size: 13px; line-height: 1.55; }
.support-download-btn,
.support-outline-btn,
.support-muted-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 33px;
    padding: 8px 12px;
    border-radius: 5px;
    text-decoration: none;
    font-size: 12px;
    font-weight: 850;
}
.support-download-btn { color: #fff; background: #16c8bf; }
.support-outline-btn { color: #329fff; border: 1px solid #329fff; background: transparent; }
.support-muted-btn { color: #aeb7c8; background: rgba(255,255,255,.08); }
.support-empty-timeline {
    color: var(--ivt-muted);
    padding: 24px 0;
}
html[data-theme="light"] .support-workspace-card,
html[data-theme="light"] .support-summary-card {
    background: #ffffff;
    border-color: rgba(15,23,42,.12);
    color: #0f172a;
}
html[data-theme="light"] .support-tabs,
html[data-theme="light"] .support-summary-hero { border-color: rgba(15,23,42,.12); }
html[data-theme="light"] .support-request-textarea,
html[data-theme="light"] .support-dropzone,
html[data-theme="light"] .support-accordion details {
    background: #f8fafc !important;
    border-color: rgba(15,23,42,.18) !important;
    color: #0f172a !important;
}
html[data-theme="light"] .support-vehicle-heading h2,
html[data-theme="light"] .support-detail-main strong,
html[data-theme="light"] .support-detail-main span,
html[data-theme="light"] .support-detail-list strong,
html[data-theme="light"] .support-accordion summary { color: #0f172a; }
html[data-theme="light"] .support-vehicle-heading p,
html[data-theme="light"] .support-detail-list p,
html[data-theme="light"] .support-detail-list span,
html[data-theme="light"] .support-technical-copy { color: #475569; }
html[data-theme="light"] .support-accordion { border-color: rgba(15,23,42,.14); }
html[data-theme="light"] .support-technical-copy { border-color: rgba(15,23,42,.12); }
html[data-theme="light"] .support-bubble { background: #eef2f7; color: #0f172a; }
html[data-theme="light"] .support-bubble::before { border-right-color: #eef2f7; }
html[data-theme="light"] .support-bubble p { color: #0f172a; }
html[data-theme="light"] .support-timeline-line { background: #d7deea; }
html[data-theme="light"] .support-avatar { background: #ffffff; box-shadow: 0 0 0 3px #f8fafc; }
@media (max-width: 1199.98px) {
    .support-job-shell { grid-template-columns: 1fr; }
    .support-summary-card { position: static; }
    .support-timeline-panel { grid-column: auto; }
}
@media (max-width: 767.98px) {
    .support-tabs { padding: 12px; }
    .support-request-form,
    .support-summary-hero,
    .support-summary-body { padding: 18px; }
    .support-detail-grid { grid-template-columns: 1fr; gap: 14px; }
    .support-timeline-panel { padding-left: 54px; }
    .support-timeline-line { left: 20px; }
    .support-avatar { left: -54px; width: 42px; height: 42px; }
    .support-bubble { max-width: 100%; }
    .status-pill-button small { white-space: normal; }
}

/* v1.8.15: secure-download UI polish, centered menu sections, header GMT clock and cleaner support summary */
.sidebar-footer-card,
.portal-layout-admin .sidebar-footer-card,
.portal-layout-customer .sidebar-footer-card {
    display: none !important;
}
.sidebar-nav,
.enterprise-nav {
    align-items: center !important;
}
.nav-section {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 11.8px !important;
    line-height: 1.2 !important;
    font-weight: 950 !important;
    letter-spacing: .13em !important;
    margin: 17px auto 8px !important;
    color: #91a2c2 !important;
}
.nav-entry-main {
    width: 100%;
    justify-content: center !important;
    text-align: center;
}
.nav-entry .nav-label {
    font-size: 15.2px !important;
    line-height: 1.05 !important;
}
.nav-entry small {
    font-size: 9.8px !important;
    letter-spacing: .08em !important;
}
.topbar-title-wrap {
    gap: 14px !important;
}
.status-pill-button {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 36px !important;
    padding: 7px 12px !important;
}
.status-pill-button small {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    padding-left: 8px !important;
    border-left: 1px solid rgba(255,255,255,.16) !important;
    font-weight: 850 !important;
    letter-spacing: .01em !important;
}
.status-gmt-clock {
    color: #dce7f8;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}
.status-pill-button.online .status-gmt-clock { color: #bdfff7; }
.status-pill-button.offline .status-gmt-clock { color: #ffd5dd; }
.support-summary-card {
    border-radius: 7px;
}
.support-summary-hero {
    padding: 24px 28px 20px !important;
}
.support-summary-body.clean-summary-body {
    padding: 28px !important;
}
.support-vehicle-heading h2 {
    font-size: 18px !important;
    letter-spacing: -.02em;
}
.support-vehicle-heading p {
    color: #c2cad9 !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-transform: uppercase;
    letter-spacing: .02em;
}
.support-vehicle-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0 14px;
}
.support-vehicle-columns > div {
    min-height: 74px;
    padding: 14px 15px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: rgba(10, 14, 24, .35);
}
.support-vehicle-columns span {
    display: block;
    margin-bottom: 6px;
    color: #95a3bb;
    font-size: 10px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .12em;
}
.support-vehicle-columns strong {
    display: block;
    color: #f3f7ff;
    font-size: 14px;
    font-weight: 950;
    line-height: 1.25;
    overflow-wrap: anywhere;
}
.support-service-pill {
    display: inline-flex;
    max-width: 100%;
    margin: 0 0 18px;
    padding: 8px 11px;
    border-radius: 7px;
    color: #38a6ff;
    background: rgba(45, 149, 255, .16);
    font-size: 13px;
    font-weight: 950;
    line-height: 1.25;
}
.clean-detail-list {
    gap: 9px !important;
    padding-top: 2px;
}
.clean-detail-list p {
    display: grid;
    grid-template-columns: 104px minmax(0, 1fr);
    align-items: start;
    gap: 10px;
    min-height: 26px;
    font-size: 13px !important;
}
.clean-detail-list span {
    color: #aab5c7 !important;
    font-weight: 850;
}
.clean-detail-list strong {
    overflow-wrap: anywhere;
}
.support-message-text {
    display: block;
    margin: 0 0 12px;
    padding: 10px 12px;
    border-radius: 8px;
    background: rgba(255,255,255,.06);
    color: #f6f8fc;
    font-size: 13px;
    line-height: 1.55;
    white-space: normal;
    overflow-wrap: anywhere;
}
.support-bubble .support-message-text:last-child {
    margin-bottom: 0;
}
html[data-theme="light"] .nav-section {
    color: #64748b !important;
}
html[data-theme="light"] .status-gmt-clock {
    color: #334155;
}
html[data-theme="light"] .support-vehicle-heading p {
    color: #475569 !important;
}
html[data-theme="light"] .support-vehicle-columns > div {
    background: #f8fafc;
    border-color: rgba(15,23,42,.12);
}
html[data-theme="light"] .support-vehicle-columns span {
    color: #64748b;
}
html[data-theme="light"] .support-vehicle-columns strong {
    color: #0f172a;
}
html[data-theme="light"] .support-message-text {
    background: rgba(15,23,42,.06);
    color: #0f172a;
}
@media (max-width: 991.98px) {
    .nav-section { text-align: left !important; }
    .status-pill-button small {
        border-left: 0 !important;
        padding-left: 0 !important;
        flex-wrap: wrap;
    }
}
@media (max-width: 767.98px) {
    .support-vehicle-columns { grid-template-columns: 1fr; }
    .clean-detail-list p { grid-template-columns: 1fr; gap: 2px; }
}

/* v1.8.16: readability, cleaner menus, upload spacing and interactive support tabs */
body.portal-body {
    font-family: "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
    letter-spacing: 0 !important;
    line-height: 1.58;
}
.portal-card,
.support-workspace-card,
.support-summary-card,
.wizard-panel,
.wizard-details-card,
.upload-drop-card {
    color: var(--ivt-text);
}
.nav-section,
.portal-layout-admin .nav-section,
.portal-layout-customer .nav-section {
    font-size: 12.6px !important;
    font-weight: 950 !important;
    letter-spacing: .105em !important;
    color: #a9b8d3 !important;
    text-align: center !important;
    margin: 18px auto 7px !important;
}
.nav-entry .nav-label,
.nav-label {
    font-size: 13.2px !important;
    font-weight: 760 !important;
    letter-spacing: 0 !important;
}
.nav-entry small {
    font-size: 9px !important;
    font-weight: 760 !important;
}
.enterprise-nav a.nav-entry,
.sidebar-nav a.nav-entry,
.sidebar-nav a {
    border-color: transparent !important;
    box-shadow: none !important;
    background: transparent !important;
}
.enterprise-nav a.nav-entry:hover,
.enterprise-nav a.nav-entry.active,
.sidebar-nav a.nav-entry:hover,
.sidebar-nav a.nav-entry.active,
.sidebar-nav a:hover,
.sidebar-nav a.active {
    border-color: transparent !important;
    box-shadow: none !important;
    background: rgba(45, 149, 255, .10) !important;
}
.support-workspace-card,
.support-summary-card {
    border-radius: 7px !important;
    background: #1f2430 !important;
}
.support-tabs {
    min-height: 70px;
    padding: 15px 28px !important;
}
.support-tab {
    cursor: pointer;
    font-weight: 780 !important;
}
.support-tab-panel {
    display: none;
}
.support-tab-panel.active {
    display: block;
}
.support-request-form {
    padding: 28px !important;
    gap: 22px !important;
}
.support-request-textarea {
    font-size: 14.5px;
    line-height: 1.6;
}
.support-request-textarea.compact {
    min-height: 96px;
}
.support-dropzone.compact-zone {
    min-height: 82px;
}
.support-summary-hero,
.support-summary-body.clean-summary-body {
    padding-left: 28px !important;
    padding-right: 28px !important;
}
.clean-detail-list p {
    grid-template-columns: 104px minmax(0, max-content) !important;
    column-gap: 10px !important;
}
.support-detail-list mark,
.clean-detail-list mark {
    display: inline-flex !important;
    width: max-content !important;
    max-width: 100% !important;
    padding: 3px 10px !important;
    line-height: 1.2 !important;
}
.support-blue-pill {
    display: inline-flex !important;
    width: max-content !important;
    max-width: 100% !important;
    padding: 7px 12px !important;
    line-height: 1.2 !important;
}
.support-vehicle-columns > div {
    padding: 16px 16px !important;
}
.support-bubble {
    padding: 16px 18px !important;
}
.support-message-text {
    border-radius: 12px !important;
    background: rgba(255,255,255,.075) !important;
}
.tab-panel-heading h3 {
    margin: 0 0 4px;
    color: #f8fbff;
    font-size: 16px;
    font-weight: 850;
}
.tab-panel-heading p {
    margin: 0;
    color: #aab6ca;
    font-size: 13px;
}
.tab-entry-list {
    display: grid;
    gap: 10px;
    padding: 0 28px 28px;
}
.tab-entry {
    padding: 13px 15px;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    background: rgba(11, 15, 26, .48);
}
.tab-entry strong,
.tab-entry span {
    display: block;
}
.tab-entry strong {
    color: #f4f7fb;
    font-size: 13px;
    font-weight: 850;
}
.tab-entry span {
    margin-top: 4px;
    color: #b9c4d6;
    font-size: 13px;
    line-height: 1.5;
}
.support-empty-inline {
    margin: 0 28px 28px;
    color: #9ba8bd;
    font-size: 13px;
}
.result-face-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.result-face {
    min-height: 88px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 14px;
    background: #121722;
    color: #dbe5f2;
    font-size: 34px;
    font-weight: 850;
    transition: border-color .16s ease, background .16s ease, color .16s ease, transform .16s ease;
}
.result-face span {
    display: block;
    margin-top: 2px;
    font-size: 13px;
    font-weight: 850;
}
.result-face:hover { transform: translateY(-1px); }
.result-face.happy.active {
    border-color: rgba(53, 227, 161, .50);
    background: rgba(53, 227, 161, .16);
    color: #8fffd1;
}
.result-face.sad.active {
    border-color: rgba(255, 209, 102, .55);
    background: rgba(255, 209, 102, .15);
    color: #ffe09a;
}
.wizard-select-row.five-up {
    grid-template-columns: repeat(5, minmax(150px, 1fr)) !important;
    gap: 12px !important;
}
.wizard-details-card .stacked-fields {
    gap: 13px !important;
}
.wizard-details-card .stacked-fields + .toggle-card-grid,
.wizard-details-card select[name="tool_used"] + .toggle-card-grid,
.wizard-details-card .toggle-card-grid.two-up.compact {
    margin-top: 14px;
}
.wizard-details-card select[name="tool_used"] {
    margin-bottom: 4px;
}
.inline-setting-row {
    align-items: start !important;
    gap: 14px !important;
}
.inline-setting-row > span {
    padding-top: 14px !important;
}
.form-control,
.form-select,
.btn {
    font-family: inherit !important;
}
html[data-theme="light"] .nav-section,
html[data-theme="light"] .portal-layout-admin .nav-section,
html[data-theme="light"] .portal-layout-customer .nav-section {
    color: #475569 !important;
}
html[data-theme="light"] .support-workspace-card,
html[data-theme="light"] .support-summary-card {
    background: #ffffff !important;
}
html[data-theme="light"] .tab-panel-heading h3,
html[data-theme="light"] .tab-entry strong {
    color: #0f172a;
}
html[data-theme="light"] .tab-panel-heading p,
html[data-theme="light"] .tab-entry span,
html[data-theme="light"] .support-empty-inline {
    color: #475569;
}
html[data-theme="light"] .tab-entry,
html[data-theme="light"] .result-face {
    background: #f8fafc;
    border-color: rgba(15,23,42,.12);
    color: #0f172a;
}
html[data-theme="light"] .support-message-text {
    background: rgba(15,23,42,.06) !important;
}
@media (max-width: 1199.98px) {
    .wizard-select-row.five-up { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 767.98px) {
    .support-request-form,
    .support-tabs,
    .tab-entry-list {
        padding-left: 18px !important;
        padding-right: 18px !important;
    }
    .support-empty-inline { margin-left: 18px; margin-right: 18px; }
    .result-face-row,
    .form-grid.two-col,
    .wizard-select-row.five-up { grid-template-columns: 1fr !important; }
    .clean-detail-list p { grid-template-columns: 1fr !important; }
}
/* v1.8.16 final menu weight adjustment */
.nav-entry .nav-label,
.nav-label { font-weight: 680 !important; font-size: 13px !important; }
.nav-entry small { font-weight: 650 !important; }

/* v1.8.17: support tab persistence, selected-file display, live update polling and responsive summary polish */
.support-job-shell {
    align-items: start;
    grid-template-columns: minmax(0, 1.42fr) minmax(360px, .98fr) !important;
    gap: 24px !important;
}
.support-workspace-card {
    min-width: 0;
}
.support-tabs {
    flex-wrap: wrap;
    gap: 10px 14px !important;
}
.support-tab {
    min-height: 42px;
    border-radius: 8px !important;
}
.support-request-form {
    min-width: 0;
}
.support-dropzone {
    position: relative;
    overflow: hidden;
    min-height: 96px !important;
    display: grid !important;
    place-items: center !important;
    gap: 5px !important;
    text-align: center;
}
.support-dropzone.compact-zone {
    min-height: 82px !important;
}
.support-dropzone em[data-file-name] {
    display: block;
    max-width: min(92%, 680px);
    overflow: hidden;
    color: #93a4bd;
    font-size: 12.5px;
    font-style: normal;
    font-weight: 700;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.support-dropzone.has-file {
    border-color: rgba(45, 149, 255, .70) !important;
    background: rgba(45, 149, 255, .10) !important;
}
.support-dropzone.has-file em[data-file-name] {
    color: #dceaff;
}
.support-summary-card {
    min-width: 0;
    overflow: hidden;
}
.support-summary-hero,
.support-summary-body.clean-summary-body {
    min-width: 0;
}
.support-vehicle-heading {
    min-width: 0;
}
.support-vehicle-heading h2 {
    overflow-wrap: anywhere;
    line-height: 1.18 !important;
}
.support-vehicle-columns {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    grid-auto-rows: 1fr;
    align-items: stretch;
}
.support-vehicle-columns > div {
    min-width: 0;
    min-height: 74px;
    display: flex !important;
    flex-direction: column;
    justify-content: center;
}
.support-vehicle-columns strong {
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: normal;
}
.support-detail-list.clean-detail-list {
    min-width: 0;
}
.support-detail-list.clean-detail-list p {
    min-width: 0;
    align-items: start;
}
.support-detail-list.clean-detail-list p > strong,
.support-detail-list.clean-detail-list p > mark {
    min-width: 0;
    overflow-wrap: anywhere;
}
.support-detail-list mark,
.clean-detail-list mark,
.support-blue-pill {
    max-width: min(100%, 220px) !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.support-blue-pill {
    width: auto !important;
}
.portal-notification-stack {
    position: fixed;
    top: 16px;
    left: 50%;
    z-index: 1095;
    display: grid;
    width: min(520px, calc(100vw - 28px));
    gap: 10px;
    pointer-events: none;
    transform: translateX(-50%);
}
.portal-file-update-toast {
    display: grid;
    gap: 3px;
    padding: 15px 18px;
    border: 1px solid rgba(45, 149, 255, .38);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(15, 23, 42, .98), rgba(18, 33, 52, .98));
    box-shadow: 0 20px 60px rgba(0,0,0,.40), 0 0 32px rgba(45, 149, 255, .18);
    color: #eaf4ff;
    pointer-events: auto;
    text-decoration: none;
    opacity: 0;
    transform: translateY(-26px) scale(.98);
    transition: opacity .22s ease, transform .22s ease, border-color .22s ease;
}
.portal-file-update-toast.show {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.portal-file-update-toast:hover {
    border-color: rgba(45, 149, 255, .70);
    color: #ffffff;
}
.portal-file-update-toast strong {
    color: #55e6ff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.portal-file-update-toast span {
    font-size: 14px;
    font-weight: 760;
}
html[data-theme="light"] .support-dropzone em[data-file-name] {
    color: #64748b;
}
html[data-theme="light"] .support-dropzone.has-file em[data-file-name] {
    color: #0f172a;
}
html[data-theme="light"] .portal-file-update-toast {
    background: linear-gradient(135deg, #ffffff, #eef6ff);
    color: #0f172a;
    box-shadow: 0 20px 50px rgba(15,23,42,.18), 0 0 28px rgba(45,149,255,.14);
}
html[data-theme="light"] .portal-file-update-toast:hover {
    color: #020617;
}
@media (max-width: 1299.98px) {
    .support-job-shell {
        grid-template-columns: minmax(0, 1fr) minmax(340px, .9fr) !important;
    }
}
@media (max-width: 1099.98px) {
    .support-job-shell {
        grid-template-columns: 1fr !important;
    }
    .support-summary-card {
        position: static !important;
        order: -1;
    }
}
@media (max-width: 639.98px) {
    .support-vehicle-columns {
        grid-template-columns: 1fr !important;
    }
    .support-detail-list.clean-detail-list p {
        grid-template-columns: 1fr !important;
        gap: 3px !important;
    }
    .support-tabs {
        padding: 12px !important;
    }
    .support-tab {
        flex: 1 1 calc(50% - 8px);
        justify-content: center;
    }
}

/* v1.8.18 API vehicle lookup summary */
.vehicle-api-summary {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid rgba(59, 130, 246, .28);
    border-radius: 18px;
    background: rgba(15, 23, 42, .48);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .16);
}
.vehicle-api-summary__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: .75rem;
    margin-bottom: .9rem;
}
.vehicle-api-summary__head strong {
    display: block;
    color: #f8fafc;
    font-size: .98rem;
    line-height: 1.25;
}
.vehicle-api-summary__head span {
    display: block;
    color: #9cc9ff;
    font-size: .82rem;
    line-height: 1.45;
}
.vehicle-api-summary__head > span:last-child {
    flex: 0 0 auto;
    padding: .28rem .58rem;
    border-radius: 999px;
    color: #dbeafe;
    background: rgba(37, 99, 235, .22);
    border: 1px solid rgba(96, 165, 250, .26);
    font-weight: 800;
}
.vehicle-api-summary__stock,
.vehicle-api-summary__stages > div {
    display: grid;
    grid-template-columns: minmax(90px, 1fr) minmax(76px, auto) minmax(76px, auto);
    gap: .6rem;
    align-items: center;
    padding: .62rem .75rem;
    border: 1px solid rgba(148, 163, 184, .18);
    background: rgba(15, 23, 42, .34);
    border-radius: 14px;
    color: #e2e8f0;
}
.vehicle-api-summary__stages {
    display: grid;
    gap: .48rem;
    margin-top: .55rem;
}
.vehicle-api-summary__stock span,
.vehicle-api-summary__stages span,
.vehicle-api-summary__options > span {
    color: #93c5fd;
    font-weight: 900;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.vehicle-api-summary__stock strong,
.vehicle-api-summary__stages strong {
    color: #fff;
    font-size: .9rem;
    text-align: right;
}
.vehicle-api-summary__pending {
    margin: .2rem 0 0;
    color: #bfdbfe;
    font-weight: 800;
}
.vehicle-api-summary__options {
    margin-top: .8rem;
}
.vehicle-api-summary__options div {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    margin-top: .45rem;
}
.vehicle-api-summary__options em {
    display: inline-flex;
    padding: .32rem .55rem;
    border-radius: 999px;
    background: rgba(34, 197, 94, .12);
    border: 1px solid rgba(74, 222, 128, .22);
    color: #bbf7d0;
    font-style: normal;
    font-size: .78rem;
    font-weight: 800;
}
@media (max-width: 700px) {
    .vehicle-api-summary__head,
    .vehicle-api-summary__stock,
    .vehicle-api-summary__stages > div {
        grid-template-columns: 1fr;
        display: grid;
    }
    .vehicle-api-summary__stock strong,
    .vehicle-api-summary__stages strong {
        text-align: left;
    }
}

/* v1.8.20 screenshot-match customer redesign */
:root {
    --shot-bg: #0b0c14;
    --shot-sidebar: #1d1b2e;
    --shot-sidebar-active: #19172a;
    --shot-panel: #1f232e;
    --shot-panel-2: #151720;
    --shot-line: #303648;
    --shot-line-dark: #11141d;
    --shot-blue: #2e9bff;
    --shot-cyan: #24cfc4;
    --shot-text: #f6f8ff;
    --shot-muted: #9da4b4;
}

html[data-theme="dark"] body.portal-body {
    background: var(--shot-bg) !important;
    color: var(--shot-text);
    font-family: "Poppins", "Segoe UI", Arial, sans-serif !important;
    font-size: 14px;
}

.portal-layout-customer .portal-sidebar {
    width: 136px !important;
    padding: 0 !important;
    background: var(--shot-sidebar) !important;
    border-right: 1px solid #11121d !important;
    box-shadow: none !important;
    overflow-x: hidden;
}

.portal-layout-customer .sidebar-head {
    height: 42px;
    min-height: 42px;
    justify-content: center;
    background: #171624;
}

.portal-layout-customer .sidebar-logo img {
    width: 48px !important;
    max-height: 24px;
    object-fit: contain;
}

.portal-layout-customer .hello-context,
.portal-layout-customer .nav-section,
.portal-layout-customer .nav-arrow,
.portal-layout-customer .nav-entry small {
    display: none !important;
}

.portal-layout-customer .enterprise-nav {
    gap: 0 !important;
    align-items: stretch !important;
}

.portal-layout-customer .enterprise-nav a.nav-entry,
.portal-layout-customer .sidebar-nav a.nav-entry {
    min-height: 85px !important;
    padding: 10px 7px !important;
    border-radius: 0 !important;
    color: #dfe5ff !important;
    background: transparent !important;
    border: 0 !important;
    transform: none !important;
}

.portal-layout-customer .enterprise-nav a.nav-entry:hover,
.portal-layout-customer .enterprise-nav a.nav-entry.active {
    background: var(--shot-sidebar-active) !important;
}

.portal-layout-customer .nav-entry-main {
    display: grid !important;
    justify-items: center;
    gap: 8px !important;
}

.portal-layout-customer .nav-icon {
    width: 26px !important;
    height: 26px !important;
    flex-basis: 26px !important;
    color: var(--shot-blue) !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
}

.portal-layout-customer .nav-icon svg {
    display: block !important;
    width: 24px;
    height: 24px;
}

.portal-layout-customer .nav-icon::before {
    display: none !important;
}

.portal-layout-customer .nav-label {
    max-width: 118px;
    color: inherit;
    font-size: 13px !important;
    font-weight: 500 !important;
    line-height: 1.15 !important;
    text-align: center;
    white-space: normal !important;
}

.portal-layout-customer .nav-entry.active .nav-label {
    color: #ffffff;
    font-weight: 700 !important;
}

.portal-layout-customer .portal-main {
    width: calc(100% - 136px) !important;
    margin-left: 136px !important;
}

.portal-layout-customer .topbar {
    display: none !important;
}

.portal-layout-customer .content-wrap {
    width: min(100%, 1320px);
    margin: 0 auto;
    padding: 14px 24px 28px !important;
}

.files-screen-card,
.support-workspace-card,
.support-summary-card,
.wizard-header-card,
.wizard-panel {
    border: 0 !important;
    border-radius: 4px !important;
    background: var(--shot-panel) !important;
    box-shadow: none !important;
}

.files-screen-head {
    height: 86px;
    display: flex;
    align-items: center;
    padding: 0 30px;
    border-bottom: 1px solid var(--shot-line-dark);
}

.files-screen-head h2 {
    margin: 0 0 2px;
    color: #fff;
    font-size: 17px;
    font-weight: 800;
}

.files-screen-head p {
    margin: 0;
    color: #dfe6ff;
    font-size: 13px;
    font-weight: 600;
}

.files-table-tools {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    padding: 26px 30px 14px;
}

.files-table-tools label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin: 0;
    color: #f7f9ff;
    font-size: 14px;
    font-weight: 500;
}

.files-table-tools .form-select {
    width: 58px;
    min-height: 32px;
    padding: 4px 22px 4px 9px;
}

.files-table-tools .form-control {
    width: 172px;
    min-height: 32px;
}

.files-table-tools .form-select,
.files-table-tools .form-control,
.modern-upload-shell .form-control,
.modern-upload-shell .form-select,
.support-request-textarea {
    border: 1px solid #354057 !important;
    border-radius: 4px !important;
    background-color: #141721 !important;
    color: #f2f6ff !important;
    box-shadow: none !important;
}

.files-table-wrap {
    padding: 0 30px;
    overflow-x: auto;
}

.files-table {
    min-width: 940px;
    margin: 0;
    color: #f6f8ff;
}

.files-table thead th {
    height: 52px;
    padding: 0 18px;
    border-bottom: 1px solid #090b12;
    color: #f3f7ff;
    background: transparent;
    font-size: 14px;
    font-weight: 800;
    text-transform: none;
    letter-spacing: 0;
}

.files-table thead th:nth-child(1),
.files-table thead th:nth-child(2) {
    color: var(--shot-blue);
}

.files-table td {
    height: 65px;
    padding: 10px 18px;
    border-top: 1px solid #12151f;
    border-bottom: 1px solid #303542;
    color: #f6f8ff;
    background: transparent;
    font-size: 14px;
}

.files-table tbody tr:hover {
    background: rgba(255,255,255,.015);
}

.file-id {
    color: #445579 !important;
    font-weight: 500;
}

.sort-pair {
    margin-left: 14px;
    color: #747b8d;
    font-size: 13px;
    font-weight: 400;
}

.sort-pair.active {
    color: var(--shot-blue);
}

.updated-pill {
    display: inline-flex;
    padding: 3px 10px;
    border-radius: 6px;
    background: #0d0f19;
    color: #dfe6ff;
    font-weight: 700;
    line-height: 1.2;
}

.vehicle-line {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.brand-mark {
    width: 24px;
    min-width: 24px;
    color: #d8dbe2;
    font-size: 10px;
    font-weight: 900;
    opacity: .9;
}

.brand-mark.citroen { font-size: 0; }
.brand-mark.citroen::before { content: "⌃⌃"; font-size: 19px; line-height: 1; }
.brand-mark.peugeot { font-size: 0; }
.brand-mark.peugeot::before { content: "♞"; font-size: 23px; }
.brand-mark.audi { font-size: 0; }
.brand-mark.audi::before { content: "○○○○"; font-size: 15px; letter-spacing: -6px; }
.brand-mark.vw { color: #8ec8ff; }
.brand-mark.ford { color: #9dcaff; }
.brand-mark.land-rover { color: #a9d7b0; }

.job-badge,
.status-badge {
    min-height: 22px !important;
    padding: 4px 11px !important;
    border-radius: 5px !important;
    background: #087666 !important;
    color: #20e0c8 !important;
    font-size: 12px !important;
    font-weight: 700 !important;
}

.view-file-btn {
    min-width: 83px;
    min-height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    border: 0 !important;
    border-radius: 5px !important;
    background: var(--shot-blue) !important;
    color: #fff !important;
    font-weight: 800;
}

.files-pagination-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 24px 30px 0;
    color: #f2f6ff;
}

.files-pagination-row .pagination {
    margin: 0;
    gap: 3px;
}

.files-pagination-row .page-link {
    min-width: 30px;
    min-height: 28px;
    border: 0;
    border-radius: 4px;
    color: #91a0bd;
    background: transparent;
}

.files-pagination-row .active .page-link,
.files-pagination-row .page-link:hover {
    color: #fff;
    background: var(--shot-blue);
}

.support-job-shell {
    grid-template-columns: minmax(0, 742px) minmax(420px, 522px) !important;
    gap: 24px !important;
    align-items: start;
}

.support-workspace-card {
    min-height: 444px;
}

.support-tabs {
    min-height: 70px;
    padding: 15px 28px !important;
    border-bottom: 1px solid #11141d;
    gap: 10px !important;
}

.support-tab {
    min-height: 39px;
    padding: 0 14px;
    border: 0 !important;
    border-radius: 5px !important;
    background: transparent !important;
    color: #9fa8c0 !important;
    font-size: 14px;
    font-weight: 600 !important;
}

.support-tab.active {
    background: #203a5a !important;
    color: var(--shot-blue) !important;
}

.support-request-form {
    padding: 26px 28px 25px !important;
}

.support-request-textarea {
    min-height: 128px;
    resize: vertical;
}

.support-dropzone,
.upload-dropzone {
    border: 1px solid #3b465d !important;
    border-radius: 5px !important;
    background: #141721 !important;
    color: #9ca3b1 !important;
}

.support-dropzone {
    min-height: 99px !important;
}

.support-dropzone-icon {
    color: #d7d8de !important;
    font-size: 44px !important;
    line-height: 1;
}

.support-send-row {
    justify-content: flex-end;
}

.support-send-btn,
.support-back-btn,
.wizard-next-btn,
.wizard-submit-btn {
    min-width: 118px;
    min-height: 48px;
    border-radius: 5px !important;
    background: var(--shot-blue) !important;
    color: #fff !important;
    box-shadow: none !important;
    text-transform: uppercase;
}

.support-summary-card {
    position: sticky;
    top: 12px;
}

.support-summary-hero {
    padding: 22px 28px 20px !important;
    border-bottom: 1px solid #11141d;
}

.support-brand-mark {
    width: 44px;
    color: #d8d9df;
    font-size: 0;
}

.support-brand-mark::before {
    content: "⌃⌃";
    display: block;
    font-size: 42px;
    line-height: .75;
}

.support-vehicle-heading h2 {
    color: #fff;
    font-size: 18px !important;
    font-weight: 800 !important;
}

.support-vehicle-heading p {
    margin-top: 3px;
    color: #b9bfca !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

.support-summary-body.clean-summary-body {
    padding: 26px 28px !important;
}

.support-status-row {
    justify-content: flex-start !important;
    gap: 12px;
}

.support-status-row strong {
    color: #d8dbe4;
}

.support-vehicle-columns {
    grid-template-columns: 155px minmax(0, 1fr) !important;
    gap: 24px 40px !important;
    margin: 14px 0 8px !important;
}

.support-vehicle-columns > div {
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    display: block !important;
}

.support-vehicle-columns span {
    display: none !important;
}

.support-vehicle-columns strong {
    color: #d7dbe5 !important;
    font-size: 14px !important;
    font-weight: 600 !important;
}

.support-service-pill {
    margin: 6px 0 14px;
    border-radius: 4px;
    background: #113c68;
    color: var(--shot-blue);
}

.clean-detail-list {
    display: grid !important;
    grid-template-columns: 155px minmax(0, 1fr);
    gap: 6px 40px !important;
}

.clean-detail-list p {
    display: block !important;
    min-height: 0;
    margin: 0;
}

.clean-detail-list span {
    color: #c1c6d0 !important;
}

.clean-detail-list mark {
    border-radius: 4px !important;
    background: #8b6400 !important;
    color: #ffd44e !important;
}

.support-blue-pill {
    border-radius: 4px !important;
    background: #113c68 !important;
    color: var(--shot-blue) !important;
}

.technical-info-card {
    margin-top: 16px;
    border: 1px solid #343b4d;
    border-radius: 5px;
    background: #151720;
}

.technical-info-card button {
    width: 100%;
    min-height: 48px;
    display: grid;
    grid-template-columns: 22px 1fr 18px;
    align-items: center;
    gap: 10px;
    padding: 0 16px;
    border: 0;
    border-bottom: 1px solid #262d3d;
    background: transparent;
    color: #fff;
    text-align: left;
}

.technical-info-card button span,
.technical-info-card button em {
    color: var(--shot-blue);
    font-style: normal;
}

.technical-info-card div {
    padding: 18px 17px 12px;
    color: #d5d7df;
    line-height: 1.45;
}

.support-timeline-panel {
    grid-column: 1;
    padding: 33px 0 0 76px !important;
}

.support-bubble {
    border-radius: 8px !important;
    background: #424b63 !important;
    box-shadow: none !important;
}

.support-download-btn {
    border-radius: 5px !important;
    background: var(--shot-cyan) !important;
    color: #fff !important;
}

.support-outline-btn {
    border-color: var(--shot-blue) !important;
    border-radius: 5px !important;
    color: var(--shot-blue) !important;
}

.modern-upload-shell {
    max-width: 968px;
    margin: 0 auto;
    gap: 0 !important;
}

.wizard-header-card {
    border-radius: 4px 4px 0 0 !important;
    background: transparent !important;
}

.wizard-header-grid {
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
}

.wizard-header-step {
    min-height: 77px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #10121b !important;
    color: #2f3a55 !important;
    justify-content: flex-start;
}

.wizard-header-step.active {
    background: var(--shot-panel) !important;
    color: #fff !important;
}

.wizard-header-icon {
    width: 29px !important;
    height: 29px !important;
    flex-basis: 29px !important;
    border-radius: 5px !important;
    background: #1f84e5 !important;
    color: #fff !important;
    font-size: 0;
}

.wizard-header-icon::before {
    content: "↥";
    font-size: 14px;
}

.wizard-header-step:nth-child(2) .wizard-header-icon::before {
    content: "≡";
}

.wizard-header-step strong {
    font-size: 12px !important;
    color: inherit;
}

.wizard-header-step small {
    color: currentColor;
    opacity: .92;
}

.wizard-panel {
    padding: 20px 22px !important;
    border-radius: 0 0 4px 4px !important;
}

.wizard-plate-card {
    margin: 0 0 18px !important;
    padding: 14px !important;
    border: 0 !important;
    border-radius: 4px !important;
    background: #151720 !important;
}

.plate-lookup-visual {
    display: grid;
    justify-items: center;
    gap: 5px;
    margin-bottom: 11px;
}

.plate-lookup-visual > span {
    padding: 5px 10px;
    border: 1px solid var(--shot-blue);
    border-radius: 4px;
    color: var(--shot-blue);
    font-size: 11px;
}

.plate-blur-row {
    display: flex;
    align-items: center;
    gap: 8px;
    filter: blur(3px);
}

.plate-blur-row i {
    width: 18px;
    height: 12px;
    border-radius: 2px;
    background: #2a87df;
}

.plate-blur-row b {
    width: 182px;
    height: 22px;
    border-radius: 3px;
    background: #f0c21d;
}

.plate-blur-row em {
    width: 58px;
    height: 18px;
    border-radius: 3px;
    background: #248fea;
}

.plate-lookup-visual small {
    padding: 1px 7px;
    border-radius: 4px;
    background: #060810;
    color: #fff;
    font-size: 9px;
}

.wizard-select-row.five-up {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: 5px !important;
}

.wizard-select-row .form-select {
    min-height: 34px !important;
    font-size: 11px;
}

.wizard-link-btn {
    margin-top: 7px !important;
    color: var(--shot-blue) !important;
    font-size: 11px !important;
}

.wizard-upload-grid {
    grid-template-columns: minmax(0, 1fr) 452px !important;
    gap: 19px !important;
}

.upload-drop-card,
.wizard-details-card {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

.upload-drop-header {
    margin-bottom: 12px;
}

.upload-drop-header span,
.wizard-details-title {
    color: #fff;
    font-weight: 800;
}

.upload-dropzone {
    min-height: 433px !important;
    padding: 0 !important;
}

.upload-drop-copy small,
.upload-helper-strip,
.supporting-files-field {
    display: none !important;
}

.upload-drop-icon {
    color: #f1f2f6 !important;
}

.wizard-details-card {
    display: grid;
    align-content: start;
    gap: 16px;
}

.toggle-card-grid.two-up {
    gap: 6px !important;
}

.toggle-card {
    min-height: 58px !important;
    border: 1px solid #30394c !important;
    border-radius: 4px !important;
    background: transparent !important;
}

.toggle-card input {
    accent-color: var(--shot-blue);
}

.toggle-card span strong {
    color: #fff !important;
    font-size: 14px;
}

.stacked-fields {
    gap: 17px !important;
}

.inline-setting-row {
    grid-template-columns: 72px 1fr !important;
    border-top: 1px dashed #11141d;
    padding-top: 16px;
}

.inline-setting-row > span {
    color: #d7d7ff !important;
    font-size: 11px;
}

.consent-check-row {
    border-top: 1px dashed #11141d;
    padding-top: 14px;
}

.wizard-footer-actions {
    margin-top: 25px;
    padding-top: 24px;
    border-top: 1px solid #11141d;
}

.wizard-stage-layout {
    grid-template-columns: minmax(0, 1fr) 262px !important;
    gap: 18px !important;
}

.stage-section-header {
    margin-bottom: 13px !important;
}

.stage-section-header strong {
    color: #fff;
}

.stage-section-header small,
.solution-copy small {
    color: #d9e2ff;
    font-size: 11px;
}

.solution-accordion-item,
.solution-accordion-body,
.solution-accordion-button {
    background: transparent !important;
    border: 0 !important;
}

.solution-accordion-button {
    display: none !important;
}

.accordion-collapse {
    display: block !important;
    height: auto !important;
}

.solution-accordion-body {
    padding: 0 !important;
}

.stage-solution-list {
    gap: 6px !important;
}

.stage-solution-card {
    min-height: 62px !important;
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    padding: 11px 12px !important;
    border: 1px solid #343b4d !important;
    border-radius: 4px !important;
    background: transparent !important;
}

.solution-copy strong {
    color: #fff !important;
    font-size: 14px !important;
}

.solution-indicator {
    width: 17px !important;
    height: 17px !important;
    border-color: #11141d !important;
    background: #10131c !important;
}

.stage-solution-card.selected .solution-indicator {
    border-color: var(--shot-blue) !important;
    box-shadow: inset 0 0 0 4px #10131c, inset 0 0 0 8px var(--shot-blue) !important;
}

.stage-extras-block,
.extra-option-chip em,
.estimate-card {
    display: none !important;
}

.comments-card {
    margin-top: 20px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.comments-card input[name="custom_service"] {
    display: none !important;
}

.comments-card textarea.form-control {
    min-height: 72px !important;
}

.wizard-stage-side {
    position: static !important;
}

.promo-card {
    min-height: 104px;
    padding: 24px 20px !important;
    border: 0 !important;
    border-radius: 3px !important;
    background: #4d217c !important;
    box-shadow: none !important;
}

.promo-card strong {
    color: #b98cff !important;
    font-size: 18px !important;
}

.promo-card small {
    color: #fff !important;
}

.service-hours-card {
    margin-top: 13px;
    overflow: hidden;
    border-radius: 3px;
    background: #691817;
}

.service-hours-alert {
    padding: 14px 20px;
    background: #ff4766;
    color: #fff;
    font-size: 12px;
    line-height: 1.35;
}

.service-hours-body {
    display: grid;
    gap: 12px;
    padding: 20px;
    color: #fff;
}

.service-hours-body > strong {
    font-size: 14px;
}

.service-hours-body > small {
    color: #ffd9d9;
    font-size: 10px;
}

.service-hours-body b {
    padding: 2px 5px;
    border-radius: 3px;
    background: #0a0b11;
    color: #fff;
}

.service-hours-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    font-size: 11px;
    font-weight: 800;
}

.service-hours-row em {
    padding: 4px 8px;
    border-radius: 4px;
    background: #090a0f;
    color: #e7e7ec;
    font-style: normal;
    font-weight: 500;
}

.service-hours-row em.closed {
    background: #ff4f74;
    color: #fff;
}

@media (min-width: 1500px) {
    .portal-layout-customer .content-wrap {
        max-width: 1320px;
    }
}

@media (max-width: 1199.98px) {
    .support-job-shell,
    .wizard-upload-grid,
    .wizard-stage-layout {
        grid-template-columns: 1fr !important;
    }
    .support-summary-card {
        position: static !important;
    }
}

@media (max-width: 991.98px) {
    .portal-layout-customer .portal-sidebar {
        width: 136px !important;
    }
    .portal-layout-customer .portal-main {
        width: 100% !important;
        margin-left: 0 !important;
    }
    .portal-layout-customer .topbar {
        display: flex !important;
    }
    .wizard-select-row.five-up {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 767.98px) {
    .portal-layout-customer .content-wrap {
        padding: 12px !important;
    }
    .files-table-tools,
    .files-pagination-row {
        align-items: stretch;
        flex-direction: column;
    }
    .files-table-tools .form-control {
        width: 100%;
    }
    .wizard-select-row.five-up,
    .clean-detail-list,
    .support-vehicle-columns {
        grid-template-columns: 1fr !important;
    }
    .upload-dropzone {
        min-height: 260px !important;
    }
}

/* v1.8.20 enterprise correction: polished screenshot layout, controls preserved */
:root {
    --ent-bg: #090a12;
    --ent-surface: #20242f;
    --ent-surface-soft: #181b24;
    --ent-surface-strong: #11131b;
    --ent-sidebar: #1c1a2b;
    --ent-sidebar-active: #171526;
    --ent-border: #343a4c;
    --ent-border-soft: rgba(148, 163, 184, .12);
    --ent-text: #f7f9ff;
    --ent-muted: #a7afc0;
    --ent-muted-2: #7e879b;
    --ent-blue: #3299ff;
    --ent-blue-soft: rgba(50, 153, 255, .14);
    --ent-teal: #21c8be;
    --ent-red: #ff4d68;
    --ent-purple: #542783;
}

html[data-theme="dark"] body.portal-body {
    background: var(--ent-bg) !important;
    color: var(--ent-text);
    font-family: "Inter", "Segoe UI", Roboto, Arial, sans-serif !important;
    line-height: 1.45;
}

.portal-layout-customer .portal-sidebar {
    width: 128px !important;
    background: var(--ent-sidebar) !important;
    border-right: 1px solid #12131d !important;
}

.portal-layout-customer .portal-main {
    width: calc(100% - 128px) !important;
    margin-left: 128px !important;
}

.portal-layout-customer .sidebar-head {
    height: 42px;
    min-height: 42px;
    background: #171622;
}

.portal-layout-customer .sidebar-logo img {
    width: 54px !important;
    max-height: 26px;
}

.portal-layout-customer .enterprise-nav a.nav-entry {
    min-height: 82px !important;
    padding: 12px 8px !important;
    color: #d9def1 !important;
    transition: background-color .14s ease, color .14s ease;
}

.portal-layout-customer .enterprise-nav a.nav-entry.active,
.portal-layout-customer .enterprise-nav a.nav-entry:hover {
    background: var(--ent-sidebar-active) !important;
    color: #fff !important;
}

.portal-layout-customer .nav-icon {
    width: 28px !important;
    height: 28px !important;
    color: var(--ent-blue) !important;
}

.portal-layout-customer .nav-icon svg {
    width: 25px;
    height: 25px;
    stroke-width: 1.85;
}

.portal-layout-customer .nav-label {
    max-width: 112px;
    font-size: 12.5px !important;
    font-weight: 600 !important;
    line-height: 1.2 !important;
}

.portal-layout-customer .content-wrap {
    width: min(100%, 1290px);
    padding: 12px 22px 32px !important;
}

.files-screen-card,
.support-workspace-card,
.support-summary-card,
.wizard-header-card,
.wizard-panel {
    border: 1px solid rgba(255, 255, 255, .035) !important;
    border-radius: 4px !important;
    background: var(--ent-surface) !important;
    box-shadow: 0 18px 48px rgba(0, 0, 0, .16) !important;
}

.files-screen-head {
    height: 86px;
    padding: 0 28px;
    border-bottom: 1px solid #11141d;
}

.files-screen-head h2 {
    font-size: 17px;
    font-weight: 800;
    letter-spacing: 0;
}

.files-screen-head p {
    color: #dce5ff;
    font-size: 13px;
    font-weight: 600;
}

.files-table-tools {
    padding: 26px 28px 14px;
}

.files-table-tools label {
    color: #f6f8ff;
    font-size: 13.5px;
    font-weight: 550;
}

.files-table-tools .form-select,
.files-table-tools .form-control,
.modern-upload-shell .form-control,
.modern-upload-shell .form-select,
.support-request-textarea,
.comments-card textarea.form-control {
    min-height: 36px;
    border: 1px solid var(--ent-border) !important;
    border-radius: 4px !important;
    background-color: #131620 !important;
    color: #f2f6ff !important;
    font-size: 13px;
}

.files-table-tools .form-control {
    width: 176px;
}

.files-table-wrap {
    padding: 0 28px;
}

.files-table {
    min-width: 920px;
}

.files-table thead th {
    height: 52px;
    padding: 0 16px;
    border-bottom: 1px solid #0f121b;
    color: #f2f6ff;
    font-size: 13px;
    font-weight: 750;
}

.files-table thead th:nth-child(1),
.files-table thead th:nth-child(2) {
    color: var(--ent-blue);
}

.files-table td {
    height: 65px;
    padding: 10px 16px;
    border-color: #303646;
    color: #f7f9ff;
    font-size: 13.5px;
}

.file-id {
    color: #536586 !important;
    font-variant-numeric: tabular-nums;
}

.sort-pair {
    color: #6f778a;
    font-size: 12px;
}

.sort-pair.active {
    color: var(--ent-blue);
}

.updated-pill {
    border-radius: 6px;
    background: #0d1018;
    color: #dce4f4;
    font-size: 12px;
    font-weight: 650;
}

.vehicle-line {
    gap: 12px;
}

.brand-mark {
    width: 30px;
    height: 30px;
    min-width: 30px;
    display: inline-grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 50%;
    background: linear-gradient(180deg, #2a303c, #171b24);
    color: #d7deec;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0;
    opacity: 1;
}

.brand-mark::before {
    content: none !important;
}

.job-badge,
.status-badge {
    min-height: 22px !important;
    padding: 4px 10px !important;
    border-radius: 5px !important;
    background: rgba(33, 200, 190, .20) !important;
    color: #23dece !important;
    font-size: 11.5px !important;
    font-weight: 750 !important;
}

.view-file-btn,
.support-send-btn,
.support-back-btn,
.wizard-next-btn,
.wizard-submit-btn {
    border-radius: 5px !important;
    background: var(--ent-blue) !important;
    color: #fff !important;
    box-shadow: none !important;
    font-weight: 760 !important;
}

.view-file-btn {
    min-width: 82px;
    min-height: 38px;
    gap: 8px;
}

.files-pagination-row {
    padding: 24px 28px 0;
    color: #f5f7ff;
}

.support-job-shell {
    grid-template-columns: minmax(0, 742px) minmax(430px, 522px) !important;
    gap: 24px !important;
}

.support-workspace-card,
.support-summary-card {
    background: var(--ent-surface) !important;
}

.support-tabs {
    min-height: 70px;
    padding: 15px 28px !important;
    border-bottom: 1px solid #10131b;
}

.support-tab {
    min-height: 39px;
    padding: 0 14px;
    border-radius: 5px !important;
    color: #a9b1c4 !important;
    font-size: 13.5px;
    font-weight: 650 !important;
}

.support-tab.active {
    background: #203a5a !important;
    color: var(--ent-blue) !important;
}

.support-tab .tab-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: .85;
}

.support-request-form {
    padding: 26px 28px !important;
    gap: 22px !important;
}

.support-request-textarea {
    min-height: 128px;
}

.support-dropzone,
.upload-dropzone {
    border: 1px solid #3b4358 !important;
    border-radius: 5px !important;
    background: #131620 !important;
}

.support-dropzone-icon {
    font-size: 0 !important;
}

.support-dropzone-icon::before {
    content: "Upload";
    color: #d8deea;
    font-size: 18px;
    font-weight: 750;
}

.support-summary-hero {
    padding: 22px 28px 20px !important;
    border-bottom: 1px solid #10131b;
}

.support-vehicle-heading {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr);
    gap: 12px;
}

.support-brand-mark {
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border-radius: 50%;
    background: #0f1118;
    overflow: hidden;
}

.support-brand-mark::before {
    content: none !important;
}

.support-brand-mark img {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

.support-vehicle-heading h2 {
    color: #fff;
    font-size: 18px !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
}

.support-vehicle-heading p {
    color: #b8c0cf !important;
    font-size: 12px !important;
    font-weight: 750 !important;
}

.support-back-btn {
    min-height: 39px !important;
    min-width: 145px !important;
    text-transform: none;
}

.support-summary-body.clean-summary-body {
    padding: 26px 28px !important;
}

.support-vehicle-columns {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 8px 26px !important;
    margin: 14px 0 10px !important;
}

.support-vehicle-columns > div {
    min-height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.support-vehicle-columns span {
    display: none !important;
}

.support-vehicle-columns strong,
.clean-detail-list strong {
    color: #dce1ec !important;
    font-size: 13.5px !important;
    font-weight: 650 !important;
}

.support-service-pill,
.support-blue-pill {
    border-radius: 4px !important;
    background: rgba(50, 153, 255, .16) !important;
    color: var(--ent-blue) !important;
}

.clean-detail-list {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 7px 26px !important;
}

.clean-detail-list p {
    display: block !important;
    min-height: 0;
    margin: 0;
}

.clean-detail-list span {
    color: #aeb6c6 !important;
    font-weight: 650 !important;
}

.clean-detail-list mark {
    border-radius: 4px !important;
    background: #8a6500 !important;
    color: #ffd866 !important;
}

.technical-info-card {
    border-color: #343b4d;
    background: #141720;
}

.technical-info-card button {
    min-height: 48px;
}

.support-timeline-panel {
    grid-column: 1;
    padding: 33px 0 0 76px !important;
}

.support-bubble {
    border: 1px solid rgba(255,255,255,.045);
    border-radius: 8px !important;
    background: #414a61 !important;
}

.support-message-text {
    background: transparent !important;
    padding: 0 !important;
}

.modern-upload-shell {
    max-width: 968px;
    margin: 0 auto;
}

.wizard-header-card {
    border-bottom: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.wizard-header-step {
    min-height: 77px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: #10121a !important;
    color: #53607a !important;
}

.wizard-header-step.active {
    background: var(--ent-surface) !important;
    color: #fff !important;
}

.wizard-header-icon {
    width: 29px !important;
    height: 29px !important;
    border-radius: 5px !important;
    background: var(--ent-blue) !important;
    font-size: 13px !important;
}

.wizard-header-icon::before,
.wizard-header-step:nth-child(2) .wizard-header-icon::before {
    content: none !important;
}

.wizard-panel {
    padding: 20px 22px !important;
}

.wizard-plate-card {
    margin-bottom: 18px !important;
    padding: 14px !important;
    border: 1px solid rgba(255,255,255,.035) !important;
    background: #141720 !important;
}

.plate-lookup-visual > span {
    border-color: var(--ent-blue);
    color: var(--ent-blue);
}

.plate-blur-row {
    opacity: .55;
}

.wizard-select-row.five-up {
    gap: 6px !important;
}

.wizard-select-row .form-select {
    min-height: 34px !important;
}

.wizard-upload-grid {
    grid-template-columns: minmax(0, 1fr) 452px !important;
    gap: 19px !important;
}

.upload-drop-card,
.wizard-details-card {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

.upload-dropzone {
    min-height: 350px !important;
    padding: 20px !important;
}

.upload-drop-copy small,
.upload-helper-strip,
.supporting-files-field,
.stage-extras-block,
.estimate-card,
.comments-card input[name="custom_service"] {
    display: revert !important;
}

.upload-helper-strip {
    display: flex !important;
}

.supporting-files-field {
    display: grid !important;
    gap: 8px;
}

.wizard-details-card {
    gap: 16px;
}

.toggle-card {
    min-height: 58px !important;
    border-color: #333b4f !important;
    border-radius: 4px !important;
    background: transparent !important;
}

.toggle-card:has(input:checked),
.stage-solution-card.selected,
.extra-option-chip.selected {
    border-color: rgba(50, 153, 255, .55) !important;
    background: rgba(50, 153, 255, .075) !important;
}

.inline-setting-row,
.consent-check-row {
    border-top: 1px dashed rgba(255,255,255,.10);
}

.wizard-stage-layout {
    grid-template-columns: minmax(0, 1fr) 262px !important;
    gap: 18px !important;
}

.solution-accordion-button {
    display: flex !important;
    min-height: 0;
    padding: 0 0 8px !important;
    color: #dce4f4 !important;
}

.solution-accordion-button::after {
    display: none !important;
}

.solution-accordion-body {
    padding: 0 !important;
}

.stage-solution-list {
    gap: 6px !important;
}

.stage-solution-card,
.extra-option-chip {
    min-height: 62px !important;
    padding: 11px 12px !important;
    border: 1px solid #343b4d !important;
    border-radius: 4px !important;
    background: transparent !important;
}

.solution-copy strong,
.extra-option-chip strong {
    color: #fff !important;
    font-size: 13.5px !important;
}

.solution-copy small,
.extra-option-chip small {
    color: #c3cbe0 !important;
    font-size: 11px !important;
}

.stage-extras-block {
    margin-top: 18px;
}

.extras-option-grid {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
}

.comments-card {
    margin-top: 18px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.comments-card input[name="custom_service"] {
    margin-bottom: 10px;
    display: block !important;
    width: 100%;
}

.extra-option-chip em {
    display: inline-flex !important;
    justify-self: end;
}

.promo-card {
    border-radius: 4px !important;
    background: var(--ent-purple) !important;
}

.estimate-card {
    margin-top: 12px;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 4px !important;
    background: #151922 !important;
}

.service-hours-card {
    border-radius: 4px;
    background: #671817;
}

.service-hours-alert {
    background: var(--ent-red);
}

@media (max-width: 1199.98px) {
    .support-job-shell,
    .wizard-upload-grid,
    .wizard-stage-layout {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 991.98px) {
    .portal-layout-customer .portal-main {
        width: 100% !important;
        margin-left: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .portal-layout-customer .content-wrap {
        padding: 12px !important;
    }
    .files-table-tools,
    .files-pagination-row {
        align-items: stretch;
        flex-direction: column;
    }
    .files-table-tools .form-control {
        width: 100%;
    }
    .support-vehicle-columns,
    .clean-detail-list,
    .wizard-select-row.five-up {
        grid-template-columns: 1fr !important;
    }
    .upload-dropzone {
        min-height: 250px !important;
    }
}

/* v1.8.20 Bootstrap enterprise finish and upload scale fix */
html[data-theme="dark"] {
    --bs-body-bg: #090a12;
    --bs-body-color: #f7f9ff;
    --bs-border-color: #343b4d;
    --bs-primary: #3299ff;
    --bs-primary-rgb: 50, 153, 255;
    --bs-success-rgb: 33, 200, 190;
    --bs-danger-rgb: 255, 77, 104;
}

html[data-theme="dark"] .portal-layout-customer .content-wrap {
    max-width: 1320px;
}

html[data-theme="dark"] .files-screen-card,
html[data-theme="dark"] .support-workspace-card,
html[data-theme="dark"] .support-summary-card,
html[data-theme="dark"] .wizard-panel {
    border: 1px solid rgba(255,255,255,.06) !important;
    border-radius: .375rem !important;
    background: #20242f !important;
}

.modern-upload-shell {
    width: min(100%, 1120px) !important;
    max-width: 1120px !important;
}

.modern-upload-shell .wizard-panel {
    padding: 1.375rem !important;
}

.modern-upload-shell .wizard-header-step {
    min-height: 78px !important;
    padding: 1rem 1.5rem !important;
}

.modern-upload-shell .wizard-header-step strong {
    font-size: .875rem !important;
}

.modern-upload-shell .wizard-header-step small {
    font-size: .75rem !important;
}

.modern-upload-shell .wizard-plate-card {
    padding: 1rem !important;
    border-radius: .375rem !important;
}

.modern-upload-shell .wizard-select-row.five-up {
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    gap: .5rem !important;
}

.modern-upload-shell .form-control,
.modern-upload-shell .form-select {
    min-height: 2.5rem !important;
    padding: .5rem .75rem !important;
    border-radius: .25rem !important;
    font-size: .875rem !important;
    line-height: 1.35 !important;
}

.modern-upload-shell .wizard-upload-grid {
    grid-template-columns: minmax(0, 1fr) 452px !important;
    gap: 1.25rem !important;
    align-items: start !important;
}

.modern-upload-shell .upload-drop-card,
.modern-upload-shell .wizard-details-card {
    min-width: 0;
}

.modern-upload-shell .upload-drop-header,
.modern-upload-shell .wizard-details-title {
    min-height: 1.5rem;
    margin-bottom: .75rem !important;
    font-size: .9375rem !important;
    font-weight: 700 !important;
}

.modern-upload-shell .upload-dropzone {
    min-height: 430px !important;
    padding: 2rem !important;
    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .875rem;
    border: 1px solid #3b4358 !important;
    border-radius: .375rem !important;
    background: #131720 !important;
}

.modern-upload-shell .upload-drop-icon {
    width: 56px !important;
    height: 56px !important;
}

.modern-upload-shell .upload-drop-copy strong {
    display: block;
    color: #f7f9ff;
    font-size: .9375rem;
    font-weight: 650;
}

.modern-upload-shell .upload-drop-copy small {
    display: block !important;
    margin-top: .25rem;
    color: #9da7ba;
    font-size: .75rem;
}

.modern-upload-shell .upload-helper-strip {
    margin-top: .75rem;
    padding: .625rem .75rem;
    border-radius: .25rem;
    background: rgba(255,255,255,.035);
}

.modern-upload-shell .supporting-files-field {
    margin-top: .875rem !important;
}

.modern-upload-shell .wizard-details-card {
    gap: .875rem !important;
}

.modern-upload-shell .toggle-card {
    min-height: 58px !important;
    padding: .875rem !important;
    border-radius: .375rem !important;
}

.modern-upload-shell .toggle-card span strong,
.modern-upload-shell .consent-check-row span {
    font-size: .875rem !important;
}

.modern-upload-shell .inline-setting-row {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: .75rem !important;
}

.modern-upload-shell .stage-solution-card,
.modern-upload-shell .extra-option-chip {
    min-height: 74px !important;
    padding: .875rem 1rem !important;
    border-radius: .375rem !important;
}

.modern-upload-shell .solution-copy strong,
.modern-upload-shell .extra-option-chip strong {
    font-size: .9375rem !important;
}

.modern-upload-shell .solution-copy small,
.modern-upload-shell .extra-option-chip small {
    font-size: .75rem !important;
}

.modern-upload-shell .wizard-stage-layout {
    grid-template-columns: minmax(0, 1fr) 290px !important;
    gap: 1.25rem !important;
}

.modern-upload-shell .promo-card,
.modern-upload-shell .estimate-card,
.modern-upload-shell .service-hours-card {
    border-radius: .375rem !important;
}

.modern-upload-shell .comments-card textarea.form-control {
    min-height: 96px !important;
}

.support-tabs,
.files-table-tools,
.files-table,
.support-request-form,
.support-summary-body,
.modern-upload-shell {
    font-size: .875rem;
}

.files-table-tools .form-select,
.files-table-tools .form-control {
    min-height: 2.25rem !important;
    font-size: .875rem !important;
}

.support-request-textarea {
    min-height: 130px !important;
    font-size: .9375rem !important;
}

@media (max-width: 1199.98px) {
    .modern-upload-shell .wizard-select-row.five-up {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .modern-upload-shell .wizard-upload-grid,
    .modern-upload-shell .wizard-stage-layout {
        grid-template-columns: 1fr !important;
    }
    .modern-upload-shell .upload-dropzone {
        min-height: 300px !important;
    }
}

@media (max-width: 575.98px) {
    .modern-upload-shell .wizard-select-row.five-up {
        grid-template-columns: 1fr !important;
    }
    .modern-upload-shell .wizard-panel {
        padding: 1rem !important;
    }
}

/* v1.8.20 last-word customer upload polish */
.portal-layout-customer .topbar {
    display: flex !important;
    min-height: 72px !important;
    padding: 12px 24px !important;
    background: #0b0c14 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    backdrop-filter: none !important;
}

.portal-layout-customer .sidebar-head {
    height: 68px !important;
    min-height: 68px !important;
    padding: 10px 12px !important;
}

.portal-layout-customer .sidebar-logo,
.portal-layout-customer .sidebar-logo img {
    display: block !important;
}

.portal-layout-customer .sidebar-logo {
    width: 100% !important;
    height: 48px !important;
}

.portal-layout-customer .sidebar-logo img {
    width: 76px !important;
    height: 40px !important;
    max-height: 40px !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

.modern-upload-shell {
    width: min(100%, 1080px) !important;
    max-width: 1080px !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
}

.modern-upload-shell .wizard-panel {
    padding: 1.5rem !important;
}

.modern-upload-shell .wizard-upload-grid {
    grid-template-columns: minmax(0, 1fr) 452px !important;
    gap: 1.25rem !important;
    align-items: start !important;
}

.modern-upload-shell .upload-dropzone {
    min-height: 430px !important;
    padding: 2rem !important;
}

.modern-upload-shell .solution-accordion-button {
    display: none !important;
}

.modern-upload-shell .accordion-collapse {
    display: block !important;
    height: auto !important;
}

.modern-upload-shell .stage-section-header small {
    display: none !important;
}

.modern-upload-shell .stage-solution-list {
    display: grid !important;
    gap: .5rem !important;
}

.modern-upload-shell .stage-solution-card {
    min-height: 72px !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    align-items: center !important;
    padding: .875rem 1rem !important;
    border: 1px solid #343b4d !important;
    border-radius: .25rem !important;
    background: #20242f !important;
}

.modern-upload-shell .stage-solution-card input {
    position: absolute !important;
    opacity: 0 !important;
}

.modern-upload-shell .extras-option-grid {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .5rem !important;
}

.modern-upload-shell .extra-option-chip {
    min-height: 56px !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    align-items: center !important;
    padding: .75rem 1rem !important;
    border: 1px solid #343b4d !important;
    border-radius: .25rem !important;
    background: #20242f !important;
}

.modern-upload-shell .extra-option-chip input {
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    opacity: 1 !important;
    accent-color: #3299ff !important;
}

.modern-upload-shell .extra-option-chip em {
    display: inline-flex !important;
    justify-self: end !important;
    color: #9fd1ff !important;
    font-style: normal !important;
}

.modern-upload-shell .solution-copy strong,
.modern-upload-shell .extra-option-chip strong,
.modern-upload-shell .stage-section-header strong,
.modern-upload-shell .upload-drop-header span,
.modern-upload-shell .wizard-details-title {
    color: #fff !important;
    font-size: .9375rem !important;
    font-weight: 700 !important;
}

.modern-upload-shell .solution-copy small,
.modern-upload-shell .extra-option-chip small {
    color: #c5cede !important;
    font-size: .75rem !important;
    font-weight: 400 !important;
}

@media (max-width: 1199.98px) {
    .modern-upload-shell .wizard-upload-grid,
    .modern-upload-shell .wizard-stage-layout {
        grid-template-columns: 1fr !important;
    }
}

/* v1.8.20 final screenshot match: Solution and Options */
.modern-upload-shell .stage-section-header {
    display: flex !important;
    align-items: center !important;
    gap: .5rem !important;
    margin: 0 0 1.15rem !important;
}

.modern-upload-shell .stage-section-header strong {
    color: #f7f9ff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 700 !important;
    letter-spacing: 0 !important;
}

.modern-upload-shell .stage-section-header small {
    display: none !important;
}

.modern-upload-shell .stage-solution-list,
.modern-upload-shell .solution-accordion-body {
    display: grid !important;
    gap: .55rem !important;
}

.modern-upload-shell .solution-accordion-item {
    border: 0 !important;
    background: transparent !important;
}

.modern-upload-shell .solution-accordion-button {
    display: none !important;
}

.modern-upload-shell .accordion-collapse {
    display: block !important;
    height: auto !important;
    visibility: visible !important;
}

.modern-upload-shell .stage-solution-card {
    position: relative !important;
    min-height: 90px !important;
    display: grid !important;
    grid-template-columns: 24px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .75rem !important;
    padding: 1.15rem 1.25rem !important;
    border: 1px solid #30384b !important;
    border-radius: .35rem !important;
    background: #1d212c !important;
    box-shadow: none !important;
}

.modern-upload-shell .stage-solution-card:hover,
.modern-upload-shell .stage-solution-card.selected {
    border-color: #3b465d !important;
    background: #202634 !important;
}

.modern-upload-shell .stage-solution-card > input[type="radio"] {
    position: absolute !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.modern-upload-shell .stage-solution-card .solution-indicator {
    width: 24px !important;
    height: 24px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #111620 !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.24) !important;
}

.modern-upload-shell .stage-solution-card.selected .solution-indicator {
    background: #3299ff !important;
    box-shadow: inset 0 0 0 5px #111620, 0 0 0 1px #3299ff !important;
}

.modern-upload-shell .solution-copy {
    min-width: 0 !important;
}

.modern-upload-shell .solution-copy strong {
    display: flex !important;
    align-items: center !important;
    gap: .7rem !important;
    margin: 0 0 .45rem !important;
    color: #f7f9ff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: 1.08rem !important;
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
}

.modern-upload-shell .solution-copy small {
    display: block !important;
    max-width: 920px !important;
    color: #d7def2 !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: .86rem !important;
    font-weight: 400 !important;
    line-height: 1.45 !important;
    letter-spacing: 0 !important;
}

.modern-upload-shell .solution-stage-badge {
    position: relative !important;
    flex: 0 0 auto !important;
    width: 38px !important;
    height: 34px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: .35rem !important;
    background: #3a4255 !important;
    color: #ffffff !important;
    font-size: 1rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

.modern-upload-shell .solution-stage-badge b {
    font: inherit !important;
}

.modern-upload-shell .solution-stage-badge i {
    position: absolute !important;
    top: -10px !important;
    right: -9px !important;
    width: 22px !important;
    height: 22px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    background: #3299ff !important;
    color: #ffffff !important;
    font-size: .78rem !important;
    font-style: normal !important;
    font-weight: 800 !important;
}

.modern-upload-shell .stage-solution-card em {
    display: none !important;
}

.modern-upload-shell .screenshot-options-block {
    margin-top: 2.1rem !important;
}

.modern-upload-shell .screenshot-options-block .section-icon-accent {
    background: #21b6b9 !important;
}

.modern-upload-shell .screenshot-options-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: .72rem 3rem !important;
    padding: 1.75rem 2rem !important;
    border: 1px solid #30384b !important;
    border-radius: .35rem !important;
    background: #151820 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip {
    min-height: 24px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .75rem !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip input[type="checkbox"] {
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    opacity: 1 !important;
    appearance: auto !important;
    accent-color: #3299ff !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip span {
    min-width: 0 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip strong {
    color: #f7f9ff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: .92rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: 0 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip small {
    display: none !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip em {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 20px !important;
    padding: .12rem .45rem !important;
    border-radius: .25rem !important;
    background: #22c6c8 !important;
    color: #ffffff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: .72rem !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

@media (max-width: 767.98px) {
    .modern-upload-shell .screenshot-options-grid {
        grid-template-columns: 1fr !important;
        gap: .75rem !important;
        padding: 1.25rem !important;
    }
}
/* v1.8.20 true-final upload form radius and spacing polish */
.modern-upload-shell .form-control,
.modern-upload-shell .form-select,
.modern-upload-shell input:not([type="radio"]):not([type="checkbox"]):not([type="hidden"]),
.modern-upload-shell select,
.modern-upload-shell textarea {
    min-height: 44px !important;
    padding: .72rem .95rem !important;
    border: 1px solid #344057 !important;
    border-radius: .65rem !important;
    background-color: #121620 !important;
    color: #f6f8ff !important;
    font-family: "Segoe UI", Inter, Roboto, Arial, sans-serif !important;
    font-size: .9rem !important;
    font-weight: 500 !important;
    letter-spacing: 0 !important;
    box-shadow: none !important;
}

.modern-upload-shell textarea.form-control {
    min-height: 118px !important;
    line-height: 1.45 !important;
    resize: vertical !important;
}

.modern-upload-shell .form-control::placeholder,
.modern-upload-shell textarea::placeholder,
.modern-upload-shell input::placeholder {
    color: #8f99ad !important;
    opacity: 1 !important;
}

.modern-upload-shell .form-control:focus,
.modern-upload-shell .form-select:focus,
.modern-upload-shell input:not([type="radio"]):not([type="checkbox"]):focus,
.modern-upload-shell select:focus,
.modern-upload-shell textarea:focus {
    border-color: #3299ff !important;
    background-color: #151b27 !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 .18rem rgba(50, 153, 255, .18) !important;
    outline: 0 !important;
}

.modern-upload-shell input[type="file"].form-control {
    padding: .52rem .75rem !important;
}

.modern-upload-shell input[type="file"].form-control::file-selector-button {
    margin: -.52rem .85rem -.52rem -.75rem !important;
    padding: .72rem .95rem !important;
    border: 0 !important;
    border-right: 1px solid #344057 !important;
    border-radius: .65rem 0 0 .65rem !important;
    background: #1d2636 !important;
    color: #f6f8ff !important;
    font-weight: 700 !important;
}

.modern-upload-shell .wizard-select-row.five-up {
    gap: .65rem !important;
}

.modern-upload-shell .wizard-select-row .form-select {
    min-height: 42px !important;
    padding: .65rem 2.35rem .65rem .95rem !important;
    border-radius: .55rem !important;
}

.modern-upload-shell .manual-vehicle-grid,
.modern-upload-shell .detail-field-stack,
.modern-upload-shell .comments-card {
    gap: .85rem !important;
}

.modern-upload-shell .wizard-choice,
.modern-upload-shell .tool-choice,
.modern-upload-shell .transmission-choice {
    min-height: 58px !important;
    padding: 1rem 1.1rem !important;
    border-radius: .65rem !important;
}

.modern-upload-shell .stage-section-header {
    margin-bottom: 1rem !important;
}

.modern-upload-shell .stage-solution-list,
.modern-upload-shell .solution-accordion-body {
    gap: .55rem !important;
}

.modern-upload-shell .stage-solution-card {
    min-height: 92px !important;
    align-items: start !important;
    gap: .8rem !important;
    padding: 1.28rem 1.35rem !important;
    border-radius: .55rem !important;
}

.modern-upload-shell .stage-solution-card .solution-indicator {
    margin-top: .05rem !important;
}

.modern-upload-shell .solution-copy strong {
    margin-bottom: .55rem !important;
}

.modern-upload-shell .solution-copy small {
    max-width: 980px !important;
    line-height: 1.42 !important;
}

.modern-upload-shell .screenshot-options-block {
    margin-top: 2rem !important;
}

.modern-upload-shell .screenshot-options-grid {
    gap: .9rem 3.4rem !important;
    padding: 1.95rem 2.1rem 1.85rem !important;
    border-radius: .55rem !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip {
    min-height: 26px !important;
    gap: .82rem !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip input[type="checkbox"] {
    width: 19px !important;
    height: 19px !important;
    border-radius: .32rem !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip strong {
    font-size: .94rem !important;
    font-weight: 500 !important;
}

@media (max-width: 767.98px) {
    .modern-upload-shell .stage-solution-card {
        min-height: auto !important;
        padding: 1.1rem !important;
    }

    .modern-upload-shell .screenshot-options-grid {
        gap: .85rem !important;
        padding: 1.35rem !important;
    }
}

/* v1.8.20 true-final compact Solution and Options cleanup */
.modern-upload-shell .stage-solution-list,
.modern-upload-shell .solution-accordion-body {
    gap: .5rem !important;
}

.modern-upload-shell .stage-solution-card {
    min-height: auto !important;
    grid-template-columns: 20px minmax(0, 1fr) !important;
    align-items: start !important;
    gap: .8rem !important;
    padding: 1rem 1.1rem !important;
    border-radius: .55rem !important;
    background: #1b202b !important;
}

.modern-upload-shell .stage-solution-card:hover,
.modern-upload-shell .stage-solution-card.selected {
    border-color: #3c4861 !important;
    background: #202635 !important;
}

.modern-upload-shell .stage-solution-card .solution-indicator {
    width: 18px !important;
    height: 18px !important;
    margin-top: .12rem !important;
    background: #0d121c !important;
    box-shadow: inset 0 0 0 1px #111827 !important;
}

.modern-upload-shell .stage-solution-card.selected .solution-indicator {
    background: #3299ff !important;
    box-shadow: inset 0 0 0 4px #0d121c, 0 0 0 1px #3299ff !important;
}

.modern-upload-shell .solution-copy strong {
    gap: .5rem !important;
    margin: 0 0 .38rem !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
}

.modern-upload-shell .solution-copy small {
    max-width: 850px !important;
    color: #bfc8dc !important;
    font-size: .8rem !important;
    line-height: 1.38 !important;
}

.modern-upload-shell .solution-stage-badge {
    width: 28px !important;
    height: 26px !important;
    border-radius: .35rem !important;
    font-size: .82rem !important;
}

.modern-upload-shell .solution-stage-badge i {
    top: -7px !important;
    right: -7px !important;
    width: 17px !important;
    height: 17px !important;
    font-size: .62rem !important;
}

.modern-upload-shell .stage-solution-card em {
    display: none !important;
}

.modern-upload-shell .screenshot-options-block {
    margin-top: 1.65rem !important;
}

.modern-upload-shell .screenshot-options-grid {
    grid-template-columns: repeat(2, minmax(245px, 1fr)) !important;
    gap: .75rem 2rem !important;
    padding: 1.25rem 1.45rem !important;
    border-radius: .55rem !important;
    background: #151920 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip {
    min-height: 34px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: .7rem !important;
    padding: .12rem 0 !important;
    text-align: left !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip::before,
.modern-upload-shell .screenshot-options-grid .extra-option-chip::after,
.modern-upload-shell .extra-option-chip::before,
.modern-upload-shell .extra-option-chip::after {
    display: none !important;
    content: none !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip input[type="checkbox"] {
    position: static !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    appearance: none !important;
    border: 1px solid #60708d !important;
    border-radius: .25rem !important;
    background: #111722 !important;
    opacity: 1 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip input[type="checkbox"]:checked {
    border-color: #22c6c8 !important;
    background: #22c6c8 !important;
    box-shadow: inset 0 0 0 4px #111722 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip span {
    display: block !important;
    min-width: 0 !important;
    text-align: left !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip strong {
    display: block !important;
    margin: 0 !important;
    color: #f7f9ff !important;
    font-size: .92rem !important;
    font-weight: 650 !important;
    line-height: 1.25 !important;
    text-align: left !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip em {
    justify-self: end !important;
    min-width: max-content !important;
    margin: 0 !important;
    padding: .2rem .48rem !important;
    border-radius: .32rem !important;
    background: #22c6c8 !important;
    color: #ffffff !important;
    font-size: .72rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

@media (max-width: 767.98px) {
    .modern-upload-shell .screenshot-options-grid {
        grid-template-columns: 1fr !important;
        padding: 1rem !important;
    }

    .modern-upload-shell .stage-solution-card {
        padding: .95rem 1rem !important;
    }
}

/* v1.8.20 true-final long-row solutions and clearer extras prices */
.modern-upload-shell .stage-solution-list,
.modern-upload-shell .stage-solution-list.grouped,
.modern-upload-shell .solution-accordion-body {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: .5rem !important;
}

.modern-upload-shell .stage-solution-card {
    width: 100% !important;
    min-height: 58px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .85rem !important;
    padding: .82rem 1rem !important;
    border-radius: .55rem !important;
    background: #1b202b !important;
}

.modern-upload-shell .stage-solution-card .solution-indicator {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
}

.modern-upload-shell .solution-copy {
    display: grid !important;
    grid-template-columns: minmax(150px, 230px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: .9rem !important;
}

.modern-upload-shell .solution-copy strong {
    display: inline-flex !important;
    align-items: center !important;
    gap: .45rem !important;
    margin: 0 !important;
    min-width: 0 !important;
    color: #f8fbff !important;
    font-size: .96rem !important;
    font-weight: 750 !important;
    line-height: 1.2 !important;
}

.modern-upload-shell .solution-copy small {
    min-width: 0 !important;
    max-width: none !important;
    color: #aeb9cf !important;
    font-size: .78rem !important;
    line-height: 1.32 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.modern-upload-shell .solution-stage-badge {
    width: 24px !important;
    height: 22px !important;
    border-radius: .32rem !important;
    font-size: .74rem !important;
}

.modern-upload-shell .solution-stage-badge i {
    top: -7px !important;
    right: -7px !important;
    width: 16px !important;
    height: 16px !important;
    font-size: .58rem !important;
}

.modern-upload-shell .screenshot-options-grid {
    grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
    gap: .8rem 2.15rem !important;
    padding: 1.35rem 1.5rem !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip {
    min-height: 38px !important;
    grid-template-columns: 18px minmax(0, 1fr) minmax(58px, auto) !important;
    gap: .78rem !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip strong {
    font-size: .93rem !important;
    font-weight: 650 !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip em,
.modern-upload-shell .screenshot-options-grid .extra-option-chip .price-tag {
    min-width: 58px !important;
    min-height: 24px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    justify-self: end !important;
    padding: .24rem .55rem !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: .42rem !important;
    background: #21c6c9 !important;
    color: #071018 !important;
    box-shadow: 0 6px 14px rgba(33, 198, 201, .16) !important;
    font-size: .8rem !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    text-align: center !important;
}

.modern-upload-shell .screenshot-options-grid .extra-option-chip .quote-tag {
    min-width: 104px !important;
    background: #2c3444 !important;
    color: #dbe5f7 !important;
    box-shadow: none !important;
    font-size: .72rem !important;
}

@media (max-width: 991.98px) {
    .modern-upload-shell .solution-copy {
        grid-template-columns: 1fr !important;
        gap: .35rem !important;
    }

    .modern-upload-shell .solution-copy small {
        white-space: normal !important;
    }
}

@media (max-width: 767.98px) {
    .modern-upload-shell .screenshot-options-grid {
        grid-template-columns: 1fr !important;
        padding: 1.1rem !important;
    }
}

/* v1.8.20 true-final upload removed helper panels */
.portal-sidebar .hello-context,
.modern-upload-shell .plate-lookup-visual,
.modern-upload-shell .upload-helper-strip,
.modern-upload-shell .supporting-files-field {
    display: none !important;
}

.modern-upload-shell .wizard-plate-card {
    padding: 1rem !important;
    margin-bottom: 1.15rem !important;
}

.modern-upload-shell .upload-drop-card {
    padding-bottom: 1rem !important;
}

/* v1.8.21 upload width and DTC-only notes polish */
.portal-layout-customer .content-wrap {
    width: min(100%, 1480px) !important;
}

.modern-upload-shell {
    width: min(100%, 1240px) !important;
    max-width: 1240px !important;
    margin-inline: auto !important;
}

.modern-upload-shell .wizard-upload-grid {
    grid-template-columns: minmax(0, 1fr) minmax(380px, 470px) !important;
}

.modern-upload-shell .dtc-codes-card {
    border-color: rgba(255, 192, 73, .28) !important;
    background: linear-gradient(180deg, rgba(49, 39, 21, .62), rgba(25, 23, 22, .72)) !important;
}

.modern-upload-shell .dtc-codes-card[hidden] {
    display: none !important;
}

.modern-upload-shell .dtc-codes-card.is-visible {
    display: grid !important;
    animation: ivtDtcCodesIn .24s ease-out both;
}

.modern-upload-shell .dtc-codes-card textarea.form-control {
    min-height: 152px !important;
    border-color: rgba(255, 192, 73, .35) !important;
}

.modern-upload-shell .dtc-codes-card .stage-section-header strong {
    color: #ffe3a3 !important;
}

@keyframes ivtDtcCodesIn {
    from { opacity: 0; transform: translateY(8px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 1199.98px) {
    .modern-upload-shell .wizard-upload-grid {
        grid-template-columns: 1fr !important;
    }
}

/* v1.8.22 DTC slim field and global upload message box */
.modern-upload-shell .dtc-codes-card {
    gap: .8rem !important;
    padding: 1rem !important;
}

.modern-upload-shell .dtc-codes-card .stage-section-header {
    margin-bottom: 0 !important;
}

.modern-upload-shell .dtc-codes-slim-input,
.modern-upload-shell .dtc-codes-card input[name="custom_service"] {
    min-height: 46px !important;
    height: 46px !important;
    border-color: rgba(255, 192, 73, .42) !important;
    background: rgba(9, 14, 25, .82) !important;
    color: var(--ivt-text) !important;
    font-weight: 800 !important;
}

.modern-upload-shell .dtc-codes-slim-input::placeholder,
.modern-upload-shell .dtc-codes-card input[name="custom_service"]::placeholder {
    color: rgba(255, 227, 163, .72) !important;
}

.modern-upload-shell .upload-message-card {
    margin-top: 1rem !important;
    border-color: rgba(70, 163, 255, .22) !important;
    background: linear-gradient(180deg, rgba(16, 23, 36, .82), rgba(12, 18, 30, .76)) !important;
}

.modern-upload-shell .upload-message-card textarea.form-control {
    min-height: 138px !important;
    resize: vertical !important;
}

html[data-theme="light"] .modern-upload-shell .dtc-codes-slim-input,
html[data-theme="light"] .modern-upload-shell .dtc-codes-card input[name="custom_service"] {
    background: #fffaf0 !important;
    color: #101828 !important;
}

html[data-theme="light"] .modern-upload-shell .upload-message-card {
    background: #ffffff !important;
}

.modern-upload-shell .dtc-codes-card input[name="custom_service"] {
    display: block !important;
    width: 100% !important;
}


/* v1.8.23 DTC helper search integration */
.modern-upload-shell .dtc-codes-card .dtc-code-input {
    letter-spacing: .02em !important;
}

.modern-upload-shell .dtc-codes-card [data-dtc-code-input] {
    scroll-margin-top: 120px !important;
}

.modern-upload-shell .dtc-codes-card .dtc-helper,
.modern-upload-shell .dtc-codes-card .dtc-helper-panel,
.modern-upload-shell .dtc-codes-card .dtc-helper-results,
.modern-upload-shell .dtc-codes-card .dtc-search-results,
.modern-upload-shell .dtc-codes-card .dtc-code-results {
    width: 100% !important;
    max-width: 100% !important;
    margin-top: .55rem !important;
    border-radius: 16px !important;
    border: 1px solid rgba(255, 192, 73, .25) !important;
    background: rgba(9, 14, 25, .96) !important;
    color: var(--ivt-text) !important;
    overflow: hidden !important;
    z-index: 40 !important;
}

html[data-theme="light"] .modern-upload-shell .dtc-codes-card .dtc-helper,
html[data-theme="light"] .modern-upload-shell .dtc-codes-card .dtc-helper-panel,
html[data-theme="light"] .modern-upload-shell .dtc-codes-card .dtc-helper-results,
html[data-theme="light"] .modern-upload-shell .dtc-codes-card .dtc-search-results,
html[data-theme="light"] .modern-upload-shell .dtc-codes-card .dtc-code-results {
    background: #ffffff !important;
    color: #101828 !important;
}

/* v1.8.24 DTC code locking and neutral upload note panels */
.modern-upload-shell .dtc-codes-card,
.modern-upload-shell .upload-message-card {
    background: rgba(12, 18, 30, .58) !important;
    border-color: rgba(148, 163, 184, .22) !important;
    box-shadow: none !important;
}

.modern-upload-shell .dtc-codes-card .stage-section-header strong,
.modern-upload-shell .upload-message-card .stage-section-header strong {
    color: var(--ivt-text) !important;
}

.modern-upload-shell .dtc-codes-slim-input,
.modern-upload-shell .dtc-codes-card input.dtc-code-input {
    border-color: rgba(148, 163, 184, .32) !important;
    background: rgba(8, 13, 24, .86) !important;
    color: var(--ivt-text) !important;
}

.modern-upload-shell .dtc-codes-slim-input::placeholder,
.modern-upload-shell .dtc-codes-card input.dtc-code-input::placeholder {
    color: rgba(203, 213, 225, .68) !important;
}

.modern-upload-shell .dtc-code-locker {
    gap: .62rem !important;
}

.modern-upload-shell .dtc-code-entry-row {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    gap: .6rem !important;
    align-items: center !important;
}

.modern-upload-shell .dtc-code-add-btn {
    min-height: 46px !important;
    border-radius: 14px !important;
    padding-inline: 1rem !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

.modern-upload-shell .dtc-code-chip-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: .5rem !important;
    min-height: 0 !important;
}

.modern-upload-shell .dtc-code-chip-list.is-empty {
    display: none !important;
}

.modern-upload-shell .dtc-code-chip {
    display: inline-flex !important;
    align-items: center !important;
    gap: .45rem !important;
    border-radius: 999px !important;
    padding: .42rem .42rem .42rem .72rem !important;
    background: rgba(45, 212, 191, .14) !important;
    border: 1px solid rgba(45, 212, 191, .28) !important;
    color: #d8fffb !important;
    font-weight: 800 !important;
    font-size: .9rem !important;
    line-height: 1 !important;
}

.modern-upload-shell .dtc-code-chip-remove {
    width: 1.35rem !important;
    height: 1.35rem !important;
    border: 0 !important;
    border-radius: 999px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: rgba(15, 23, 42, .72) !important;
    color: #ffffff !important;
    font-weight: 900 !important;
    cursor: pointer !important;
    line-height: 1 !important;
    padding: 0 !important;
}

.modern-upload-shell .dtc-code-helper-text {
    color: rgba(203, 213, 225, .72) !important;
    font-weight: 650 !important;
    line-height: 1.4 !important;
}

html[data-theme="light"] .modern-upload-shell .dtc-codes-card,
html[data-theme="light"] .modern-upload-shell .upload-message-card {
    background: #ffffff !important;
    border-color: rgba(15, 23, 42, .1) !important;
}

html[data-theme="light"] .modern-upload-shell .dtc-codes-slim-input,
html[data-theme="light"] .modern-upload-shell .dtc-codes-card input.dtc-code-input {
    background: #ffffff !important;
    color: #101828 !important;
    border-color: rgba(15, 23, 42, .18) !important;
}

html[data-theme="light"] .modern-upload-shell .dtc-code-chip {
    background: rgba(13, 148, 136, .12) !important;
    border-color: rgba(13, 148, 136, .28) !important;
    color: #0f766e !important;
}

html[data-theme="light"] .modern-upload-shell .dtc-code-chip-remove {
    background: rgba(15, 23, 42, .1) !important;
    color: #0f172a !important;
}

html[data-theme="light"] .modern-upload-shell .dtc-code-helper-text {
    color: rgba(71, 85, 105, .82) !important;
}

@media (max-width: 575.98px) {
    .modern-upload-shell .dtc-code-entry-row {
        grid-template-columns: 1fr !important;
    }

    .modern-upload-shell .dtc-code-add-btn {
        width: 100% !important;
    }
}


/* v1.8.25 DTC chips-only cleanup and upload note padding polish */
.modern-upload-shell .dtc-codes-card,
.modern-upload-shell .upload-message-card {
    padding: 1rem 1.05rem !important;
    overflow: hidden !important;
}

.modern-upload-shell .dtc-codes-card .stage-section-header,
.modern-upload-shell .upload-message-card .stage-section-header {
    display: flex !important;
    align-items: flex-start !important;
    gap: .75rem !important;
    margin: 0 0 .85rem !important;
    padding: 0 !important;
}

.modern-upload-shell .dtc-codes-card .section-icon,
.modern-upload-shell .upload-message-card .section-icon {
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin-top: .12rem !important;
    transform: none !important;
}

.modern-upload-shell .upload-message-card textarea.form-control {
    width: 100% !important;
    box-sizing: border-box !important;
}

.modern-upload-shell [data-ivt-dtc-hidden-long-result] {
    display: none !important;
}

.modern-upload-shell .dtc-code-chip {
    max-width: 100% !important;
    letter-spacing: .02em !important;
}

.modern-upload-shell .dtc-code-chip-list:not(.is-empty) {
    margin-top: .15rem !important;
}


/* v1.8.26 Raleway global font and DTC chip stability */
:root {
    --bs-font-sans-serif: "IVT Raleway", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body,
button,
input,
select,
textarea,
.form-control,
.btn,
.dropdown-menu,
.modal,
.portal-body {
    font-family: "IVT Raleway", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

.modern-upload-shell .dtc-code-locker {
    position: relative !important;
}

.modern-upload-shell .dtc-code-chip-list {
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    gap: .5rem !important;
    width: 100% !important;
    margin-top: .35rem !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.modern-upload-shell .dtc-code-chip-list.is-empty {
    display: none !important;
}

.modern-upload-shell .dtc-code-chip {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: .45rem !important;
    width: auto !important;
    max-width: 100% !important;
    min-height: 2rem !important;
    padding: .45rem .45rem .45rem .8rem !important;
    border-radius: 999px !important;
    background: rgba(45, 212, 191, .16) !important;
    border: 1px solid rgba(45, 212, 191, .34) !important;
    color: #e6fffb !important;
    box-shadow: none !important;
    font-weight: 850 !important;
    font-size: .92rem !important;
    line-height: 1 !important;
    white-space: nowrap !important;
}

.modern-upload-shell .dtc-code-chip-label {
    display: inline-flex !important;
    align-items: center !important;
    color: inherit !important;
    line-height: 1 !important;
}

.modern-upload-shell .dtc-code-chip-remove {
    flex: 0 0 1.35rem !important;
    width: 1.35rem !important;
    height: 1.35rem !important;
}

.modern-upload-shell [data-ivt-dtc-hidden-long-result],
.modern-upload-shell .ivt-dtc-hidden-long-result {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

.modern-upload-shell .dtc-codes-card .dtc-code-entry-row {
    overflow: visible !important;
}

.modern-upload-shell .upload-message-card .stage-section-header,
.modern-upload-shell .dtc-codes-card .stage-section-header {
    align-items: center !important;
}

.modern-upload-shell .upload-message-card .section-icon,
.modern-upload-shell .dtc-codes-card .section-icon {
    margin-top: 0 !important;
    box-shadow: none !important;
}

html[data-theme="light"] .modern-upload-shell .dtc-code-chip {
    background: rgba(13, 148, 136, .12) !important;
    border-color: rgba(13, 148, 136, .30) !important;
    color: #0f766e !important;
}


/* v1.8.28 DTC helper strip hardening */
.modern-upload-shell .dtc-code-entry-row > [data-ivt-dtc-hidden-long-result],
.modern-upload-shell .dtc-code-entry-row > .ivt-dtc-hidden-long-result {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}
.modern-upload-shell .dtc-code-entry-row .dtc-codes-slim-input {
    min-width: min(100%, 22rem) !important;
}
.modern-upload-shell .dtc-code-chip-list:not(.is-empty) {
    padding-top: .15rem !important;
}


/* v1.8.29 DTC add-button behaviour, larger branding and upload box polish */
.sidebar-logo img,
.portal-layout-customer .sidebar-logo img {
    width: 172px !important;
    max-width: 100% !important;
    max-height: 72px !important;
}

.modern-upload-shell .upload-dropzone {
    min-height: 500px !important;
    padding: 2.35rem !important;
}

.modern-upload-shell .upload-drop-icon {
    width: 66px !important;
    height: 66px !important;
}

.modern-upload-shell .upload-drop-icon svg {
    width: 42px !important;
    height: 42px !important;
}

.modern-upload-shell .upload-drop-copy strong,
.modern-upload-shell .upload-dropzone strong {
    font-size: 1.05rem !important;
}

.modern-upload-shell .upload-drop-copy small,
.modern-upload-shell .upload-dropzone small {
    font-size: .92rem !important;
    line-height: 1.55 !important;
    color: #bac6d9 !important;
}

.modern-upload-shell .dtc-code-entry-row > [data-ivt-dtc-hidden-long-result],
.modern-upload-shell .dtc-code-entry-row > .ivt-dtc-hidden-long-result,
.modern-upload-shell [data-ivt-dtc-hidden-long-result],
.modern-upload-shell .ivt-dtc-hidden-long-result {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    max-width: 0 !important;
    min-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

.modern-upload-shell .dtc-code-chip-list:not(.is-empty) {
    margin-top: .35rem !important;
}

@media (max-width: 991.98px) {
    .modern-upload-shell .upload-dropzone {
        min-height: 360px !important;
        padding: 1.65rem !important;
    }
}

@media (max-width: 575.98px) {
    .sidebar-logo img,
    .portal-layout-customer .sidebar-logo img {
        width: 148px !important;
    }
    .modern-upload-shell .upload-dropzone {
        min-height: 280px !important;
    }
}


/* v1.8.30 DTC staged description and chip hover/focus tooltips */
.modern-upload-shell .dtc-code-staged-description {
    display: block !important;
    width: 100% !important;
    margin-top: .45rem !important;
    padding: .6rem .75rem !important;
    border-radius: 12px !important;
    border: 1px solid rgba(45, 212, 191, .24) !important;
    background: rgba(45, 212, 191, .08) !important;
    color: #c7fff8 !important;
    font-size: .88rem !important;
    line-height: 1.45 !important;
    font-weight: 700 !important;
}
.modern-upload-shell .dtc-code-staged-description[hidden] {
    display: none !important;
}
.modern-upload-shell .dtc-code-chip {
    position: relative !important;
    overflow: visible !important;
}
.modern-upload-shell .dtc-code-chip-description {
    position: absolute !important;
    left: 0 !important;
    top: calc(100% + .45rem) !important;
    z-index: 30 !important;
    display: none !important;
    width: max-content !important;
    max-width: min(420px, 86vw) !important;
    padding: .62rem .75rem !important;
    border-radius: 12px !important;
    border: 1px solid rgba(45, 212, 191, .24) !important;
    background: #0b1321 !important;
    color: #eef6ff !important;
    box-shadow: 0 16px 38px rgba(0, 0, 0, .34) !important;
    white-space: normal !important;
    line-height: 1.45 !important;
    font-size: .84rem !important;
    font-weight: 700 !important;
    text-align: left !important;
}
.modern-upload-shell .dtc-code-chip:hover .dtc-code-chip-description,
.modern-upload-shell .dtc-code-chip:focus .dtc-code-chip-description,
.modern-upload-shell .dtc-code-chip:focus-within .dtc-code-chip-description {
    display: block !important;
}
html[data-theme="light"] .modern-upload-shell .dtc-code-staged-description {
    background: rgba(13, 148, 136, .08) !important;
    border-color: rgba(13, 148, 136, .22) !important;
    color: #115e59 !important;
}
html[data-theme="light"] .modern-upload-shell .dtc-code-chip-description {
    background: #ffffff !important;
    color: #172033 !important;
    border-color: rgba(15, 23, 42, .14) !important;
}


/* v1.8.31 DTC LTR input stability */
.modern-upload-shell .dtc-codes-card input.dtc-code-input,
.modern-upload-shell .dtc-codes-slim-input {
    direction: ltr !important;
    unicode-bidi: plaintext !important;
    text-align: left !important;
    text-transform: uppercase !important;
    letter-spacing: .02em !important;
}

.modern-upload-shell .dtc-code-staged-description,
.modern-upload-shell .dtc-code-chip,
.modern-upload-shell .dtc-code-chip-description {
    direction: ltr !important;
    unicode-bidi: plaintext !important;
    text-align: left !important;
}


/* v1.8.32 DTC helper accuracy guard: hide helper rows that do not match the typed code and keep the portal-owned preview/chips visible. */
.modern-upload-shell [data-ivt-dtc-hidden-long-result],
.modern-upload-shell .ivt-dtc-hidden-long-result,
.modern-upload-shell [data-ivt-dtc-hidden-mismatch],
.modern-upload-shell .ivt-dtc-hidden-mismatch {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}
.modern-upload-shell .dtc-code-entry-row {
    align-items: stretch !important;
}
.modern-upload-shell .dtc-code-staged-description {
    max-width: 100% !important;
}


/* v1.8.34 DTC preview cleanup: only keep the inline right-side description preview; hide helper rows below the input. */
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row {
    display: grid !important;
    grid-template-columns: minmax(14rem, 1fr) minmax(14rem, .86fr) auto !important;
    gap: .6rem !important;
    align-items: stretch !important;
}

.modern-upload-shell .dtc-codes-card .dtc-code-entry-row .dtc-code-staged-description {
    display: flex !important;
    align-items: center !important;
    min-height: 46px !important;
    height: 100% !important;
    width: 100% !important;
    margin: 0 !important;
    padding: .52rem .68rem !important;
    overflow: hidden !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}

.modern-upload-shell .dtc-codes-card .dtc-code-entry-row .dtc-code-staged-description[hidden] {
    display: none !important;
}

.modern-upload-shell .dtc-code-locker > [data-ivt-dtc-hidden-long-result],
.modern-upload-shell .dtc-code-locker > .ivt-dtc-hidden-long-result,
.modern-upload-shell .dtc-code-locker [data-ivt-dtc-hidden-long-result],
.modern-upload-shell .dtc-code-locker .ivt-dtc-hidden-long-result {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    max-height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

@media (max-width: 991.98px) {
    .modern-upload-shell .dtc-codes-card .dtc-code-entry-row {
        grid-template-columns: 1fr auto !important;
    }
    .modern-upload-shell .dtc-codes-card .dtc-code-entry-row .dtc-code-staged-description {
        grid-column: 1 / -1 !important;
        white-space: normal !important;
        height: auto !important;
    }
}

@media (max-width: 575.98px) {
    .modern-upload-shell .dtc-codes-card .dtc-code-entry-row {
        grid-template-columns: 1fr !important;
    }
}


/* v1.8.36 DTC helper dropdown removal and GMT+1 header clock polish */
.modern-upload-shell .dtc-codes-card .dtc-code-locker > :not(.dtc-code-entry-row):not([data-dtc-code-chip-list]):not(.dtc-code-chip-list):not(.dtc-code-helper-text):not(input[type="hidden"]),
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row > :not(.dtc-codes-slim-input):not(.dtc-code-input):not([data-dtc-codes-input]):not([data-dtc-code-staged-description]):not([data-dtc-code-add]):not(.dtc-code-add-btn),
.modern-upload-shell .dtc-codes-card .dtc-helper,
.modern-upload-shell .dtc-codes-card .dtc-helper-panel,
.modern-upload-shell .dtc-codes-card .dtc-helper-results,
.modern-upload-shell .dtc-codes-card .dtc-search-results,
.modern-upload-shell .dtc-codes-card .dtc-code-results,
.modern-upload-shell .dtc-codes-card [class*="dtc"][class*="result"]:not([data-dtc-code-staged-description]):not([data-dtc-code-chip-list]):not(.dtc-code-chip):not(.dtc-code-chip *),
.modern-upload-shell .dtc-codes-card [class*="dtc"][class*="suggest"]:not([data-dtc-code-staged-description]):not([data-dtc-code-chip-list]):not(.dtc-code-chip):not(.dtc-code-chip *) {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}

.modern-upload-shell .dtc-codes-card .dtc-code-entry-row .dtc-codes-slim-input,
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row [data-dtc-code-staged-description],
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row [data-dtc-code-add] {
    display: flex !important;
}

.modern-upload-shell .dtc-codes-card .dtc-code-entry-row input.dtc-codes-slim-input {
    display: block !important;
}

.status-gmt-clock {
    white-space: nowrap !important;
}
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row [data-dtc-code-staged-description][hidden] {
    display: none !important;
}


/* v1.8.37 DTC no-flicker, cleaner upload balance and frontend-style admin polish */
body.portal-body,
.portal-layout-admin,
.portal-layout-customer {
    font-family: "IVT Raleway", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}

/* DTC helper output should never render below the input. Keep only the portal-owned right-side preview. */
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row {
    grid-template-columns: minmax(16rem, 1fr) minmax(12rem, .58fr) auto !important;
    min-height: 50px !important;
    max-height: 50px !important;
    overflow: hidden !important;
    isolation: isolate !important;
}
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row > * {
    min-height: 46px !important;
}
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row .dtc-code-staged-description {
    min-height: 46px !important;
    max-height: 46px !important;
    align-items: center !important;
    border-radius: 12px !important;
    font-size: .83rem !important;
    white-space: nowrap !important;
    text-overflow: ellipsis !important;
}
.modern-upload-shell .dtc-codes-card .dtc-code-locker > :not(input[type="hidden"]):not(.dtc-code-entry-row):not([data-dtc-code-chip-list]):not(.dtc-code-chip-list):not(.dtc-code-helper-text),
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row > :not(input.dtc-code-input):not(.dtc-codes-slim-input):not([data-dtc-codes-input]):not([data-dtc-code-staged-description]):not([data-dtc-code-add]):not(.dtc-code-add-btn),
body > [class*="dtc"][class*="result"],
body > [class*="dtc"][class*="suggest"],
body > [class*="fault"][class*="result"],
body > [class*="fault"][class*="suggest"] {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    width: 0 !important;
    min-width: 0 !important;
    max-width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
}
.modern-upload-shell .dtc-code-chip-description {
    font-size: .8rem !important;
    max-width: min(360px, 84vw) !important;
}

/* Fix clipped solution/option controls and make long labels breathe. */
.modern-upload-shell .solution-accordion,
.modern-upload-shell .solution-accordion-body,
.modern-upload-shell .stage-solution-list,
.modern-upload-shell .stage-solution-list.grouped,
.modern-upload-shell .screenshot-options-grid {
    overflow: visible !important;
}
.modern-upload-shell .solution-accordion-body {
    padding: .18rem .35rem .35rem !important;
}
.modern-upload-shell .stage-solution-list,
.modern-upload-shell .stage-solution-list.grouped {
    padding-inline: .18rem !important;
}
.modern-upload-shell .stage-solution-card {
    width: calc(100% - .25rem) !important;
    margin-inline: .125rem !important;
    padding-left: 1.18rem !important;
    padding-right: 1.18rem !important;
    border-radius: .62rem !important;
    overflow: visible !important;
}
.modern-upload-shell .stage-solution-card .solution-indicator,
.modern-upload-shell .screenshot-options-grid .extra-option-chip input[type="checkbox"] {
    flex: 0 0 auto !important;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.32) !important;
}
.modern-upload-shell .solution-copy,
.modern-upload-shell .screenshot-options-grid .extra-option-chip span {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}

/* Upload/file-details balance: slimmer upload dropzone, wider details panel. */
.modern-upload-shell .wizard-upload-grid {
    grid-template-columns: minmax(280px, .84fr) minmax(470px, 1.16fr) !important;
    gap: 1.35rem !important;
}
.modern-upload-shell .upload-dropzone {
    min-height: 430px !important;
    padding: 2rem 1.65rem !important;
}
.modern-upload-shell .wizard-details-card {
    min-width: 0 !important;
}

/* Admin: align backend with the cleaner front-end surface language. */
.portal-layout-admin .topbar {
    min-height: 72px !important;
    padding: 12px 24px !important;
    background: #0b0c14 !important;
    border-bottom: 1px solid rgba(255,255,255,.06) !important;
    backdrop-filter: none !important;
}
.portal-layout-admin .content-wrap {
    background: radial-gradient(circle at top left, rgba(50, 153, 255, .06), transparent 34%), #080d17 !important;
}
.portal-layout-admin .portal-card,
.portal-layout-admin .queue-panel,
.portal-layout-admin .side-panel,
.portal-layout-admin .admin-pro-card,
.portal-layout-admin .admin-job-hero,
.portal-layout-admin .admin-quick-panel,
.portal-layout-admin .upload-completed-panel,
.portal-layout-admin .admin-action-tile {
    border: 1px solid rgba(148, 163, 184, .18) !important;
    border-radius: 12px !important;
    background: #1f2430 !important;
    box-shadow: none !important;
    color: var(--ivt-text) !important;
}
.portal-layout-admin .admin-action-tile {
    min-height: 132px !important;
    padding: 20px !important;
}
.portal-layout-admin .admin-queue-table tbody tr:hover,
.portal-layout-admin .files-table tbody tr:hover {
    background: rgba(50, 153, 255, .08) !important;
}
.portal-layout-admin .nav-entry small {
    display: none !important;
}
.portal-layout-admin .nav-entry,
.portal-layout-admin .enterprise-nav a.nav-entry {
    min-height: 54px !important;
}
.portal-layout-admin .nav-label,
.portal-layout-admin .nav-entry .nav-label {
    font-size: 12.9px !important;
    font-weight: 650 !important;
}
.nav-section,
.portal-layout-admin .nav-section,
.portal-layout-customer .nav-section {
    font-size: 13px !important;
    font-weight: 900 !important;
    letter-spacing: .105em !important;
}
.nav-entry .nav-label,
.nav-label {
    font-size: 12.8px !important;
    font-weight: 650 !important;
}

html[data-theme="light"] .portal-layout-admin .topbar,
html[data-theme="light"] .portal-layout-admin .portal-card,
html[data-theme="light"] .portal-layout-admin .queue-panel,
html[data-theme="light"] .portal-layout-admin .side-panel,
html[data-theme="light"] .portal-layout-admin .admin-pro-card,
html[data-theme="light"] .portal-layout-admin .admin-job-hero,
html[data-theme="light"] .portal-layout-admin .admin-quick-panel,
html[data-theme="light"] .portal-layout-admin .upload-completed-panel,
html[data-theme="light"] .portal-layout-admin .admin-action-tile {
    background: #ffffff !important;
    color: #0f172a !important;
    border-color: rgba(15, 23, 42, .12) !important;
}
html[data-theme="light"] .portal-layout-admin .content-wrap {
    background: #f3f6fb !important;
}

@media (max-width: 1199.98px) {
    .modern-upload-shell .wizard-upload-grid {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 991.98px) {
    .modern-upload-shell .dtc-codes-card .dtc-code-entry-row {
        grid-template-columns: 1fr auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
    .modern-upload-shell .dtc-codes-card .dtc-code-entry-row .dtc-code-staged-description {
        grid-column: 1 / -1 !important;
        max-height: 48px !important;
    }
}

/* v1.8.38 upload split and DTC Add code button polish */
@media (min-width: 992px) {
    .modern-upload-shell .wizard-upload-grid {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
        align-items: stretch !important;
        gap: 1.4rem !important;
    }
    .modern-upload-shell .upload-drop-card,
    .modern-upload-shell .wizard-details-card {
        width: 100% !important;
        min-width: 0 !important;
    }
}

.modern-upload-shell .dtc-codes-card .dtc-code-entry-row {
    grid-template-columns: minmax(12rem, 1fr) minmax(10rem, .55fr) max-content !important;
    align-items: center !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    gap: .55rem !important;
}

.modern-upload-shell .dtc-codes-card .dtc-code-entry-row > * {
    min-height: 0 !important;
}

.modern-upload-shell .dtc-codes-card .dtc-code-entry-row input.dtc-codes-slim-input,
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row .dtc-code-staged-description {
    min-height: 42px !important;
    height: 42px !important;
    max-height: 42px !important;
}

.modern-upload-shell .dtc-codes-card .dtc-code-entry-row .dtc-code-staged-description {
    padding: .44rem .62rem !important;
    font-size: .8rem !important;
    line-height: 1.25 !important;
}

.modern-upload-shell .dtc-code-add-btn,
.modern-upload-shell .dtc-codes-card .dtc-code-entry-row [data-dtc-code-add] {
    width: auto !important;
    min-width: 86px !important;
    max-width: 112px !important;
    height: 40px !important;
    min-height: 40px !important;
    max-height: 40px !important;
    align-self: center !important;
    justify-self: end !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: .42rem .76rem !important;
    border-radius: 12px !important;
    font-size: .82rem !important;
    line-height: 1 !important;
    font-weight: 750 !important;
    white-space: nowrap !important;
}

@media (max-width: 991.98px) {
    .modern-upload-shell .wizard-upload-grid {
        grid-template-columns: 1fr !important;
    }
    .modern-upload-shell .dtc-codes-card .dtc-code-entry-row {
        grid-template-columns: 1fr max-content !important;
        max-height: none !important;
    }
    .modern-upload-shell .dtc-codes-card .dtc-code-entry-row .dtc-code-staged-description {
        grid-column: 1 / -1 !important;
        width: 100% !important;
    }
}

@media (max-width: 575.98px) {
    .modern-upload-shell .dtc-codes-card .dtc-code-entry-row {
        grid-template-columns: 1fr !important;
    }
    .modern-upload-shell .dtc-code-add-btn,
    .modern-upload-shell .dtc-codes-card .dtc-code-entry-row [data-dtc-code-add] {
        justify-self: start !important;
        max-width: 112px !important;
    }
}


/* v1.8.39 file viewer details, extras and notes spacing polish */
.support-job-shell {
    grid-template-columns: minmax(0, 742px) minmax(430px, 522px) !important;
    gap: 24px !important;
    align-items: start !important;
}
.support-workspace-card { grid-column: 1 !important; grid-row: 1 !important; }
.support-summary-card { grid-column: 2 !important; grid-row: 1 / span 2 !important; }
.support-timeline-panel {
    grid-column: 1 !important;
    grid-row: 2 !important;
    padding-top: 14px !important;
    margin-top: 0 !important;
}
.file-viewer-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 12px 20px;
    margin: 14px 0 14px;
}
.file-viewer-detail-column {
    display: grid;
    gap: 8px;
    min-width: 0;
}
.file-viewer-detail-column p {
    display: grid;
    grid-template-columns: minmax(90px, .75fr) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 42px;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, .12);
    border-radius: 10px;
    background: rgba(9, 12, 20, .28);
}
.file-viewer-detail-column span,
.file-viewer-file-meta span {
    color: #aeb8c8 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}
.file-viewer-detail-column strong,
.file-viewer-detail-column mark {
    min-width: 0;
    overflow-wrap: anywhere;
    color: #f4f7fb !important;
    font-size: 13px !important;
    font-weight: 800 !important;
}
.file-viewer-detail-column mark {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 4px 9px !important;
    border-radius: 8px !important;
    background: #8a6500 !important;
    color: #ffe08a !important;
}
.file-viewer-file-meta {
    grid-template-columns: 1fr !important;
    gap: 8px !important;
    margin-top: 12px !important;
}
.file-viewer-file-meta p {
    display: grid !important;
    grid-template-columns: minmax(110px, .38fr) minmax(0, 1fr) !important;
    align-items: center;
    gap: 12px !important;
    padding: 0 !important;
}
.support-extra-pill {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    padding: 7px 10px;
    border-radius: 7px;
    background: rgba(20, 184, 166, .12);
    color: #44e1d4 !important;
    font-size: 12px !important;
    line-height: 1.35;
    overflow-wrap: anywhere;
}
.file-technical-card {
    margin-top: 16px !important;
}
.file-technical-card div p {
    margin: 0;
    white-space: normal;
}
.portal-layout-customer .support-timeline-panel .support-timeline-item:first-of-type {
    margin-top: 8px !important;
}
.portal-layout-customer .support-timeline-panel .support-empty-timeline {
    padding-top: 8px !important;
}
.portal-layout-customer .support-request-form {
    padding-bottom: 22px !important;
}
.portal-layout-admin textarea[name="technical_information"] {
    min-height: 118px;
}
html[data-theme="light"] .file-viewer-detail-column p {
    background: #f8fafc !important;
    border-color: rgba(15, 23, 42, .12) !important;
}
html[data-theme="light"] .file-viewer-detail-column strong,
html[data-theme="light"] .file-viewer-detail-column mark {
    color: #0f172a !important;
}
html[data-theme="light"] .support-extra-pill {
    background: rgba(13, 148, 136, .12) !important;
    color: #0f766e !important;
}
@media (max-width: 1199.98px) {
    .support-workspace-card,
    .support-summary-card,
    .support-timeline-panel {
        grid-column: 1 !important;
        grid-row: auto !important;
    }
    .support-summary-card { position: static !important; }
}
@media (max-width: 767.98px) {
    .file-viewer-detail-grid { grid-template-columns: 1fr !important; }
    .file-viewer-file-meta p,
    .file-viewer-detail-column p {
        grid-template-columns: 1fr !important;
        align-items: start !important;
    }
}


/* v1.8.40 customer file viewer stack, metadata padding and tool menu setting polish */
.file-viewer-vehicle-summary {
    display: grid;
    grid-template-columns: minmax(140px, .78fr) minmax(0, 1.22fr);
    gap: 18px;
    align-items: start;
    margin: 12px 0 14px;
}
.file-viewer-vehicle-stack {
    display: flex;
    flex-direction: column;
    gap: 2px;
    padding: 2px 0 2px 0;
    min-width: 0;
    line-height: 1.35;
}
.file-viewer-vehicle-stack strong {
    color: #f5f7fb;
    font-size: 14px;
    font-weight: 800;
}
.file-viewer-vehicle-stack span {
    color: #d3dae7;
    font-size: 13.5px;
    font-weight: 650;
    overflow-wrap: anywhere;
}
.file-viewer-job-stack {
    display: grid;
    gap: 7px;
    min-width: 0;
}
.file-viewer-job-stack p {
    display: grid;
    grid-template-columns: minmax(112px, .52fr) minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    margin: 0;
    min-height: 28px;
}
.file-viewer-job-stack span,
.file-viewer-file-meta span {
    color: #aeb8c8 !important;
    font-size: 11px !important;
    font-weight: 850 !important;
    letter-spacing: .055em !important;
    text-transform: uppercase !important;
}
.file-viewer-job-stack strong,
.file-viewer-job-stack mark {
    min-width: 0;
    color: #f4f7fb !important;
    font-size: 12.8px !important;
    font-weight: 780 !important;
    overflow-wrap: anywhere;
}
.file-viewer-job-stack mark {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    padding: 3px 8px !important;
    border-radius: 7px !important;
    background: #8a6500 !important;
    color: #ffe08a !important;
}
.file-viewer-file-meta {
    display: grid !important;
    gap: 7px !important;
    margin-top: 11px !important;
    padding-top: 2px !important;
}
.file-viewer-file-meta p {
    display: grid !important;
    grid-template-columns: minmax(116px, .34fr) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    min-height: 28px !important;
}
.file-viewer-file-meta .support-blue-pill,
.file-viewer-file-meta .support-extra-pill,
.file-viewer-file-meta .compact-download {
    width: fit-content !important;
    max-width: 100% !important;
    margin: 0 !important;
}
.file-viewer-file-meta .support-blue-pill,
.file-viewer-file-meta .support-extra-pill {
    padding: 5px 9px !important;
    border-radius: 7px !important;
    line-height: 1.25 !important;
}
.compact-download {
    min-height: 30px !important;
    padding: 5px 10px !important;
    border-radius: 8px !important;
    font-size: 12px !important;
}
.support-timeline-item .support-outline-btn {
    text-decoration: none !important;
}
html[data-theme="light"] .file-viewer-vehicle-stack strong,
html[data-theme="light"] .file-viewer-job-stack strong,
html[data-theme="light"] .file-viewer-job-stack mark {
    color: #0f172a !important;
}
html[data-theme="light"] .file-viewer-vehicle-stack span {
    color: #334155 !important;
}
@media (max-width: 767.98px) {
    .file-viewer-vehicle-summary { grid-template-columns: 1fr !important; gap: 12px !important; }
    .file-viewer-job-stack p,
    .file-viewer-file-meta p { grid-template-columns: 1fr !important; align-items: start !important; }
}

/* v1.8.41: tighter customer file-viewer detail spacing */
.file-viewer-vehicle-summary {
    gap: 12px !important;
    margin: 8px 0 10px !important;
}
.file-viewer-job-stack {
    gap: 3px !important;
}
.file-viewer-job-stack p {
    grid-template-columns: 96px minmax(0, 1fr) !important;
    gap: 8px !important;
    min-height: 24px !important;
}
.file-viewer-job-stack span,
.file-viewer-job-stack strong,
.file-viewer-job-stack mark {
    line-height: 1.18 !important;
}
@media (max-width: 767.98px) {
    .file-viewer-job-stack p {
        grid-template-columns: 1fr !important;
        gap: 4px !important;
    }
}

/* v1.8.42: restore file-viewer text sizing and pull labels/values closer using padding and column spacing */
.file-viewer-vehicle-summary {
    gap: 10px !important;
    margin: 8px 0 10px !important;
}
.file-viewer-job-stack {
    gap: 3px !important;
}
.file-viewer-job-stack p {
    grid-template-columns: 86px minmax(0, 1fr) !important;
    gap: 6px !important;
    min-height: 25px !important;
    padding: 0 0 0 0 !important;
}
.file-viewer-job-stack span,
.file-viewer-job-stack strong,
.file-viewer-job-stack mark {
    line-height: 1.35 !important;
}
.file-viewer-job-stack strong,
.file-viewer-job-stack mark {
    font-size: 13px !important;
}
.file-viewer-job-stack mark {
    padding: 3px 8px !important;
}
@media (max-width: 767.98px) {
    .file-viewer-job-stack p {
        grid-template-columns: 1fr !important;
        gap: 2px !important;
    }
}


/* v1.8.43: customer file viewer details matched to supplied compact inline screenshot */
.file-viewer-vehicle-summary {
    grid-template-columns: 178px minmax(0, 1fr) !important;
    gap: 18px !important;
    align-items: start !important;
    margin: 8px 0 11px !important;
}
.file-viewer-vehicle-stack {
    gap: 3px !important;
    padding: 0 !important;
    line-height: 1.28 !important;
}
.file-viewer-vehicle-stack strong {
    font-size: 13.5px !important;
    line-height: 1.28 !important;
    font-weight: 800 !important;
}
.file-viewer-vehicle-stack span {
    font-size: 13.5px !important;
    line-height: 1.28 !important;
    font-weight: 650 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}
.file-viewer-job-stack {
    display: flex !important;
    flex-direction: column !important;
    gap: 4px !important;
    padding: 0 !important;
    min-width: 0 !important;
}
.file-viewer-job-stack p {
    display: flex !important;
    grid-template-columns: none !important;
    align-items: baseline !important;
    gap: 4px !important;
    margin: 0 !important;
    padding: 0 !important;
    min-height: 0 !important;
    line-height: 1.28 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
}
.file-viewer-job-stack span {
    flex: 0 0 auto !important;
    color: #d3dae7 !important;
    font-size: 13.5px !important;
    line-height: 1.28 !important;
    font-weight: 650 !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}
.file-viewer-job-stack strong {
    min-width: 0 !important;
    color: #f4f7fb !important;
    font-size: 13.5px !important;
    line-height: 1.28 !important;
    font-weight: 800 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}
.file-viewer-job-stack mark {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: 100% !important;
    padding: 1px 8px !important;
    border-radius: 6px !important;
    background: #8a5f00 !important;
    color: #ffca48 !important;
    font-size: 12.2px !important;
    line-height: 1.25 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: uppercase !important;
}
html[data-theme="light"] .file-viewer-job-stack span,
html[data-theme="light"] .file-viewer-vehicle-stack span {
    color: #334155 !important;
}
html[data-theme="light"] .file-viewer-job-stack strong,
html[data-theme="light"] .file-viewer-vehicle-stack strong {
    color: #0f172a !important;
}
@media (max-width: 767.98px) {
    .file-viewer-vehicle-summary {
        grid-template-columns: 1fr !important;
        gap: 10px !important;
    }
    .file-viewer-job-stack p {
        white-space: normal !important;
        overflow: visible !important;
    }
    .file-viewer-job-stack strong {
        white-space: normal !important;
        overflow: visible !important;
    }
}


/* v1.8.44: put DTC codes above original download and stack those rows */
.file-viewer-file-meta p.file-viewer-meta-stack {
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 3px !important;
    padding: 2px 0 !important;
}
.file-viewer-file-meta p.file-viewer-meta-stack span {
    display: block !important;
}
.file-viewer-file-meta p.file-viewer-meta-stack .support-extra-pill,
.file-viewer-file-meta p.file-viewer-meta-stack .compact-download {
    justify-self: start !important;
}

/* v1.8.45: customer file-view header matched to reference */
.portal-layout-customer .topbar-shell.customer-topbar-shell {
    min-height: 70px !important;
    padding: 20px 22px !important;
    background: #07080d !important;
    border-bottom: 1px solid rgba(46, 63, 95, .45) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 20px !important;
}
.portal-layout-customer .topbar-shell.customer-topbar-shell .topbar-left {
    min-width: 0;
    flex: 1 1 auto;
}
.portal-layout-customer .customer-topbar-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex-wrap: wrap;
}
.portal-layout-customer .customer-page-heading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #eef2ff;
    min-width: 0;
}
.portal-layout-customer .customer-page-heading strong {
    margin: 0;
    color: #f6f8fd;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1;
}
.portal-layout-customer .customer-topbar-dot,
.portal-layout-customer .customer-topbar-label,
.portal-layout-customer .customer-service-copy {
    color: #d5d8e3;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.portal-layout-customer .customer-topbar-label { color: #e7ebf5; }
.portal-layout-customer .customer-service-status,
.portal-layout-customer .customer-service-chip,
.portal-layout-customer .customer-clock-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: #111522;
    color: #d7deed;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
}
.portal-layout-customer .customer-service-status {
    padding: 0 11px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
}
.portal-layout-customer .customer-service-status.offline {
    background: #ff5a6c;
    color: #ffffff;
}
.portal-layout-customer .customer-service-status.online {
    background: #0db39e;
    color: #ffffff;
}
.portal-layout-customer .customer-service-chip,
.portal-layout-customer .customer-clock-chip {
    padding: 0 12px;
    border-color: rgba(82, 93, 127, .35);
    background: #0d1020;
    color: #aeb6c9;
    font-size: 12px;
    font-weight: 700;
}
.portal-layout-customer .customer-clock-chip {
    gap: 7px;
    color: #8b95ac;
}
.portal-layout-customer .customer-clock-chip svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}
.portal-layout-customer .customer-service-status:hover,
.portal-layout-customer .customer-service-chip:hover,
.portal-layout-customer .customer-clock-chip:hover {
    filter: brightness(1.05);
}
.portal-layout-customer .customer-topbar-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 14px;
    flex: 0 0 auto;
}
.portal-layout-customer .customer-credit-display {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #f6f8fd;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}
.portal-layout-customer .customer-credit-display strong {
    min-width: 40px;
    height: 26px;
    padding: 0 10px;
    border-radius: 6px;
    background: #143f6b;
    color: #9bd2ff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 900;
}
.portal-layout-customer .customer-logout-form { margin: 0; }
.portal-layout-customer .customer-logout-btn {
    width: 26px;
    height: 26px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #cf3f57;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.portal-layout-customer .customer-logout-btn svg {
    width: 22px;
    height: 22px;
}
.portal-layout-customer .customer-greeting {
    color: #eef2ff;
    font-size: 14px;
    font-weight: 700;
    white-space: nowrap;
}
.portal-layout-customer .customer-avatar-badge {
    width: 34px;
    height: 34px;
    border-radius: 6px;
    background: #0a7768;
    color: #a0fff1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 18px;
    font-weight: 800;
    line-height: 1;
}
@media (max-width: 991.98px) {
    .portal-layout-customer .topbar-shell.customer-topbar-shell {
        padding: 16px !important;
        align-items: flex-start !important;
    }
    .portal-layout-customer .customer-topbar-actions {
        width: 100%;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

/* v1.8.46: two-column customer file metadata block */
.file-viewer-file-meta.file-viewer-file-meta-two-col {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 16px !important;
    align-items: start !important;
}
.file-viewer-meta-left,
.file-viewer-meta-right {
    display: grid !important;
    gap: 7px !important;
    min-width: 0 !important;
    align-content: start !important;
}
.file-viewer-file-meta-two-col .file-viewer-meta-left p,
.file-viewer-file-meta-two-col .file-viewer-meta-right p {
    margin: 0 !important;
}
.file-viewer-file-meta-two-col .file-viewer-meta-right p {
    justify-items: start !important;
}
@media (max-width: 767.98px) {
    .file-viewer-file-meta.file-viewer-file-meta-two-col {
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
}


/* v1.8.47: stack optional extras under their label and keep multiple extras tidy */
.file-viewer-file-meta-two-col .optional-extra-stack {
    display: grid !important;
    grid-template-columns: 1fr !important;
    align-items: start !important;
    gap: 5px !important;
    margin: 0 !important;
    padding: 2px 0 !important;
}
.file-viewer-file-meta-two-col .optional-extra-stack > span {
    display: block !important;
    color: #c2cad8;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
}
.file-viewer-file-meta-two-col .optional-extra-pill-list {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    align-items: flex-start !important;
    max-width: 100% !important;
}
.file-viewer-file-meta-two-col .optional-extra-pill-list .support-extra-pill,
.file-viewer-file-meta-two-col .optional-extra-stack .muted-extra-pill {
    margin: 0 !important;
    max-width: 100% !important;
}
.file-viewer-file-meta-two-col .optional-extra-stack .muted-extra-pill {
    opacity: .72 !important;
}


/* v1.8.54: async API vehicle lookup image/logo pill in customer file viewer only */
.support-vehicle-heading {
    align-items: center !important;
}
.support-brand-mark.support-brand-mark-image {
    width: 42px !important;
    height: 42px !important;
    flex: 0 0 42px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    background: #070b15 !important;
    border: 1px solid rgba(96, 165, 250, .18) !important;
    box-shadow: 0 12px 24px rgba(0, 0, 0, .28), inset 0 0 0 1px rgba(255, 255, 255, .03) !important;
}
.support-brand-mark.support-brand-mark-image img {
    width: 72% !important;
    height: 72% !important;
    object-fit: contain !important;
    display: block !important;
}
.support-vehicle-heading h2 {
    line-height: 1.1 !important;
}
.support-vehicle-heading p {
    text-transform: uppercase;
    letter-spacing: .02em;
    line-height: 1.1 !important;
}


/* v1.8.55: vehicle API make logos on customer files table */
.vehicle-logo-mark {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
    border-radius: 999px !important;
    border: 1px solid rgba(96, 165, 250, .18) !important;
    background: rgba(6, 10, 18, .94) !important;
    color: #d8dbe2 !important;
    font-size: 9px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    opacity: 1 !important;
}
.vehicle-logo-mark img {
    width: 76% !important;
    height: 76% !important;
    object-fit: contain !important;
    display: block !important;
}
.vehicle-logo-mark span {
    display: none !important;
}
.vehicle-logo-mark img[src=""],
.vehicle-logo-mark img:not([src]) {
    display: none !important;
}
.vehicle-logo-mark img[src=""] + span,
.vehicle-logo-mark img:not([src]) + span {
    display: inline !important;
}


/* v1.8.56: larger vehicle API make logos */
.support-brand-mark.support-brand-mark-image {
    width: 58px !important;
    height: 58px !important;
    flex: 0 0 58px !important;
}
.support-brand-mark.support-brand-mark-image img {
    width: 84% !important;
    height: 84% !important;
}
.vehicle-logo-mark {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
}
.vehicle-logo-mark img {
    width: 82% !important;
    height: 82% !important;
}
.vehicle-line {
    gap: 14px !important;
}


/* v1.8.57: remove background circle from vehicle API logos */
.support-brand-mark.support-brand-mark-image,
.vehicle-logo-mark {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.support-brand-mark.support-brand-mark-image img,
.vehicle-logo-mark img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
}


/* v1.8.58: file viewer type pill cleanup + admin/customer attention states */
.file-viewer-file-meta-two-col .file-viewer-primary-file-type {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 1px 0 3px !important;
}
.file-viewer-file-meta-two-col .file-viewer-primary-file-type .support-blue-pill {
    padding: 7px 12px !important;
    line-height: 1.15 !important;
}
.admin-open-file-btn.needs-attention {
    background: #dc2626 !important;
    color: #ffffff !important;
    border-color: #dc2626 !important;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, .08), 0 10px 26px rgba(220, 38, 38, .30) !important;
}
.admin-open-file-btn.needs-attention:hover {
    background: #ef4444 !important;
    border-color: #ef4444 !important;
    color: #ffffff !important;
}
.admin-open-file-btn.flash-attention {
    animation: ivtAdminAttentionPulse 1.05s ease-in-out infinite;
}
.queue-row-needs-attention td {
    background: rgba(220, 38, 38, .045) !important;
}
.portal-file-update-toast.needs-attention {
    border-color: rgba(248, 113, 113, .55);
    box-shadow: 0 20px 60px rgba(0,0,0,.40), 0 0 36px rgba(248, 113, 113, .20);
}
.portal-file-update-toast.needs-attention strong {
    color: #ff9ba4;
}
@keyframes ivtAdminAttentionPulse {
    0%, 100% {
        transform: translateY(0);
        box-shadow: 0 0 0 0 rgba(239, 68, 68, .48), 0 10px 26px rgba(220, 38, 38, .30);
    }
    50% {
        transform: translateY(-1px);
        box-shadow: 0 0 0 7px rgba(239, 68, 68, 0), 0 14px 32px rgba(220, 38, 38, .42);
    }
}


/* v1.8.60: notifications slide in from the right */
.portal-notification-stack {
    top: 18px !important;
    right: 18px !important;
    left: auto !important;
    width: min(460px, calc(100vw - 32px)) !important;
    transform: none !important;
    justify-items: end !important;
}
.portal-file-update-toast {
    width: 100% !important;
    transform: translateX(34px) scale(.98) !important;
}
.portal-file-update-toast.show {
    transform: translateX(0) scale(1) !important;
}
@media (max-width: 575.98px) {
    .portal-notification-stack {
        top: 12px !important;
        right: 10px !important;
        width: calc(100vw - 20px) !important;
    }
}


/* v1.8.63: small digital file notification counters */
.nav-label-line {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 0 !important;
}
.nav-alert-count {
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    border-radius: 999px;
    background: #ef4444;
    color: #ffffff;
    display: none;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 1000;
    line-height: 1;
    letter-spacing: -.02em;
    box-shadow: 0 0 0 2px rgba(239, 68, 68, .16), 0 0 16px rgba(239, 68, 68, .36);
}
.nav-alert-count.show {
    display: inline-flex;
}
.nav-entry.active .nav-alert-count {
    background: #ff3657;
    box-shadow: 0 0 0 2px rgba(255, 54, 87, .18), 0 0 18px rgba(255, 54, 87, .45);
}


/* v1.8.68: fixed vehicle logo sizing/padding */
.support-brand-mark.support-brand-mark-image {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    flex: 0 0 58px !important;
    padding: 6px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.support-brand-mark.support-brand-mark-image img {
    width: 100% !important;
    height: 100% !important;
    max-width: 46px !important;
    max-height: 46px !important;
    object-fit: contain !important;
    display: block !important;
}
.vehicle-logo-mark {
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    padding: 4px !important;
    box-sizing: border-box !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}
.vehicle-logo-mark img {
    width: 100% !important;
    height: 100% !important;
    max-width: 30px !important;
    max-height: 30px !important;
    object-fit: contain !important;
    display: block !important;
}
.support-vehicle-heading {
    gap: 14px !important;
}


/* v1.8.69: remove black background from Last Updated value */
.updated-pill {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    color: #dfe6ff !important;
}


/* v1.8.70: make Last Updated text clearer without a background */
.updated-pill {
    background: transparent !important;
    padding: 0 !important;
    border-radius: 0 !important;
    color: #f4f7ff !important;
    font-size: 14px !important;
    font-weight: 850 !important;
    line-height: 1.25 !important;
    letter-spacing: .01em !important;
    white-space: nowrap !important;
    text-shadow: 0 1px 0 rgba(0, 0, 0, .45) !important;
}
html[data-theme="light"] .updated-pill {
    color: #172033 !important;
    text-shadow: none !important;
}


/* v1.8.73: variable customer credit top-up */
.customer-credit-display {
    text-decoration: none !important;
}
.customer-credit-display:hover strong {
    filter: brightness(1.12);
}
.credit-topup-form {
    gap: 18px;
}
.credit-amount-input {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid rgba(75, 86, 116, .75);
    border-radius: 10px;
    background: rgba(14, 18, 31, .72);
    padding: 8px 12px;
}
.credit-amount-input span {
    color: #f4f7ff;
    font-size: 22px;
    font-weight: 900;
}
.credit-amount-input .form-control {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: 24px;
    font-weight: 900;
    padding: 4px 0 !important;
}
.credit-quick-amounts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}


/* v1.8.74: PayPal checkout visuals and reliable quick amount buttons */
.paypal-checkout-box {
    border-color: rgba(0, 112, 186, .32) !important;
    background:
        radial-gradient(circle at 90% 10%, rgba(0, 112, 186, .18), transparent 36%),
        linear-gradient(180deg, rgba(18, 28, 47, .96), rgba(10, 16, 29, .96)) !important;
}
.paypal-brand-panel {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    margin: 8px 0 10px;
    padding: 13px 15px;
    border: 1px solid rgba(0, 112, 186, .28);
    border-radius: 16px;
    background: linear-gradient(135deg, rgba(0, 48, 135, .26), rgba(0, 156, 222, .12));
    box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
}
.paypal-brand-panel-inline {
    display: flex;
    width: fit-content;
}
.paypal-brand-logo {
    position: relative;
    width: 48px;
    height: 42px;
    flex: 0 0 48px;
}
.paypal-p {
    position: absolute;
    inset: 0 auto auto 0;
    width: 31px;
    height: 39px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 9px 13px 13px 9px;
    color: #ffffff;
    font-size: 24px;
    font-weight: 1000;
    font-family: Arial, Helvetica, sans-serif;
    line-height: 1;
    transform: skew(-8deg);
}
.paypal-p-first {
    left: 3px;
    top: 1px;
    background: #003087;
    z-index: 1;
}
.paypal-p-second {
    left: 15px;
    top: 5px;
    background: #009cde;
    z-index: 2;
    opacity: .96;
}
.paypal-brand-panel strong {
    display: inline-flex;
    align-items: baseline;
    gap: 0;
    color: #ffffff;
    font-size: 25px;
    font-weight: 1000;
    line-height: 1;
    letter-spacing: -.03em;
}
.paypal-brand-panel strong span:first-child {
    color: #ffffff;
}
.paypal-brand-panel strong span:last-child {
    color: #9edfff;
}
.paypal-brand-panel small {
    display: block;
    margin-top: 4px;
    color: #b7d7f5;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .02em;
}
.credit-quick-amounts [data-credit-quick-amount] {
    min-width: 74px;
    font-weight: 900 !important;
}
.credit-quick-amounts [data-credit-quick-amount]:focus,
.credit-quick-amounts [data-credit-quick-amount]:hover {
    transform: translateY(-1px);
}


/* v1.8.75: admin settings upload options accordion */
.settings-accordion {
    margin: 26px 0;
    border: 1px solid rgba(75, 86, 116, .72);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(17, 24, 39, .82), rgba(10, 16, 29, .82));
    box-shadow: 0 16px 34px rgba(0, 0, 0, .16);
    overflow: hidden;
}
.settings-accordion summary {
    min-height: 68px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.settings-accordion summary::-webkit-details-marker {
    display: none;
}
.settings-accordion summary strong {
    display: block;
    color: #f7fbff;
    font-size: 18px;
    font-weight: 950;
    letter-spacing: -.02em;
}
.settings-accordion summary small {
    display: block;
    margin-top: 3px;
    color: #9ca7bd;
    font-size: 12px;
    font-weight: 700;
}
.settings-accordion-chevron {
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, .055);
    color: #dbeafe;
    font-size: 20px;
    font-weight: 900;
    transition: transform .16s ease, background .16s ease;
}
.settings-accordion[open] .settings-accordion-chevron {
    transform: rotate(180deg);
    background: rgba(32, 213, 199, .13);
}
.settings-accordion-body {
    padding: 0 20px 22px;
    border-top: 1px solid rgba(75, 86, 116, .45);
}
.settings-accordion-body .section-title {
    margin-top: 20px;
}
.upload-options-accordion textarea[name="tool_used_options"] {
    min-height: 320px;
}


/* v1.8.76: admin pricing upload options as per-option accordions */
.pricing-option-accordion {
    display: block !important;
    padding: 0 !important;
    overflow: hidden !important;
}
.pricing-option-accordion summary {
    min-height: 72px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 16px 18px;
    cursor: pointer;
    list-style: none;
    user-select: none;
}
.pricing-option-accordion summary::-webkit-details-marker {
    display: none;
}
.pricing-accordion-title {
    min-width: 0;
    display: grid;
    gap: 4px;
}
.pricing-accordion-title strong {
    color: #f6faff;
    font-size: 16px;
    font-weight: 950;
    letter-spacing: -.02em;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pricing-accordion-title small {
    color: #91a3bf;
    font-size: 12px;
    font-weight: 700;
}
.pricing-accordion-title code {
    color: #b9d9ff;
}
.pricing-accordion-meta {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.pricing-price-pill,
.pricing-status-dot {
    min-height: 28px;
    display: inline-flex;
    align-items: center;
    padding: 5px 10px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 950;
    white-space: nowrap;
}
.pricing-price-pill {
    color: #b9fff3;
    background: rgba(32, 213, 199, .10);
    border: 1px solid rgba(32, 213, 199, .22);
}
.pricing-status-dot.is-active {
    color: #bbf7d0;
    background: rgba(34, 197, 94, .12);
    border: 1px solid rgba(34, 197, 94, .24);
}
.pricing-status-dot.is-inactive {
    color: #fda4af;
    background: rgba(239, 68, 68, .11);
    border: 1px solid rgba(239, 68, 68, .22);
}
.pricing-accordion-chevron {
    width: 32px;
    height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    background: rgba(255, 255, 255, .055);
    color: #dbeafe;
    font-size: 19px;
    font-weight: 950;
    transition: transform .16s ease, background .16s ease;
}
.pricing-option-accordion[open] .pricing-accordion-chevron {
    transform: rotate(180deg);
    background: rgba(32, 213, 199, .13);
}
.pricing-accordion-body {
    padding: 0 18px 18px;
    border-top: 1px solid rgba(126, 146, 183, .14);
}
.pricing-accordion-body .pricing-option-row {
    padding-top: 18px;
}
.pricing-accordion-body .delete-inline {
    margin-top: 12px;
}
@media (max-width: 767.98px) {
    .pricing-option-accordion summary,
    .pricing-accordion-meta {
        align-items: flex-start;
    }
    .pricing-option-accordion summary {
        flex-direction: column;
    }
    .pricing-accordion-meta {
        flex-wrap: wrap;
        width: 100%;
    }
}


/* v1.8.77: improved admin pricing accordion spacing and form layout */
.pricing-option-accordion {
    border: 1px solid rgba(118, 136, 171, .22) !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(49, 55, 69, .88), rgba(41, 48, 63, .88)) !important;
    box-shadow: 0 14px 32px rgba(0, 0, 0, .16) !important;
    margin-bottom: 14px !important;
}
.pricing-option-accordion summary {
    padding: 18px 20px !important;
}
.pricing-option-accordion[open] {
    background: linear-gradient(180deg, rgba(58, 64, 78, .94), rgba(44, 50, 66, .94)) !important;
}
.pricing-option-accordion[open] summary {
    border-bottom: 1px solid rgba(132, 151, 185, .16);
}
.pricing-accordion-body {
    padding: 18px 20px 20px !important;
}
.pricing-option-row {
    display: grid;
    gap: 16px;
}
.pricing-option-top-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 150px 110px;
    gap: 14px !important;
    align-items: end !important;
}
.pricing-name-block {
    display: grid;
    gap: 8px;
    min-width: 0;
}
.pricing-option-row label {
    display: grid;
    gap: 8px;
    color: #f3f7ff;
    font-size: 13px;
    font-weight: 900;
    letter-spacing: -.01em;
}
.pricing-option-row .text-muted-soft {
    margin-top: -2px;
    font-size: 12px;
}
.pricing-option-row code {
    color: #8cf0ff;
}
.pricing-option-row .form-control,
.pricing-option-row .form-select {
    min-height: 52px;
    border-radius: 16px !important;
    padding: 13px 14px !important;
    font-size: 15px;
    font-weight: 800;
}
.pricing-description-block textarea.form-control {
    min-height: 132px;
    resize: vertical;
    line-height: 1.45;
    padding-top: 14px !important;
}
.pricing-option-bottom-grid {
    display: grid !important;
    grid-template-columns: 130px minmax(0, 1fr) 130px auto;
    gap: 12px !important;
    align-items: end !important;
}
.pricing-option-bottom-grid .pricing-save-btn {
    min-height: 52px;
    padding: 0 22px !important;
    border-radius: 16px !important;
    font-weight: 950 !important;
    white-space: nowrap;
}
.pricing-delete-row {
    margin-top: 12px !important;
    justify-content: flex-start !important;
}
.pricing-delete-row .btn {
    min-height: 44px;
    padding: 0 16px !important;
    border-radius: 14px !important;
    font-weight: 900 !important;
}
@media (max-width: 1199.98px) {
    .pricing-option-top-grid {
        grid-template-columns: minmax(0, 1fr) 130px 100px;
    }
    .pricing-option-bottom-grid {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 767.98px) {
    .pricing-option-top-grid,
    .pricing-option-bottom-grid {
        grid-template-columns: 1fr !important;
    }
    .pricing-option-accordion summary {
        padding: 16px !important;
    }
    .pricing-accordion-body {
        padding: 16px !important;
    }
    .pricing-option-bottom-grid .pricing-save-btn {
        width: 100%;
    }
}


/* v1.8.78: tighten admin pricing editor field widths and padding */
.pricing-option-top-grid {
    grid-template-columns: minmax(320px, 760px) 150px 110px !important;
    justify-content: space-between !important;
    column-gap: 14px !important;
}
.pricing-name-block {
    max-width: 760px;
}
.pricing-name-block .form-control {
    width: 100%;
}
.pricing-option-top-grid > label:nth-child(2),
.pricing-option-top-grid > label:nth-child(3) {
    width: 100%;
    max-width: 150px;
}
.pricing-option-top-grid > label:nth-child(3) {
    max-width: 110px;
}
.pricing-option-top-grid > label:nth-child(2) .form-control,
.pricing-option-top-grid > label:nth-child(3) .form-control {
    width: 100%;
    text-align: left;
    padding: 12px 14px !important;
}
.pricing-option-top-grid > label:nth-child(2) .form-control {
    padding-left: 16px !important;
    padding-right: 12px !important;
}
.pricing-option-bottom-grid {
    grid-template-columns: 130px minmax(260px, 1fr) 130px auto !important;
    column-gap: 12px !important;
}
.pricing-description-block {
    max-width: 100%;
}
.pricing-description-block textarea.form-control {
    min-height: 116px;
}
@media (max-width: 1199.98px) {
    .pricing-option-top-grid {
        grid-template-columns: minmax(260px, 1fr) 140px 100px !important;
    }
}
@media (max-width: 767.98px) {
    .pricing-option-top-grid,
    .pricing-option-bottom-grid {
        grid-template-columns: 1fr !important;
    }
    .pricing-name-block,
    .pricing-option-top-grid > label:nth-child(2),
    .pricing-option-top-grid > label:nth-child(3) {
        max-width: 100%;
    }
}

/* v1.8.79: enterprise admin pricing polish and Account pricing padding fix */
.portal-card h2,
.enterprise-card h2,
.card-heading-row h2 {
    line-height: 1.18 !important;
    padding-top: 2px;
    padding-bottom: 1px;
    overflow: visible;
}

.account-pricing-card {
    overflow: visible !important;
    padding: clamp(24px, 2.2vw, 30px) !important;
}
.account-pricing-heading {
    margin-bottom: 24px !important;
}
.account-pricing-heading p {
    max-width: 780px;
}
.account-pricing-form {
    gap: 20px !important;
}
.account-pricing-form .form-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}
.account-pricing-form label {
    min-width: 0;
    gap: 10px !important;
    line-height: 1.35;
}
.account-pricing-form .form-control,
.account-pricing-form .form-select {
    min-height: 56px;
    width: 100%;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    line-height: 1.35;
}
.account-pricing-form .text-muted-soft {
    display: block;
    margin-top: 0;
    line-height: 1.5;
}
.account-pricing-card hr {
    margin: 26px 0;
    border-color: rgba(126, 146, 183, .18);
    opacity: 1;
}

.admin-upload-options-card {
    overflow: visible !important;
    padding: clamp(24px, 2.4vw, 32px) !important;
    border-radius: 30px !important;
    background:
        radial-gradient(circle at 92% 4%, rgba(32, 213, 199, .10), transparent 30%),
        linear-gradient(180deg, rgba(22, 30, 45, .98), rgba(12, 18, 31, .98)) !important;
}
.admin-upload-options-heading {
    align-items: center !important;
    margin-bottom: 26px !important;
    padding-bottom: 4px;
}
.admin-upload-options-heading .eyebrow {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    margin-bottom: 10px;
    padding: 4px 10px;
    border: 1px solid rgba(32, 213, 199, .20);
    border-radius: 999px;
    background: rgba(32, 213, 199, .08);
    color: #9df9ef;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.admin-upload-options-heading p {
    max-width: 760px;
    color: #b9c9e4;
}
.admin-upload-options-kpis {
    flex: 0 0 auto;
    display: grid;
    grid-template-columns: repeat(3, minmax(86px, 1fr));
    gap: 10px;
}
.admin-upload-options-kpis span {
    display: grid;
    gap: 3px;
    min-width: 86px;
    padding: 12px 14px;
    border: 1px solid rgba(126, 146, 183, .18);
    border-radius: 18px;
    background: rgba(255, 255, 255, .045);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
.admin-upload-options-kpis small {
    color: #92a5c2;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.admin-upload-options-kpis strong {
    color: #ffffff;
    font-size: 22px;
    line-height: 1;
    font-weight: 950;
}
.admin-pricing-list {
    gap: 18px !important;
}
.pricing-option-accordion.admin-pricing-option {
    margin-bottom: 0 !important;
    border: 1px solid rgba(126, 146, 183, .22) !important;
    border-radius: 28px !important;
    background:
        linear-gradient(180deg, rgba(49, 57, 73, .92), rgba(33, 40, 56, .96)) !important;
    box-shadow: 0 20px 48px rgba(0, 0, 0, .18) !important;
}
.pricing-option-accordion.admin-pricing-option.is-solution,
.pricing-option-accordion.admin-pricing-option.is-extra {
    border-left-width: 1px !important;
}
.pricing-option-accordion.admin-pricing-option.is-solution {
    box-shadow: inset 4px 0 0 rgba(77, 162, 255, .70), 0 20px 48px rgba(0, 0, 0, .18) !important;
}
.pricing-option-accordion.admin-pricing-option.is-extra {
    box-shadow: inset 4px 0 0 rgba(32, 213, 199, .72), 0 20px 48px rgba(0, 0, 0, .18) !important;
}
.pricing-option-accordion.admin-pricing-option[open] {
    background:
        linear-gradient(180deg, rgba(57, 65, 82, .96), rgba(35, 43, 60, .98)) !important;
}
.pricing-option-accordion summary.admin-pricing-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 20px !important;
    min-height: 96px;
    padding: 22px 24px !important;
}
.pricing-accordion-title.admin-pricing-title {
    position: relative;
    gap: 7px;
    min-width: 0;
    padding-left: 18px;
}
.pricing-accordion-title.admin-pricing-title::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 5px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(77, 162, 255, .95), rgba(32, 213, 199, .85));
}
.admin-pricing-section-label {
    width: max-content;
    padding: 5px 9px;
    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 999px;
    background: rgba(255, 255, 255, .06);
    color: #bfdbfe;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}
.pricing-accordion-title.admin-pricing-title strong {
    color: #ffffff;
    font-size: 18px;
    line-height: 1.22;
    letter-spacing: -.025em;
}
.pricing-accordion-title.admin-pricing-title small {
    color: #a8b9d4;
    line-height: 1.35;
}
.pricing-accordion-title.admin-pricing-title em {
    display: -webkit-box;
    max-width: 900px;
    overflow: hidden;
    color: #d4e0f4;
    font-size: 13px;
    font-style: normal;
    font-weight: 650;
    line-height: 1.45;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.pricing-accordion-meta.admin-pricing-meta {
    gap: 10px !important;
}
.pricing-accordion-meta.admin-pricing-meta .option-section-pill,
.pricing-accordion-meta.admin-pricing-meta .pricing-price-pill,
.pricing-accordion-meta.admin-pricing-meta .pricing-status-dot {
    min-height: 34px;
    padding: 7px 12px;
    border-radius: 999px;
    font-size: 12px;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05);
}
.pricing-accordion-meta.admin-pricing-meta .pricing-accordion-chevron {
    width: 36px;
    height: 36px;
    background: rgba(32, 213, 199, .10);
    color: #c8fff8;
}
.pricing-accordion-body.admin-pricing-body {
    padding: 20px 24px 24px !important;
    background: rgba(8, 13, 24, .22);
    border-top-color: rgba(145, 163, 191, .16) !important;
}
.pricing-option-row.admin-pricing-editor {
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}
.admin-pricing-editor-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(340px, .65fr);
    gap: 18px;
    align-items: stretch;
}
.admin-editor-panel {
    min-width: 0;
    padding: 18px;
    border: 1px solid rgba(126, 146, 183, .18);
    border-radius: 24px;
    background: rgba(13, 21, 38, .72);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
.admin-editor-panel-content,
.admin-editor-panel-settings {
    display: grid;
    gap: 16px;
    align-content: start;
}
.admin-editor-panel-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding-bottom: 14px;
    border-bottom: 1px solid rgba(126, 146, 183, .14);
}
.admin-editor-panel-head span {
    color: #ffffff;
    font-size: 14px;
    font-weight: 950;
    letter-spacing: -.01em;
}
.admin-editor-panel-head small {
    color: #91a3bf;
    font-size: 12px;
    font-weight: 800;
    text-align: right;
}
.admin-pricing-editor label {
    min-width: 0;
    gap: 9px !important;
    color: #f3f7ff;
    line-height: 1.35;
}
.admin-pricing-editor .form-control,
.admin-pricing-editor .form-select {
    min-height: 56px !important;
    width: 100%;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    background-color: #081224 !important;
    border-color: rgba(133, 155, 190, .42) !important;
    line-height: 1.35;
}
.admin-pricing-editor textarea.form-control {
    min-height: 176px !important;
    padding-top: 16px !important;
    line-height: 1.55;
    resize: vertical;
}
.admin-pricing-controls-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.admin-pricing-controls-grid label:nth-child(4) {
    grid-column: span 2;
}
.admin-editor-panel-settings .pricing-save-btn {
    min-height: 56px;
    width: 100%;
    margin-top: 2px;
    border-radius: 18px !important;
    font-weight: 950 !important;
}
.admin-pricing-delete-row {
    margin-top: 14px !important;
    justify-content: flex-start !important;
}
.admin-pricing-delete-row .btn {
    min-height: 46px;
    padding: 0 18px !important;
    border-radius: 16px !important;
    font-weight: 950 !important;
}
.admin-pricing-empty-state {
    padding: 24px;
    border: 1px dashed rgba(126, 146, 183, .28);
    border-radius: 24px;
    background: rgba(255, 255, 255, .035);
}
.admin-pricing-empty-state strong {
    display: block;
    color: #ffffff;
    margin-bottom: 6px;
}

html[data-theme="light"] .admin-upload-options-card {
    background:
        radial-gradient(circle at 92% 4%, rgba(14, 165, 233, .10), transparent 30%),
        linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(241, 245, 249, .98)) !important;
}
html[data-theme="light"] .admin-upload-options-heading p,
html[data-theme="light"] .pricing-accordion-title.admin-pricing-title em {
    color: #475569;
}
html[data-theme="light"] .admin-upload-options-kpis span,
html[data-theme="light"] .admin-editor-panel,
html[data-theme="light"] .admin-pricing-empty-state {
    background: rgba(255, 255, 255, .82);
    border-color: rgba(148, 163, 184, .30);
}
html[data-theme="light"] .pricing-option-accordion.admin-pricing-option,
html[data-theme="light"] .pricing-option-accordion.admin-pricing-option[open] {
    background: linear-gradient(180deg, rgba(255, 255, 255, .98), rgba(248, 250, 252, .98)) !important;
}
html[data-theme="light"] .pricing-accordion-title.admin-pricing-title strong,
html[data-theme="light"] .admin-editor-panel-head span,
html[data-theme="light"] .admin-pricing-empty-state strong,
html[data-theme="light"] .admin-upload-options-kpis strong {
    color: #0f172a;
}
html[data-theme="light"] .pricing-accordion-body.admin-pricing-body {
    background: rgba(241, 245, 249, .55);
}
html[data-theme="light"] .admin-pricing-editor .form-control,
html[data-theme="light"] .admin-pricing-editor .form-select {
    background-color: #ffffff !important;
    border-color: rgba(148, 163, 184, .42) !important;
}

@media (max-width: 1199.98px) {
    .admin-upload-options-heading {
        align-items: stretch !important;
    }
    .admin-upload-options-kpis {
        width: 100%;
    }
    .admin-pricing-editor-grid {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767.98px) {
    .account-pricing-form .form-grid,
    .admin-pricing-controls-grid {
        grid-template-columns: 1fr;
    }
    .admin-pricing-controls-grid label:nth-child(4) {
        grid-column: auto;
    }
    .pricing-option-accordion summary.admin-pricing-summary {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 18px !important;
    }
    .pricing-accordion-meta.admin-pricing-meta {
        width: 100%;
        flex-wrap: wrap;
    }
    .admin-upload-options-kpis {
        grid-template-columns: 1fr;
    }
    .pricing-accordion-body.admin-pricing-body {
        padding: 18px !important;
    }
}


/* v1.8.80: align upload sidebar with solution cards and clean vehicle-upload solution spacing */
.modern-upload-shell .wizard-stage-layout {
    align-items: start !important;
    grid-template-columns: minmax(0, 1fr) 292px !important;
    column-gap: 28px !important;
}

.modern-upload-shell .wizard-stage-main {
    min-width: 0;
}

.modern-upload-shell .wizard-stage-side {
    align-self: start !important;
    margin-top: 42px !important;
    gap: 16px !important;
}

.modern-upload-shell .promo-card,
.modern-upload-shell .estimate-card,
.modern-upload-shell .service-hours-card {
    border-radius: 20px !important;
}

.modern-upload-shell .stage-solution-list,
.modern-upload-shell .stage-solution-list.grouped {
    gap: 12px !important;
}

.modern-upload-shell .stage-solution-card {
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 22px minmax(0, 1fr) auto !important;
    align-items: start !important;
    gap: 14px !important;
    padding: 16px 18px !important;
    border: 1px solid rgba(82, 97, 128, .62) !important;
    border-radius: 18px !important;
    background: linear-gradient(180deg, rgba(23, 31, 46, .96), rgba(19, 27, 41, .98)) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03) !important;
}

.modern-upload-shell .stage-solution-card:hover {
    border-color: rgba(100, 118, 154, .86) !important;
    background: linear-gradient(180deg, rgba(27, 36, 52, .98), rgba(21, 30, 46, .98)) !important;
}

.modern-upload-shell .stage-solution-card.selected {
    border-color: rgba(59, 130, 246, .62) !important;
    background: linear-gradient(180deg, rgba(28, 37, 56, .98), rgba(22, 31, 47, .98)) !important;
    box-shadow: inset 0 0 0 1px rgba(59, 130, 246, .24) !important;
}

.modern-upload-shell .solution-indicator {
    width: 20px !important;
    height: 20px !important;
    margin-top: 4px !important;
}

.modern-upload-shell .solution-copy {
    min-width: 0 !important;
    display: grid !important;
    gap: 6px !important;
    align-content: start !important;
}

.modern-upload-shell .solution-copy strong {
    display: flex !important;
    align-items: center !important;
    align-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 0 !important;
    color: #f8fbff !important;
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
}

.modern-upload-shell .solution-copy small {
    display: block !important;
    margin: 0 !important;
    color: #c6d3eb !important;
    font-size: .87rem !important;
    line-height: 1.5 !important;
}

.modern-upload-shell .solution-stage-badge {
    margin-right: 2px !important;
}

.modern-upload-shell .stage-solution-card em {
    align-self: center !important;
    margin: 0 !important;
    padding-left: 10px !important;
    color: #95d7ff !important;
    font-size: .84rem !important;
    font-style: normal !important;
    font-weight: 800 !important;
    line-height: 1.2 !important;
    white-space: nowrap !important;
}

@media (max-width: 1199.98px) {
    .modern-upload-shell .wizard-stage-layout {
        grid-template-columns: 1fr !important;
    }

    .modern-upload-shell .wizard-stage-side {
        margin-top: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .modern-upload-shell .stage-solution-card {
        grid-template-columns: 22px minmax(0, 1fr) !important;
        padding: 15px 16px !important;
    }

    .modern-upload-shell .stage-solution-card em {
        grid-column: 2 !important;
        padding-left: 0 !important;
        padding-top: 2px !important;
    }

    .modern-upload-shell .solution-copy strong {
        font-size: 1rem !important;
    }
}


/* v1.8.81: tighten Solutions card rhythm on the vehicle uploader */
.modern-upload-shell .stage-solution-list,
.modern-upload-shell .stage-solution-list.grouped,
.modern-upload-shell .solution-accordion-body {
    gap: 9px !important;
}

.modern-upload-shell .stage-solution-card {
    grid-template-columns: 20px minmax(0, 1fr) auto !important;
    gap: 12px !important;
    align-items: center !important;
    padding: 13px 16px !important;
    border-radius: 16px !important;
}

.modern-upload-shell .solution-indicator {
    width: 18px !important;
    height: 18px !important;
    margin-top: 1px !important;
}

.modern-upload-shell .solution-copy {
    gap: 4px !important;
}

.modern-upload-shell .solution-copy strong {
    min-height: 32px !important;
    gap: 9px !important;
    flex-wrap: nowrap !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
}

.modern-upload-shell .solution-copy small {
    max-width: 100% !important;
    color: #cbd7ee !important;
    font-size: .84rem !important;
    line-height: 1.4 !important;
}

.modern-upload-shell .stage-solution-card.has-stage-badge .solution-copy small {
    padding-left: 43px !important;
}

.modern-upload-shell .solution-stage-badge {
    width: 32px !important;
    height: 30px !important;
    flex: 0 0 32px !important;
    margin-right: 0 !important;
    border-radius: 8px !important;
    font-size: .9rem !important;
}

.modern-upload-shell .solution-stage-badge i {
    top: -8px !important;
    right: -8px !important;
    width: 18px !important;
    height: 18px !important;
    font-size: .68rem !important;
}

.modern-upload-shell .stage-solution-card em {
    align-self: center !important;
    padding-left: 6px !important;
}

@media (max-width: 767.98px) {
    .modern-upload-shell .stage-solution-list,
    .modern-upload-shell .stage-solution-list.grouped,
    .modern-upload-shell .solution-accordion-body {
        gap: 8px !important;
    }

    .modern-upload-shell .stage-solution-card {
        grid-template-columns: 20px minmax(0, 1fr) !important;
        gap: 11px !important;
        padding: 13px 14px !important;
    }

    .modern-upload-shell .solution-copy strong {
        flex-wrap: wrap !important;
        min-height: 30px !important;
    }

    .modern-upload-shell .stage-solution-card.has-stage-badge .solution-copy small {
        padding-left: 0 !important;
    }
}


/* v1.8.82: fixed compact Solutions row rhythm and group spacing */
.modern-upload-shell .solution-accordion,
.modern-upload-shell .stage-solution-list,
.modern-upload-shell .stage-solution-list.grouped,
.modern-upload-shell .solution-accordion-body {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 7px !important;
    row-gap: 7px !important;
    margin: 0 !important;
}

.modern-upload-shell .solution-accordion-item,
.modern-upload-shell .solution-accordion-item.accordion-item,
.modern-upload-shell .accordion-collapse,
.modern-upload-shell .solution-accordion-body {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.modern-upload-shell .stage-solution-card {
    width: 100% !important;
    min-height: 58px !important;
    display: grid !important;
    grid-template-columns: 18px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 10px 16px !important;
    border-radius: 15px !important;
}

.modern-upload-shell .stage-solution-card .solution-indicator,
.modern-upload-shell .solution-indicator {
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    align-self: center !important;
}

.modern-upload-shell .solution-copy {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(180px, 220px) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 18px !important;
    margin: 0 !important;
    overflow: hidden !important;
}

.modern-upload-shell .solution-copy strong {
    min-width: 0 !important;
    min-height: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    color: #f8fbff !important;
    font-size: .98rem !important;
    font-weight: 800 !important;
    line-height: 1.18 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.modern-upload-shell .solution-copy small,
.modern-upload-shell .stage-solution-card.has-stage-badge .solution-copy small {
    min-width: 0 !important;
    max-width: none !important;
    padding-left: 0 !important;
    margin: 0 !important;
    color: #c8d6ef !important;
    font-size: .82rem !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

.modern-upload-shell .solution-stage-badge {
    width: 30px !important;
    height: 28px !important;
    flex: 0 0 30px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    font-size: .82rem !important;
}

.modern-upload-shell .solution-stage-badge i {
    top: -7px !important;
    right: -7px !important;
    width: 17px !important;
    height: 17px !important;
    font-size: .64rem !important;
}

.modern-upload-shell .stage-solution-card em {
    align-self: center !important;
    margin: 0 !important;
    padding-left: 6px !important;
    white-space: nowrap !important;
}

@media (max-width: 767.98px) {
    .modern-upload-shell .solution-accordion,
    .modern-upload-shell .stage-solution-list,
    .modern-upload-shell .stage-solution-list.grouped,
    .modern-upload-shell .solution-accordion-body {
        gap: 7px !important;
        row-gap: 7px !important;
    }

    .modern-upload-shell .stage-solution-card {
        min-height: 60px !important;
        grid-template-columns: 18px minmax(0, 1fr) !important;
        padding: 10px 14px !important;
    }

    .modern-upload-shell .solution-copy {
        grid-template-columns: 1fr !important;
        gap: 3px !important;
    }

    .modern-upload-shell .solution-copy strong,
    .modern-upload-shell .solution-copy small {
        white-space: normal !important;
        overflow: visible !important;
        text-overflow: clip !important;
    }

    .modern-upload-shell .stage-solution-card em {
        grid-column: 2 !important;
        justify-self: start !important;
        padding-left: 0 !important;
    }
}

/* v1.8.85: safer live Files search and customer notification flashing */
.files-live-search-status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin-left: 10px;
    color: #9fc4ff;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.customer-open-file-btn.flash-attention,
.portal-layout-customer .nav-entry.has-file-alert.flash-attention {
    animation: ivtCustomerFilePulse 1.1s ease-in-out infinite;
}

.customer-open-file-btn.needs-attention {
    border-color: rgba(255, 52, 84, .72) !important;
    background: linear-gradient(135deg, rgba(255, 52, 84, .96), rgba(177, 22, 49, .96)) !important;
    color: #ffffff !important;
    box-shadow: 0 0 0 1px rgba(255, 52, 84, .32), 0 14px 32px rgba(255, 52, 84, .24) !important;
}

.portal-layout-customer .nav-entry.has-file-alert.flash-attention {
    border-color: rgba(255, 52, 84, .70) !important;
    background: rgba(255, 52, 84, .12) !important;
    box-shadow: 0 0 0 1px rgba(255, 52, 84, .22), 0 0 24px rgba(255, 52, 84, .20) !important;
}

@keyframes ivtCustomerFilePulse {
    0%, 100% {
        filter: brightness(1);
        box-shadow: 0 0 0 1px rgba(255, 52, 84, .28), 0 0 16px rgba(255, 52, 84, .22);
    }
    50% {
        filter: brightness(1.18);
        box-shadow: 0 0 0 1px rgba(255, 52, 84, .70), 0 0 32px rgba(255, 52, 84, .48);
    }
}

@media (max-width: 767.98px) {
    .files-live-search-status {
        width: 100%;
        margin-left: 0;
    }
}


/* v1.8.86: safe customer files search hotfix */
.files-live-search-status {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    margin-left: 10px;
    color: #9fc4ff;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.portal-layout-customer .nav-entry.has-file-alert.flash-attention {
    animation: ivtCustomerFilePulse 1.1s ease-in-out infinite;
    border-color: rgba(255, 52, 84, .70) !important;
    background: rgba(255, 52, 84, .12) !important;
    box-shadow: 0 0 0 1px rgba(255, 52, 84, .22), 0 0 24px rgba(255, 52, 84, .20) !important;
}

@keyframes ivtCustomerFilePulse {
    0%, 100% {
        filter: brightness(1);
        box-shadow: 0 0 0 1px rgba(255, 52, 84, .28), 0 0 16px rgba(255, 52, 84, .22);
    }
    50% {
        filter: brightness(1.18);
        box-shadow: 0 0 0 1px rgba(255, 52, 84, .70), 0 0 32px rgba(255, 52, 84, .48);
    }
}

@media (max-width: 767.98px) {
    .files-live-search-status {
        width: 100%;
        margin-left: 0;
    }
}

/* v1.8.87: right-aligned Files controls and live files-only search polish */
.files-table-tools {
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 14px !important;
    padding-left: 28px !important;
    padding-right: 28px !important;
    text-align: right !important;
}

.files-table-tools label {
    justify-content: flex-end !important;
    white-space: nowrap !important;
}

.files-table-tools label:first-child {
    margin-right: auto !important;
}

.files-table-tools .form-control {
    width: 230px !important;
    text-align: left !important;
}

.files-live-search-status {
    justify-content: flex-start !important;
    min-width: 118px !important;
    margin-left: 0 !important;
    text-align: left !important;
}

.files-pagination-row.is-live-searching > div {
    display: none !important;
}

@media (max-width: 767.98px) {
    .files-table-tools {
        align-items: stretch !important;
        text-align: left !important;
    }

    .files-table-tools label:first-child {
        margin-right: 0 !important;
    }

    .files-table-tools label {
        justify-content: space-between !important;
    }

    .files-table-tools .form-control,
    .files-live-search-status {
        width: 100% !important;
        min-width: 0 !important;
    }
}

/* v1.8.88: reliable files-only live search controls and sticky upload price sidebar */
.files-screen-card .files-table-tools {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: flex-end !important;
    align-items: center !important;
    gap: 12px !important;
    padding: 0 clamp(18px, 2vw, 28px) 18px !important;
    margin-left: auto !important;
    text-align: right !important;
}

.files-screen-card .files-table-tools label,
.files-screen-card .files-table-tools label:first-child {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: auto !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.files-screen-card .files-table-tools [data-files-search] {
    width: clamp(260px, 28vw, 420px) !important;
    max-width: 420px !important;
    text-align: left !important;
}

.files-screen-card .files-live-search-status {
    justify-content: flex-start !important;
    min-width: 145px !important;
    max-width: 240px !important;
    margin: 0 !important;
    text-align: left !important;
}

.modern-upload-shell .wizard-stage-side {
    position: sticky !important;
    top: 96px !important;
    align-self: start !important;
    max-height: calc(100vh - 118px) !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    scrollbar-width: thin;
    z-index: 5;
}

.modern-upload-shell .wizard-stage-side .promo-card,
.modern-upload-shell .wizard-stage-side .estimate-card,
.modern-upload-shell .wizard-stage-side .service-hours-card {
    width: 100% !important;
}

@media (max-width: 1199.98px) {
    .modern-upload-shell .wizard-stage-side {
        position: static !important;
        top: auto !important;
        max-height: none !important;
        overflow: visible !important;
    }
}

@media (max-width: 767.98px) {
    .files-screen-card .files-table-tools {
        justify-content: stretch !important;
        align-items: stretch !important;
        text-align: left !important;
    }

    .files-screen-card .files-table-tools label,
    .files-screen-card .files-table-tools label:first-child,
    .files-screen-card .files-table-tools [data-files-search],
    .files-screen-card .files-live-search-status {
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
    }
}


/* v1.8.89: stable Files controls - page size left, fixed-width search right */
.files-screen-card .files-table-tools {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 16px !important;
    width: 100% !important;
    padding: 0 clamp(18px, 2vw, 28px) 18px !important;
    margin: 0 !important;
    text-align: left !important;
}

.files-screen-card .files-page-size-control {
    justify-self: start !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.files-screen-card .files-search-tools {
    justify-self: end !important;
    display: grid !important;
    grid-template-columns: auto 150px !important;
    align-items: center !important;
    gap: 10px !important;
    width: 560px !important;
    max-width: 100% !important;
    min-width: 560px !important;
}

.files-screen-card .files-search-control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: 400px !important;
    min-width: 400px !important;
    max-width: 400px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.files-screen-card .files-search-control [data-files-search] {
    flex: 0 0 340px !important;
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    text-align: left !important;
    transition: border-color .15s ease, box-shadow .15s ease, background-color .15s ease !important;
}

.files-screen-card .files-live-search-status {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 150px !important;
    min-width: 150px !important;
    max-width: 150px !important;
    margin: 0 !important;
    overflow: hidden !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
}

@media (max-width: 991.98px) {
    .files-screen-card .files-table-tools {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
        gap: 12px !important;
    }

    .files-screen-card .files-page-size-control,
    .files-screen-card .files-search-tools {
        justify-self: stretch !important;
    }

    .files-screen-card .files-search-tools {
        grid-template-columns: 1fr !important;
        width: 100% !important;
        min-width: 0 !important;
    }

    .files-screen-card .files-search-control,
    .files-screen-card .files-search-control [data-files-search],
    .files-screen-card .files-live-search-status {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }

    .files-screen-card .files-search-control {
        justify-content: space-between !important;
    }
}


/* v1.8.90: place Files live-search match count tightly below the search input */
.files-screen-card .files-search-tools {
    justify-self: end !important;
    display: grid !important;
    grid-template-columns: 400px !important;
    grid-template-rows: auto auto !important;
    align-items: start !important;
    justify-items: end !important;
    gap: 3px !important;
    width: 400px !important;
    min-width: 400px !important;
    max-width: 400px !important;
}

.files-screen-card .files-search-control {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    gap: 8px !important;
    width: 400px !important;
    min-width: 400px !important;
    max-width: 400px !important;
    margin: 0 !important;
    white-space: nowrap !important;
}

.files-screen-card .files-search-control [data-files-search] {
    flex: 0 0 340px !important;
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
}

.files-screen-card .files-live-search-status {
    display: block !important;
    justify-self: end !important;
    width: 340px !important;
    min-width: 340px !important;
    max-width: 340px !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.2 !important;
    text-align: left !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
}

@media (max-width: 991.98px) {
    .files-screen-card .files-search-tools,
    .files-screen-card .files-search-control,
    .files-screen-card .files-search-control [data-files-search],
    .files-screen-card .files-live-search-status {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}


/* v1.8.93: mirror customer service status clock in admin backend header */
.portal-layout-admin .admin-topbar-shell {
    min-height: 70px;
}
.portal-layout-admin .admin-topbar-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    flex-wrap: wrap;
}
.portal-layout-admin .admin-page-heading {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    color: #eef2ff;
}
.portal-layout-admin .admin-page-heading strong {
    margin: 0;
    color: #f6f8fd;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1;
}
.portal-layout-admin .admin-topbar-dot,
.portal-layout-admin .admin-topbar-label,
.portal-layout-admin .admin-service-copy {
    color: #d5d8e3;
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}
.portal-layout-admin .admin-topbar-label {
    color: #e7ebf5;
}
.portal-layout-admin .admin-service-status,
.portal-layout-admin .admin-service-chip,
.portal-layout-admin .admin-clock-chip {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    border: 1px solid transparent;
    border-radius: 6px;
    background: #111522;
    color: #d7deed;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    box-shadow: none;
}
.portal-layout-admin .admin-service-status {
    padding: 0 11px;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .02em;
}
.portal-layout-admin .admin-service-status.offline {
    background: #ff5a6c;
    color: #ffffff;
}
.portal-layout-admin .admin-service-status.online {
    background: #0db39e;
    color: #ffffff;
}
.portal-layout-admin .admin-service-chip,
.portal-layout-admin .admin-clock-chip {
    padding: 0 12px;
    border-color: rgba(82, 93, 127, .35);
    background: #0d1020;
    color: #aeb6c9;
    font-size: 12px;
    font-weight: 700;
}
.portal-layout-admin .admin-clock-chip {
    gap: 7px;
    color: #8b95ac;
    font-variant-numeric: tabular-nums;
}
.portal-layout-admin .admin-clock-chip svg {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
}
.portal-layout-admin .admin-service-status:hover,
.portal-layout-admin .admin-service-chip:hover,
.portal-layout-admin .admin-clock-chip:hover {
    filter: brightness(1.05);
}
html[data-theme="light"] .portal-layout-admin .admin-page-heading strong {
    color: #102033;
}
html[data-theme="light"] .portal-layout-admin .admin-page-heading,
html[data-theme="light"] .portal-layout-admin .admin-topbar-label {
    color: #1f2937;
}
html[data-theme="light"] .portal-layout-admin .admin-topbar-dot,
html[data-theme="light"] .portal-layout-admin .admin-service-copy {
    color: #64748b;
}
html[data-theme="light"] .portal-layout-admin .admin-service-chip,
html[data-theme="light"] .portal-layout-admin .admin-clock-chip {
    background: #ffffff;
    border-color: rgba(148, 163, 184, .45);
    color: #475569;
}
@media (max-width: 767.98px) {
    .portal-layout-admin .admin-topbar-title-row {
        gap: 8px;
    }
    .portal-layout-admin .admin-page-heading {
        flex-basis: 100%;
    }
    .portal-layout-admin .admin-service-chip,
    .portal-layout-admin .admin-clock-chip {
        padding: 0 10px;
    }
}


/* v1.8.94: dark-only profile and customer account editing */
html,
html[data-theme="light"],
html[data-theme="dark"] {
    color-scheme: dark !important;
}
.theme-toggle-btn,
.guest-theme-toggle {
    display: none !important;
}
.customer-profile-link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    text-decoration: none;
}
.customer-profile-link:hover .customer-greeting {
    color: #ffffff;
}
.customer-profile-link:hover .customer-avatar-badge,
.user-chip-btn:hover span {
    box-shadow: 0 0 0 3px rgba(32, 213, 199, .16);
}
.profile-page,
.customer-manager-page {
    gap: 18px;
}
.profile-hero-card .hero-stat-row div strong {
    max-width: 220px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.profile-details-card,
.customer-account-edit-card {
    overflow: visible !important;
}
.profile-edit-form {
    gap: 18px !important;
}
.profile-form-section {
    display: grid;
    gap: 16px;
    padding: 18px;
    border: 1px solid rgba(126, 146, 183, .18);
    border-radius: 24px;
    background: rgba(12, 19, 34, .58);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035);
}
.profile-form-section.compact {
    padding: 16px;
}
.profile-form-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(126, 146, 183, .14);
}
.profile-form-section-head span {
    color: #ffffff;
    font-size: 14px;
    font-weight: 950;
    letter-spacing: -.01em;
}
.profile-form-section-head small {
    color: #93a4bd;
    font-size: 12px;
    font-weight: 750;
    text-align: right;
}
.profile-edit-form .form-grid,
.profile-edit-form .form-grid.two-up,
.profile-edit-form .form-grid.three-up {
    display: grid;
    gap: 16px;
}
.profile-edit-form .form-grid.two-up {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.profile-edit-form .form-grid.three-up {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.profile-edit-form label {
    display: grid;
    gap: 9px;
    min-width: 0;
    color: #eef4ff;
    font-size: 13px;
    font-weight: 850;
}
.profile-edit-form .form-control,
.profile-edit-form .form-select {
    min-height: 54px;
    width: 100%;
    border-radius: 17px !important;
    padding: 13px 15px !important;
    background-color: rgba(8, 15, 29, .96) !important;
    border-color: rgba(133, 155, 190, .42) !important;
    color: #f8fbff !important;
}
.profile-edit-form .form-control:focus,
.profile-edit-form .form-select:focus {
    border-color: rgba(32, 213, 199, .70) !important;
    box-shadow: 0 0 0 .2rem rgba(32, 213, 199, .11) !important;
}
.profile-edit-form .password-section {
    background: rgba(17, 24, 39, .64);
}
.profile-edit-form .form-action-row {
    display: flex;
    justify-content: flex-end;
}
.customer-summary-card .detail-list dd {
    overflow-wrap: anywhere;
}
.portal-dropdown .dropdown-item {
    color: #e7edf9;
    font-weight: 750;
}
.portal-dropdown .dropdown-item:hover {
    background: rgba(32, 213, 199, .10);
    color: #ffffff;
}
@media (max-width: 991.98px) {
    .profile-edit-form .form-grid.two-up,
    .profile-edit-form .form-grid.three-up {
        grid-template-columns: 1fr;
    }
    .profile-form-section-head {
        align-items: flex-start;
        flex-direction: column;
    }
    .profile-form-section-head small {
        text-align: left;
    }
}

.user-chip-link {
    text-decoration: none !important;
}
.admin-logout-form {
    margin: 0;
}
.portal-layout-admin .topbar-actions {
    gap: 10px;
}


/* v1.8.95: cleaner profile header status-only summary */
.profile-hero-card {
    align-items: center !important;
}
.profile-status-summary {
    display: flex;
    justify-content: flex-end;
    min-width: min(320px, 100%);
}
.profile-status-block {
    display: grid;
    gap: 5px;
    min-width: 240px;
    padding: 16px 18px;
    border: 1px solid rgba(126, 146, 183, .20);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(15, 23, 42, .88), rgba(8, 13, 24, .92));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}
.profile-status-block span {
    color: #8fa3c4;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}
.profile-status-block strong {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: #ffffff;
    font-size: 22px;
    font-weight: 950;
    line-height: 1.05;
}
.profile-status-block strong::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #20d5c7;
    box-shadow: 0 0 0 5px rgba(32, 213, 199, .12);
}
.profile-status-block.is-disabled strong::before {
    background: #ef4444;
    box-shadow: 0 0 0 5px rgba(239, 68, 68, .12);
}
.profile-status-block small {
    color: #b8c6dc;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
}
@media (max-width: 767.98px) {
    .profile-hero-card {
        align-items: stretch !important;
    }
    .profile-status-summary {
        justify-content: stretch;
        min-width: 0;
        width: 100%;
    }
    .profile-status-block {
        min-width: 0;
        width: 100%;
    }
}


/* v1.8.97: admin single-customer account credit controls */
.admin-customer-credit-card {
    overflow: visible !important;
}
.admin-customer-credit-card .account-pricing-heading {
    align-items: flex-start !important;
    gap: 18px !important;
}
.admin-credit-balance-pill {
    flex: 0 0 auto;
    display: grid;
    gap: 5px;
    min-width: 150px;
    padding: 13px 15px;
    border: 1px solid rgba(32, 213, 199, .24);
    border-radius: 18px;
    background: rgba(32, 213, 199, .08);
    text-align: right;
}
.admin-credit-balance-pill small {
    color: #91a3bf;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    line-height: 1;
    text-transform: uppercase;
}
.admin-credit-balance-pill strong {
    color: #ffffff;
    font-size: 24px;
    font-weight: 950;
    line-height: 1;
}
.admin-credit-form textarea.form-control {
    min-height: 104px !important;
    resize: vertical;
}
.admin-credit-history {
    display: grid;
    gap: 10px;
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid rgba(126, 146, 183, .16);
}
.admin-credit-history > strong {
    color: #f7fbff;
    font-size: 13px;
    font-weight: 950;
    letter-spacing: -.01em;
}
.admin-credit-history-row {
    display: grid;
    grid-template-columns: minmax(120px, .65fr) auto;
    gap: 5px 10px;
    padding: 11px 12px;
    border: 1px solid rgba(126, 146, 183, .14);
    border-radius: 16px;
    background: rgba(8, 13, 24, .42);
}
.admin-credit-history-row span {
    color: #9db0ce;
    font-size: 12px;
    font-weight: 800;
}
.admin-credit-history-row b {
    justify-self: end;
    color: #20d5c7;
    font-size: 13px;
    font-weight: 950;
}
.admin-credit-history-row b.is-negative {
    color: #f87171;
}
.admin-credit-history-row small {
    grid-column: 1 / -1;
    color: #c4d0e4;
    font-size: 12px;
    line-height: 1.35;
}
@media (max-width: 767.98px) {
    .admin-customer-credit-card .account-pricing-heading {
        flex-direction: column;
    }
    .admin-credit-balance-pill {
        width: 100%;
        text-align: left;
    }
}


/* v1.8.97: void/refund workflow and locked file state */
.job-badge.badge-danger,
.job-badge.cancelled,
.status-badge.cancelled,
.status-badge.rejected {
    background: rgba(255, 66, 95, .18) !important;
    color: #ff8fa0 !important;
    border: 1px solid rgba(255, 66, 95, .35) !important;
}

.btn-danger,
.btn-void-file {
    min-height: 42px;
    border: 1px solid rgba(255, 66, 95, .55) !important;
    border-radius: 12px !important;
    background: linear-gradient(180deg, #ef314f, #b9152f) !important;
    color: #fff !important;
    font-weight: 900 !important;
    box-shadow: 0 14px 30px rgba(239, 49, 79, .22) !important;
}

.btn-danger:hover,
.btn-void-file:hover {
    background: linear-gradient(180deg, #ff4561, #cf1b38) !important;
    color: #fff !important;
}

.void-action-panel,
.void-lock-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px) auto;
    gap: 14px;
    align-items: center;
    margin-top: 18px;
    padding: 16px;
    border: 1px solid rgba(255, 66, 95, .28);
    border-radius: 18px;
    background: linear-gradient(180deg, rgba(60, 18, 28, .72), rgba(34, 12, 20, .82));
}

.void-lock-panel {
    grid-template-columns: 1fr;
}

.void-action-panel strong,
.void-lock-panel strong,
.void-lock-card strong {
    color: #fff;
    font-weight: 950;
}

.void-action-panel p,
.void-lock-panel p,
.void-lock-card p {
    margin: 4px 0 0;
    color: #ffbec8;
    line-height: 1.45;
}

.void-action-panel .form-control {
    min-height: 44px;
    border-color: rgba(255, 107, 131, .32) !important;
    background: rgba(8, 13, 24, .74) !important;
}

.void-lock-inline,
.void-lock-card {
    padding: 16px;
    border: 1px solid rgba(255, 66, 95, .28);
    border-radius: 16px;
    background: rgba(60, 18, 28, .55);
    color: #ffbec8;
}

.void-lock-card {
    display: grid;
    gap: 8px;
    min-height: 180px;
    align-content: center;
    text-align: center;
}

@media (max-width: 991.98px) {
    .void-action-panel {
        grid-template-columns: 1fr;
    }
}

/* v1.8.98: Shop module */
.shop-page-grid,
.admin-shop-layout {
    display: grid;
    gap: 22px;
}
.shop-hero-card,
.shop-orders-card,
.shop-order-summary-card,
.shop-address-card,
.admin-shop-create-card,
.admin-shop-products-card,
.admin-shop-orders-card {
    overflow: visible;
}
.shop-address-summary {
    display: grid;
    gap: 5px;
    padding: 16px 18px;
    border: 1px solid rgba(126, 146, 183, .18);
    border-radius: 20px;
    background: rgba(255,255,255,.04);
}
.shop-address-summary strong,
.shop-product-title-row strong,
.shop-order-total-row strong,
.shop-address-card h3 {
    color: #fff;
}
.shop-address-summary span,
.shop-address-summary small,
.shop-price-lock-note,
.shop-address-card p,
.shop-address-card small {
    color: #aab8d2;
}
.shop-product-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
    gap: 18px;
}
.shop-product-card {
    display: grid;
    grid-template-rows: auto 1fr;
    padding: 0 !important;
    overflow: hidden !important;
}
.shop-product-card.is-unavailable {
    opacity: .72;
}
.shop-product-media {
    min-height: 160px;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 50% 10%, rgba(32,213,199,.18), transparent 38%), linear-gradient(135deg, rgba(29,38,57,.96), rgba(10,15,27,.96));
    border-bottom: 1px solid rgba(126,146,183,.14);
}
.shop-product-media img {
    width: 100%;
    height: 180px;
    object-fit: cover;
}
.shop-product-media span {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: rgba(32, 213, 199, .14);
    color: #9df9ef;
    font-size: 24px;
    font-weight: 950;
    letter-spacing: .04em;
}
.shop-product-body {
    display: grid;
    gap: 16px;
    padding: 20px;
}
.shop-product-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.shop-product-title-row div {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.shop-product-title-row strong {
    font-size: 18px;
    line-height: 1.2;
}
.shop-product-title-row small,
.shop-product-title-row em {
    color: #8fa0bf;
    font-size: 12px;
    font-style: normal;
    font-weight: 800;
}
.shop-product-title-row em {
    white-space: nowrap;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,.06);
}
.shop-product-body p {
    margin: 0;
    color: #c4cee4;
    line-height: 1.55;
}
.shop-product-buy-row {
    display: grid;
    gap: 14px;
}
.shop-price-pill {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 12px 14px;
    border: 1px solid rgba(32,213,199,.18);
    border-radius: 18px;
    background: rgba(32,213,199,.07);
}
.shop-price-pill span {
    color: #8fa0bf;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.shop-price-pill strong {
    color: #fff;
    font-size: 22px;
    line-height: 1;
}
.shop-buy-form {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 12px;
    align-items: end;
}
.shop-buy-form label,
.admin-shop-product-form label {
    display: grid;
    gap: 8px;
    color: #f4f7ff;
    font-weight: 850;
}
.shop-buy-form label span {
    color: #9aa9c4;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}
.shop-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 30px;
    padding: 6px 11px;
    border-radius: 999px;
    color: #dce6f8;
    background: rgba(148,163,184,.16);
    font-size: 12px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .04em;
}
.shop-status-pill.paid {
    color: #9df9ef;
    background: rgba(32,213,199,.13);
}
.shop-status-pill.pending {
    color: #fde68a;
    background: rgba(245,158,11,.15);
}
.shop-status-pill.cancelled,
.shop-status-pill.failed {
    color: #fecaca;
    background: rgba(239,68,68,.16);
}
.shop-order-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 22px;
    align-items: start;
}
.shop-order-total-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-top: 18px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
}
.shop-order-total-row span {
    color: #9aa9c4;
    font-weight: 900;
}
.shop-order-total-row strong {
    font-size: 26px;
}
.shop-address-card {
    display: grid;
    gap: 8px;
}
.shop-address-card p,
.shop-address-card small {
    margin: 0;
}
.admin-shop-product-form {
    display: grid;
    gap: 16px;
}
.form-grid.two-col {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.form-grid.two-col .span-2 {
    grid-column: span 2;
}
.admin-shop-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}
.admin-shop-flags label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid rgba(126,146,183,.18);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    color: #d9e4f6;
    font-weight: 850;
}
.admin-shop-product-list {
    display: grid;
    gap: 14px;
}
.admin-shop-product-summary {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto auto !important;
    gap: 16px !important;
    align-items: center !important;
    padding: 18px 20px !important;
}
.admin-shop-product-summary span:first-child {
    display: grid;
    gap: 4px;
}
.admin-shop-product-summary strong {
    color: #fff;
    font-size: 17px;
}
.admin-shop-product-summary small {
    color: #98a8c4;
}
.admin-shop-product-summary em {
    color: #9df9ef;
    font-size: 18px;
    font-style: normal;
    font-weight: 950;
}
.admin-shop-delete-form {
    margin-top: 12px;
}
@media (max-width: 991.98px) {
    .shop-order-layout {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 767.98px) {
    .shop-buy-form,
    .form-grid.two-col,
    .admin-shop-product-summary {
        grid-template-columns: 1fr !important;
    }
    .form-grid.two-col .span-2 {
        grid-column: auto;
    }
}


/* v1.8.99: compact Shop tiles, product image uploads and lightbox details */
html.shop-lightbox-open,
html.shop-lightbox-open body {
    overflow: hidden;
}
.shop-product-grid-compact,
.admin-shop-product-tile-grid {
    grid-template-columns: repeat(auto-fill, minmax(178px, 1fr)) !important;
    gap: 14px !important;
}
.shop-product-tile {
    min-height: 248px;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 24px !important;
}
.shop-product-tile-button {
    width: 100%;
    height: 100%;
    min-height: 248px;
    display: grid;
    grid-template-rows: 128px 1fr auto;
    gap: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}
.shop-product-tile-button:hover .shop-product-tile-media img,
.shop-product-tile-button:hover .shop-product-tile-media b {
    transform: scale(1.035);
}
.shop-product-tile-media {
    display: grid;
    place-items: center;
    min-height: 128px;
    overflow: hidden;
    background: radial-gradient(circle at 50% 12%, rgba(32,213,199,.18), transparent 42%), linear-gradient(135deg, rgba(29,38,57,.96), rgba(10,15,27,.96));
    border-bottom: 1px solid rgba(126,146,183,.14);
}
.shop-product-tile-media img {
    width: 100%;
    height: 128px;
    object-fit: cover;
    transition: transform .18s ease;
}
.shop-product-tile-media b,
.shop-lightbox-media span {
    width: 62px;
    height: 62px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: rgba(32, 213, 199, .14);
    color: #9df9ef;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: .04em;
    transition: transform .18s ease;
}
.shop-product-tile-copy {
    min-width: 0;
    display: grid;
    gap: 5px;
    padding: 12px 13px 8px;
}
.shop-product-tile-copy strong {
    display: -webkit-box;
    overflow: hidden;
    color: #fff;
    font-size: 14px;
    line-height: 1.2;
    font-weight: 950;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.shop-product-tile-copy small,
.shop-product-tile-copy em {
    display: block;
    overflow: hidden;
    color: #9aa9c4;
    font-size: 11px;
    font-style: normal;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.shop-product-tile-copy em {
    color: #9df9ef;
}
.shop-product-tile-price {
    margin: 0 12px 12px;
    padding: 8px 10px;
    border: 1px solid rgba(32,213,199,.18);
    border-radius: 14px;
    background: rgba(32,213,199,.08);
    color: #fff;
    font-size: 16px;
    font-weight: 950;
    text-align: center;
}
.shop-lightbox[hidden] { display: none !important; }
.shop-lightbox {
    position: fixed;
    inset: 0;
    z-index: 5000;
    display: grid;
    place-items: center;
    padding: 24px;
}
.shop-lightbox-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(2, 6, 14, .78);
    backdrop-filter: blur(8px);
}
.shop-lightbox-panel {
    position: relative;
    z-index: 1;
    width: min(940px, calc(100vw - 36px));
    max-height: calc(100vh - 36px);
    overflow: auto;
    border: 1px solid rgba(126,146,183,.22);
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(20, 28, 43, .98), rgba(9, 14, 25, .98));
    box-shadow: 0 36px 90px rgba(0,0,0,.54);
}
.admin-shop-lightbox-panel {
    width: min(1120px, calc(100vw - 36px));
}
.shop-lightbox-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 999px;
    background: rgba(255,255,255,.08);
    color: #fff;
    font-size: 28px;
    line-height: 1;
}
.shop-lightbox-grid {
    display: grid;
    grid-template-columns: minmax(260px, .82fr) minmax(0, 1fr);
    gap: 0;
}
.shop-lightbox-media {
    min-height: 520px;
    display: grid;
    place-items: center;
    background: radial-gradient(circle at 50% 8%, rgba(32,213,199,.18), transparent 42%), linear-gradient(135deg, rgba(30,42,64,.98), rgba(8,12,21,.98));
    border-right: 1px solid rgba(126,146,183,.14);
    overflow: hidden;
}
.shop-lightbox-media img {
    width: 100%;
    height: 100%;
    min-height: 520px;
    object-fit: cover;
}
.shop-lightbox-content {
    display: grid;
    gap: 18px;
    align-content: start;
    padding: 34px;
}
.shop-lightbox-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-right: 42px;
}
.shop-lightbox-heading h2 {
    margin: 4px 0 4px;
    color: #fff;
    font-size: clamp(24px, 2vw, 34px);
    line-height: 1.08;
    font-weight: 950;
}
.shop-lightbox-heading small,
.shop-lightbox-description {
    color: #aab8d2;
}
.shop-lightbox-description {
    margin: 0;
    line-height: 1.65;
    white-space: pre-line;
}
.shop-lightbox-price {
    margin-top: 4px;
}
.shop-lightbox-buy-form {
    grid-template-columns: 100px minmax(0, 1fr) !important;
}
.admin-shop-edit-grid {
    grid-template-columns: minmax(250px, .55fr) minmax(0, 1fr);
}
.admin-shop-product-modal-form .form-grid.two-col {
    gap: 14px;
}
.shop-image-upload-field small {
    color: #92a5c2;
    font-size: 12px;
    font-weight: 750;
    line-height: 1.45;
}
.admin-shop-modal-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.admin-shop-delete-form {
    margin-top: 0 !important;
    padding-top: 4px;
}
@media (max-width: 991.98px) {
    .shop-lightbox-grid,
    .admin-shop-edit-grid {
        grid-template-columns: 1fr;
    }
    .shop-lightbox-media,
    .shop-lightbox-media img {
        min-height: 260px;
        max-height: 320px;
    }
    .shop-lightbox-media {
        border-right: 0;
        border-bottom: 1px solid rgba(126,146,183,.14);
    }
    .shop-lightbox-content {
        padding: 24px;
    }
}
@media (max-width: 575.98px) {
    .shop-product-grid-compact,
    .admin-shop-product-tile-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
    }
    .shop-product-tile,
    .shop-product-tile-button {
        min-height: 222px;
    }
    .shop-product-tile-button {
        grid-template-rows: 104px 1fr auto;
    }
    .shop-product-tile-media,
    .shop-product-tile-media img {
        min-height: 104px;
        height: 104px;
    }
    .shop-lightbox {
        padding: 10px;
    }
    .shop-lightbox-panel {
        width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
        border-radius: 22px;
    }
    .shop-lightbox-buy-form {
        grid-template-columns: 1fr !important;
    }
}


/* v1.8.100: admin shop order manager */
.admin-shop-order-grid {
    display: grid;
    gap: 14px;
}
.admin-shop-order-grid-recent {
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
}
.admin-shop-order-grid-full {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
}
.shop-order-block {
    display: grid;
    gap: 12px;
    min-height: 190px;
    padding: 18px !important;
    color: inherit;
    text-decoration: none;
    border-radius: 24px !important;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.shop-order-block:hover {
    transform: translateY(-2px);
    border-color: rgba(32, 213, 199, .34) !important;
    background: linear-gradient(180deg, rgba(28, 38, 58, .98), rgba(12, 18, 31, .98)) !important;
}
.shop-order-block-top,
.shop-order-block-foot {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}
.shop-order-block-top strong {
    color: #fff;
    font-size: 16px;
    line-height: 1.2;
}
.shop-order-block-customer,
.shop-order-block-items,
.shop-order-block-address {
    display: grid;
    gap: 4px;
    min-width: 0;
}
.shop-order-block-customer b {
    color: #f8fbff;
    font-size: 15px;
    line-height: 1.2;
}
.shop-order-block-customer small,
.shop-order-block-items,
.shop-order-block-address,
.shop-order-block-foot em {
    overflow: hidden;
    color: #9aa9c4;
    font-size: 12px;
    font-style: normal;
    font-weight: 750;
    line-height: 1.35;
    text-overflow: ellipsis;
}
.shop-order-block-items {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}
.shop-order-block-foot {
    margin-top: auto;
    padding-top: 10px;
    border-top: 1px solid rgba(126,146,183,.14);
}
.shop-order-block-foot strong {
    color: #9df9ef;
    font-size: 20px;
    line-height: 1;
}
.shop-orders-pagination-card {
    padding: 16px !important;
}
.admin-shop-order-edit-layout {
    grid-template-columns: minmax(0, 1fr) 360px;
}
.admin-shop-order-edit-form,
.admin-order-editor-section {
    display: grid;
    gap: 18px;
}
.admin-order-editor-section {
    padding: 18px;
    border: 1px solid rgba(126,146,183,.18);
    border-radius: 22px;
    background: rgba(255,255,255,.035);
}
.admin-order-editor-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(126,146,183,.12);
}
.admin-order-editor-head strong {
    color: #fff;
    font-size: 15px;
    font-weight: 950;
}
.admin-order-editor-head small,
.admin-order-side-meta small,
.admin-order-items-list small,
.admin-order-history-list small {
    color: #9aa9c4;
}
.admin-order-side-meta,
.admin-order-items-list,
.admin-order-history-list {
    display: grid;
    gap: 12px;
}
.admin-order-side-meta span,
.admin-order-items-list div {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid rgba(126,146,183,.14);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
}
.admin-order-side-meta b,
.admin-order-items-list strong {
    color: #fff;
}
.shop-order-total-row.compact {
    margin-top: 8px;
    padding: 12px 14px;
}
.shop-order-total-row.compact strong {
    font-size: 22px;
}
.shop-status-pill.processing {
    color: #bfdbfe;
    background: rgba(59,130,246,.16);
}
.shop-status-pill.completed {
    color: #bbf7d0;
    background: rgba(34,197,94,.15);
}
.shop-status-pill.refunded {
    color: #e9d5ff;
    background: rgba(168,85,247,.17);
}
@media (max-width: 991.98px) {
    .admin-shop-order-edit-layout {
        grid-template-columns: 1fr;
    }
}


/* v1.8.101: admin shop fulfilment statuses and order tracking */
.shop-status-pill.on_hold {
    color: #fed7aa;
    background: rgba(249, 115, 22, .16);
}
.shop-status-pill.dispatched {
    color: #bae6fd;
    background: rgba(14, 165, 233, .17);
}
.shop-order-block-tracking {
    display: block;
    overflow: hidden;
    padding: 8px 10px;
    border: 1px solid rgba(14, 165, 233, .18);
    border-radius: 12px;
    background: rgba(14, 165, 233, .08);
    color: #bae6fd;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.35;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.admin-order-tracking-editor {
    border-color: rgba(14, 165, 233, .22) !important;
    background: rgba(14, 165, 233, .055) !important;
}
.shop-tracking-card {
    display: grid;
    gap: 8px;
    padding: 13px 14px;
    border: 1px solid rgba(14, 165, 233, .22);
    border-radius: 16px;
    background: rgba(14, 165, 233, .075);
}
.shop-tracking-card strong {
    color: #f8fbff;
    font-size: 14px;
    font-weight: 950;
}
.shop-tracking-card small,
.shop-tracking-card a {
    color: #bae6fd;
    overflow-wrap: anywhere;
}
.shop-tracking-card a:not(.btn) {
    font-size: 12px;
    font-weight: 900;
    text-decoration: none;
}

/* v1.8.102: maintenance version metadata and cache-busting refresh */

/* v1.8.103: VAT-inclusive pricing controls and admin/customer invoice receipt views */

/* v1.8.104: admin-managed customer/admin Knowledge Base */
.knowledge-admin-layout,
.knowledge-customer-layout {
    display: grid;
    gap: 18px;
}
.knowledge-stat-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
    margin-top: 18px;
}
.knowledge-stat-strip span {
    display: grid;
    gap: 2px;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .09);
    border-radius: 18px;
    background: rgba(255, 255, 255, .04);
}
.knowledge-stat-strip strong {
    color: #f8fbff;
    font-size: 24px;
    font-weight: 950;
    line-height: 1;
}
.knowledge-stat-strip small {
    color: #93a4ba;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.knowledge-article-form {
    display: grid;
    gap: 16px;
}
.knowledge-toggle-field {
    display: flex !important;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 12px 14px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 14px;
    background: rgba(255, 255, 255, .04);
    color: #dbeafe;
    font-weight: 850;
}
.knowledge-toggle-field input {
    width: 18px;
    height: 18px;
    accent-color: #38bdf8;
}
.knowledge-body-input {
    min-height: 190px;
    line-height: 1.55;
}
.knowledge-admin-list {
    display: grid;
    gap: 12px;
}
.knowledge-admin-article {
    padding: 0 !important;
    overflow: hidden;
}
.knowledge-admin-article summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 18px 20px;
    cursor: pointer;
    list-style: none;
}
.knowledge-admin-article summary::-webkit-details-marker {
    display: none;
}
.knowledge-admin-article summary span:first-child {
    display: grid;
    gap: 4px;
}
.knowledge-admin-article summary strong {
    color: #f8fbff;
    font-size: 16px;
    font-weight: 950;
}
.knowledge-admin-article summary small {
    color: #93a4ba;
    font-size: 12px;
    font-weight: 800;
}
.knowledge-article-edit-form,
.knowledge-delete-form {
    padding: 0 20px 20px;
}
.knowledge-admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.knowledge-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 950;
    text-transform: uppercase;
    letter-spacing: .05em;
    white-space: nowrap;
}
.knowledge-status-pill.published {
    color: #bbf7d0;
    background: rgba(34, 197, 94, .16);
}
.knowledge-status-pill.draft {
    color: #fed7aa;
    background: rgba(249, 115, 22, .16);
}
.knowledge-search-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, 240px) auto auto;
    gap: 12px;
    margin-top: 18px;
}
.knowledge-card-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.knowledge-card {
    display: grid;
    gap: 10px;
    color: inherit;
    text-decoration: none;
    transition: transform .16s ease, border-color .16s ease, background .16s ease;
}
.knowledge-card:hover {
    transform: translateY(-2px);
    border-color: rgba(56, 189, 248, .32);
    background: rgba(15, 23, 42, .82);
}
.knowledge-card-meta {
    color: #7dd3fc;
    font-size: 11px;
    font-weight: 950;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.knowledge-card strong {
    color: #f8fbff;
    font-size: 18px;
    font-weight: 950;
    line-height: 1.2;
}
.knowledge-card p,
.knowledge-empty-card p {
    color: #a8b3c4;
    margin: 0;
    line-height: 1.55;
}
.knowledge-card em {
    color: #bfdbfe;
    font-size: 13px;
    font-style: normal;
    font-weight: 900;
}
.knowledge-show-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 320px;
    gap: 18px;
    align-items: start;
}
.knowledge-show-card {
    display: grid;
    gap: 18px;
}
.knowledge-show-heading h1 {
    margin: 6px 0 8px;
    color: #f8fbff;
    font-size: clamp(28px, 4vw, 44px);
    font-weight: 950;
    letter-spacing: -.04em;
}
.knowledge-show-heading p {
    max-width: 760px;
    margin: 0;
    color: #a8b3c4;
    font-size: 16px;
    line-height: 1.6;
}
.knowledge-body-copy {
    display: grid;
    gap: 12px;
    color: #d7e4f5;
    font-size: 15px;
    line-height: 1.72;
}
.knowledge-body-copy p {
    margin: 0;
    padding: 14px 16px;
    border: 1px solid rgba(255, 255, 255, .07);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
}
.knowledge-support-note {
    padding: 13px 15px;
    border: 1px solid rgba(56, 189, 248, .18);
    border-radius: 16px;
    background: rgba(14, 165, 233, .08);
    color: #dbeafe;
    font-weight: 800;
}
.knowledge-related-card {
    display: grid;
    gap: 12px;
}
.knowledge-related-list {
    display: grid;
    gap: 10px;
}
.knowledge-related-list a {
    display: grid;
    gap: 4px;
    padding: 12px 13px;
    border: 1px solid rgba(255, 255, 255, .08);
    border-radius: 14px;
    background: rgba(255, 255, 255, .035);
    color: inherit;
    text-decoration: none;
}
.knowledge-related-list strong {
    color: #f8fbff;
    font-size: 13px;
    font-weight: 950;
}
.knowledge-related-list small {
    color: #93a4ba;
    font-size: 12px;
    line-height: 1.45;
}
@media (max-width: 1100px) {
    .knowledge-stat-strip,
    .knowledge-card-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .knowledge-show-layout {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 720px) {
    .knowledge-stat-strip,
    .knowledge-card-grid,
    .knowledge-search-form {
        grid-template-columns: 1fr;
    }
    .knowledge-admin-article summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* v1.8.105: business settings, invoice PDFs and accounting dashboard cards */
.accounting-kpi-grid {
    margin-top: 1rem;
}
.accounting-kpi-grid .kpi-card {
    min-height: 120px;
}

/* v1.8.106: editable email templates and compact admin menu polish */
.portal-layout-admin .enterprise-nav a.nav-entry,
.portal-layout-admin .sidebar-nav a.nav-entry,
.portal-layout-admin .sidebar-nav a {
    min-height: 66px;
    padding: 8px 7px;
    overflow: hidden;
}
.portal-layout-admin .nav-entry-main {
    gap: 6px;
    min-width: 0;
}
.portal-layout-admin .nav-entry-main > span:last-child {
    width: 100%;
    min-width: 0;
}
.portal-layout-admin .nav-label {
    max-width: 100%;
    white-space: normal;
    overflow: hidden;
    overflow-wrap: anywhere;
    word-break: normal;
    text-overflow: clip;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 12px;
    line-height: 1.12;
}
.portal-layout-admin .nav-entry small {
    max-width: 100%;
    white-space: normal;
    overflow: hidden;
    text-overflow: ellipsis;
}
.portal-layout-admin .nav-icon {
    width: 34px;
    height: 34px;
    flex-basis: 34px;
}
.portal-layout-admin .nav-icon svg {
    width: 18px;
    height: 18px;
}
.email-hero-card {
    min-height: unset;
}
.email-template-card .email-template-title-input {
    margin-top: 8px;
    max-width: 520px;
    color: #fff !important;
    font-size: 22px;
    font-weight: 950;
    letter-spacing: -.02em;
}
.email-body-editor {
    min-height: 220px;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 13px;
}
.email-variable-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}
.email-variable-cloud code {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 9px;
    border: 1px solid rgba(32, 213, 199, .22);
    border-radius: 999px;
    background: rgba(32, 213, 199, .08);
    color: #aaf7ef;
    font-size: 12px;
}
.email-test-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    padding-top: 14px;
    border-top: 1px solid rgba(148, 163, 184, .12);
}
.email-log-list {
    display: grid;
    gap: 10px;
    max-height: 760px;
    overflow: auto;
    padding-right: 4px;
}
.email-log-item {
    padding: 13px;
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
}
.email-log-item strong {
    color: #fff;
    font-size: 13px;
    line-height: 1.35;
}
.email-log-item p,
.email-log-item small {
    color: #9fb0ca;
}
.email-log-error {
    margin-top: 8px;
    padding: 8px 10px;
    border: 1px solid rgba(248, 113, 113, .25);
    border-radius: 12px;
    color: #fecaca;
    background: rgba(248, 113, 113, .08);
    font-size: 12px;
}
@media (max-width: 767.98px) {
    .email-test-row {
        grid-template-columns: 1fr;
    }
}
.portal-layout-admin .nav-label-line {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
    gap: 4px !important;
}

/* v1.8.108: readable admin email-template page and less cramped admin navigation */
.portal-layout-admin .enterprise-nav a.nav-entry,
.portal-layout-admin .sidebar-nav a.nav-entry,
.portal-layout-admin .sidebar-nav a {
    min-height: 58px !important;
    padding: 11px 12px !important;
    gap: 10px !important;
    overflow: visible !important;
}
.portal-layout-admin .nav-entry-main {
    justify-content: flex-start !important;
    gap: 10px !important;
    min-width: 0 !important;
}
.portal-layout-admin .nav-entry-main > span:last-child {
    min-width: 0 !important;
    width: auto !important;
    flex: 1 1 auto !important;
}
.portal-layout-admin .nav-label-line {
    width: 100% !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap !important;
    gap: 6px !important;
}
.portal-layout-admin .nav-label,
.portal-layout-admin .nav-entry .nav-label {
    display: block !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    -webkit-line-clamp: unset !important;
    -webkit-box-orient: initial !important;
    font-size: 12.8px !important;
    line-height: 1.22 !important;
}
.portal-layout-admin .nav-icon {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px !important;
}
.portal-layout-admin .nav-arrow {
    flex: 0 0 auto !important;
    opacity: .65 !important;
}
.email-template-page.email-admin-polish {
    display: grid;
    gap: 24px;
    width: 100%;
}
.email-admin-polish .email-page-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
    gap: 24px;
    align-items: stretch;
    padding: 32px !important;
    overflow: visible;
}
.email-admin-polish .email-page-hero-copy {
    min-width: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 10px;
}
.email-admin-polish .email-page-hero h1 {
    margin: 0;
    color: #fff;
    font-size: clamp(28px, 3vw, 44px);
    line-height: 1.04;
    letter-spacing: -.04em;
    font-weight: 950;
}
.email-admin-polish .email-page-hero p,
.email-admin-polish .email-template-help-card p {
    max-width: 920px;
    color: #aebdd2;
    font-size: 15px;
    line-height: 1.65;
}
.email-admin-polish code {
    color: #aaf7ef;
    word-break: break-word;
}
.email-admin-polish .email-settings-panel {
    display: grid;
    gap: 16px;
    align-content: start;
    padding: 20px;
    border: 1px solid rgba(148, 163, 184, .16);
    border-radius: 18px;
    background: rgba(8, 13, 23, .64);
}
.email-admin-polish .email-settings-panel label,
.email-admin-polish .email-test-row label {
    display: grid;
    gap: 8px;
    margin: 0;
}
.email-admin-polish .email-settings-panel small {
    color: #90a1ba;
    font-size: 12px;
    line-height: 1.45;
}
.email-admin-polish .email-template-help-card {
    padding: 24px !important;
}
.email-admin-polish .email-template-help-card h2,
.email-admin-polish .email-log-card h2 {
    margin: 0 0 8px;
    color: #fff;
    font-size: 22px;
    line-height: 1.15;
    font-weight: 950;
    letter-spacing: -.025em;
}
.email-template-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, 390px);
    gap: 24px;
    align-items: start;
}
.email-template-main,
.email-template-side,
.email-template-card-title,
.email-template-fields,
.email-body-field {
    min-width: 0;
}
.email-template-stack,
.email-template-form,
.email-template-fields {
    display: grid;
    gap: 18px;
}
.email-admin-polish .email-template-card {
    padding: 28px !important;
    overflow: visible;
}
.email-template-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    padding-bottom: 18px;
    border-bottom: 1px solid rgba(148, 163, 184, .14);
}
.email-template-card-title {
    flex: 1 1 auto;
    display: grid;
    gap: 10px;
}
.email-template-card-title label,
.email-template-fields label,
.email-body-field {
    display: grid;
    gap: 8px;
    margin: 0;
}
.email-template-title-input,
.email-template-card .email-template-title-input {
    width: 100% !important;
    max-width: none !important;
    margin-top: 0 !important;
    color: #fff !important;
    font-size: 18px !important;
    font-weight: 900 !important;
    letter-spacing: -.015em !important;
}
.email-template-toggle {
    flex: 0 0 auto;
    min-width: 120px;
    justify-content: center;
}
.email-body-editor {
    width: 100%;
    min-height: 330px !important;
    padding: 16px !important;
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: 14px !important;
    line-height: 1.62 !important;
    resize: vertical;
}
.email-variable-panel {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid rgba(32, 213, 199, .16);
    border-radius: 16px;
    background: rgba(32, 213, 199, .055);
}
.email-variable-panel > span {
    color: #dbeafe;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.email-variable-cloud {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}
.email-variable-cloud code {
    display: inline-flex;
    align-items: center;
    min-height: 30px;
    padding: 6px 10px;
    border: 1px solid rgba(32, 213, 199, .24);
    border-radius: 999px;
    background: rgba(32, 213, 199, .10);
    color: #aaf7ef;
    font-size: 12px;
    line-height: 1.2;
}
.email-template-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: flex-start;
}
.email-test-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 12px;
    margin-top: 20px !important;
    padding-top: 20px;
    border-top: 1px solid rgba(148, 163, 184, .14);
}
.email-log-card {
    position: sticky;
    top: 96px;
    padding: 24px !important;
}
.email-log-heading {
    margin-bottom: 16px;
}
.email-log-list {
    display: grid;
    gap: 12px;
    max-height: calc(100vh - 180px);
    overflow: auto;
    padding-right: 6px;
}
.email-log-item {
    padding: 15px;
    border: 1px solid rgba(148, 163, 184, .14);
    border-radius: 16px;
    background: rgba(255, 255, 255, .04);
}
.email-log-item-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 8px;
}
.email-log-item strong {
    min-width: 0;
    color: #fff;
    font-size: 13px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.email-log-item p {
    margin: 0 0 5px;
    color: #aebdd2;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
.email-log-item small {
    color: #8ea0bb;
    line-height: 1.45;
}
.email-log-error {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid rgba(248, 113, 113, .28);
    border-radius: 12px;
    color: #fecaca;
    background: rgba(248, 113, 113, .08);
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}
@media (max-width: 1280px) {
    .email-template-workspace,
    .email-admin-polish .email-page-hero {
        grid-template-columns: 1fr;
    }
    .email-log-card {
        position: static;
    }
    .email-log-list {
        max-height: 560px;
    }
}
@media (max-width: 767.98px) {
    .email-admin-polish .email-page-hero,
    .email-admin-polish .email-template-card,
    .email-admin-polish .email-template-help-card,
    .email-log-card {
        padding: 20px !important;
    }
    .email-template-card-head,
    .email-test-row {
        grid-template-columns: 1fr;
    }
    .email-template-card-head {
        display: grid;
    }
    .email-test-row {
        display: grid;
    }
    .email-template-toggle {
        width: 100%;
        min-width: 0;
        justify-content: flex-start;
    }
}


/* v1.8.110: restored advanced customer upload wizard by removing normal safe-fallback takeover. */

/* v1.8.111: vehicle lookup API settings hardening for restored upload selector. */
.vehicle-lookup-status {
    grid-column: 1 / -1;
    margin-top: .75rem;
    padding: .75rem .95rem;
    border-radius: 14px;
    border: 1px solid rgba(148, 163, 184, .22);
    background: rgba(15, 23, 42, .72);
    color: rgba(226, 232, 240, .88);
    font-size: .88rem;
    line-height: 1.45;
}
.vehicle-lookup-status.is-error {
    border-color: rgba(248, 113, 113, .42);
    background: rgba(127, 29, 29, .18);
    color: #fecaca;
}

/* v1.8.112: solution pricing lives on the selectable upload Solutions, not a separate base-price estimate box. */
.modern-upload-shell .wizard-stage-side .estimate-card {
    display: none !important;
}

.modern-upload-shell .stage-solution-card .price-tag,
.modern-upload-shell .stage-solution-card em.price-tag {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    min-width: 74px !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 7px 11px !important;
    background: rgba(18, 255, 174, .12) !important;
    border: 1px solid rgba(18, 255, 174, .32) !important;
    color: #bfffe9 !important;
    font-style: normal !important;
    font-weight: 900 !important;
    letter-spacing: .01em !important;
}

.modern-upload-shell .stage-solution-card .price-tag small,
.modern-upload-shell .stage-solution-card em.price-tag small {
    color: #8edec5 !important;
    font-size: .66rem !important;
    font-weight: 800 !important;
    text-transform: uppercase !important;
}

.modern-upload-shell .stage-solution-card .quote-tag,
.modern-upload-shell .stage-solution-card em.quote-tag {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 999px !important;
    padding: 7px 11px !important;
    background: rgba(148, 163, 184, .11) !important;
    border: 1px solid rgba(148, 163, 184, .24) !important;
    color: #d6dfef !important;
    font-style: normal !important;
    font-weight: 800 !important;
}


/* v1.8.113: admin nav labels and upload browse button contrast polish. */
.portal-layout-admin .enterprise-nav .nav-section,
.portal-layout-admin .nav-section {
    color: #ffffff !important;
    opacity: 1 !important;
    text-shadow: 0 1px 12px rgba(255, 255, 255, .08);
}

.form-control[type="file"]::file-selector-button,
.portal-input[type="file"]::file-selector-button,
input[type="file"].form-control::file-selector-button {
    margin: -0.375rem .85rem -0.375rem -0.75rem !important;
    min-height: 44px !important;
    border: 0 !important;
    border-right: 1px solid rgba(6, 16, 22, .18) !important;
    border-radius: 13px !important;
    padding: 10px 16px !important;
    color: #061016 !important;
    background: linear-gradient(135deg, var(--ivt-accent), #8ffff7) !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
    box-shadow: 0 10px 22px rgba(32, 213, 199, .14) !important;
    transition: filter .16s ease, transform .16s ease, box-shadow .16s ease !important;
}

.form-control[type="file"]:hover::file-selector-button,
.portal-input[type="file"]:hover::file-selector-button,
input[type="file"].form-control:hover::file-selector-button,
.form-control[type="file"]::file-selector-button:hover,
.portal-input[type="file"]::file-selector-button:hover,
input[type="file"].form-control::file-selector-button:hover {
    color: #061016 !important;
    background: linear-gradient(135deg, var(--ivt-accent), #a7fff9) !important;
    filter: brightness(1.04) !important;
    box-shadow: 0 12px 26px rgba(32, 213, 199, .20) !important;
}

.upload-dropzone .upload-drop-copy strong,
.support-dropzone strong[data-file-label],
.support-dropzone strong {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 42px !important;
    border-radius: 14px !important;
    padding: 10px 18px !important;
    color: #061016 !important;
    background: linear-gradient(135deg, var(--ivt-accent), #8ffff7) !important;
    box-shadow: 0 12px 28px rgba(32, 213, 199, .16) !important;
    font-size: 14px !important;
    font-weight: 950 !important;
    letter-spacing: -.01em !important;
}

.upload-dropzone:hover .upload-drop-copy strong,
.support-dropzone:hover strong[data-file-label],
.support-dropzone:hover strong {
    color: #061016 !important;
    background: linear-gradient(135deg, var(--ivt-accent), #a7fff9) !important;
    filter: brightness(1.04) !important;
}

.upload-dropzone,
.support-dropzone {
    transition: border-color .16s ease, background .16s ease, box-shadow .16s ease, transform .16s ease !important;
}

.upload-dropzone:hover,
.support-dropzone:hover {
    border-color: rgba(32, 213, 199, .42) !important;
    background: rgba(13, 21, 38, .98) !important;
    box-shadow: inset 0 0 0 1px rgba(32, 213, 199, .08), 0 18px 40px rgba(0, 0, 0, .16) !important;
}

/* v1.8.114: slightly larger main portal branding/logo. */
.sidebar-head {
    min-height: 66px !important;
}

.sidebar-logo {
    min-height: 62px !important;
    align-items: center !important;
    justify-content: center !important;
}

.sidebar-logo img {
    width: 148px !important;
    max-width: 100% !important;
    max-height: 64px !important;
    height: auto !important;
    object-fit: contain !important;
}

.login-brand-mark img {
    width: 224px !important;
    max-width: min(86vw, 224px) !important;
    max-height: 96px !important;
    height: auto !important;
    object-fit: contain !important;
}

@media (max-width: 991.98px) {
    .sidebar-logo img {
        width: 140px !important;
        max-height: 60px !important;
    }
}

/* v1.8.115: customer logo alignment matches the admin sidebar branding position. */
.portal-layout-customer .sidebar-head {
    height: auto !important;
    min-height: 88px !important;
    padding: 18px 10px 14px !important;
    margin-bottom: 8px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: transparent !important;
}

.portal-layout-customer .sidebar-logo {
    width: 100% !important;
    min-height: 64px !important;
    height: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
}

.portal-layout-customer .sidebar-logo img {
    width: 148px !important;
    max-width: 100% !important;
    max-height: 64px !important;
    height: auto !important;
    margin: 0 auto !important;
    display: block !important;
    object-fit: contain !important;
}

@media (max-width: 991.98px) {
    .portal-layout-customer .sidebar-head {
        min-height: 82px !important;
        padding-top: 16px !important;
        padding-bottom: 12px !important;
    }

    .portal-layout-customer .sidebar-logo img {
        width: 140px !important;
        max-height: 60px !important;
    }
}

/* v1.8.116: compact admin dashboard summary cards to preserve vertical space. */
.portal-layout-admin .admin-home-grid {
    gap: 18px;
}
.portal-layout-admin .admin-home-grid > .kpi-grid,
.portal-layout-admin .admin-home-grid > .accounting-kpi-grid {
    grid-template-columns: repeat(5, minmax(132px, 1fr));
    gap: 12px;
    margin-top: 0;
}
.portal-layout-admin .admin-home-grid > .kpi-grid .kpi-card,
.portal-layout-admin .admin-home-grid > .accounting-kpi-grid .kpi-card {
    min-height: 92px;
    padding: 14px 16px;
    border-radius: 18px;
    box-shadow: none;
    justify-content: center;
}
.portal-layout-admin .admin-home-grid > .kpi-grid .kpi-card span,
.portal-layout-admin .admin-home-grid > .accounting-kpi-grid .kpi-card span {
    margin-bottom: 6px;
    font-size: 10px;
    line-height: 1.15;
    letter-spacing: .075em;
}
.portal-layout-admin .admin-home-grid > .kpi-grid .kpi-card strong,
.portal-layout-admin .admin-home-grid > .accounting-kpi-grid .kpi-card strong {
    margin-top: 0;
    font-size: clamp(24px, 2.1vw, 30px);
    line-height: .95;
    letter-spacing: -.045em;
}
.portal-layout-admin .admin-home-grid > .kpi-grid .kpi-card small,
.portal-layout-admin .admin-home-grid > .accounting-kpi-grid .kpi-card small {
    margin-top: 7px;
    font-size: 12px;
    line-height: 1.25;
}
.portal-layout-admin .admin-home-grid > .kpi-grid + .accounting-kpi-grid {
    margin-top: -2px;
}
.portal-layout-admin .command-hero {
    min-height: 238px;
}
.portal-layout-admin .admin-action-tile {
    min-height: 106px;
    padding: 16px;
    border-radius: 18px;
}
.portal-layout-admin .admin-action-tile strong {
    font-size: 28px;
}
@media (max-width: 1280px) {
    .portal-layout-admin .admin-home-grid > .kpi-grid,
    .portal-layout-admin .admin-home-grid > .accounting-kpi-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .portal-layout-admin .admin-home-grid > .kpi-grid,
    .portal-layout-admin .admin-home-grid > .accounting-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .portal-layout-admin .admin-home-grid > .kpi-grid .kpi-card,
    .portal-layout-admin .admin-home-grid > .accounting-kpi-grid .kpi-card {
        min-height: 88px;
    }
}

/* v1.8.118: admin system health diagnostics page. */
.system-health-page {
    align-items: start;
}
.system-health-hero {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}
.system-health-hero h2,
.system-health-section h2 {
    margin: 0 0 6px;
}
.system-health-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
}
.system-health-mail-card {
    display: grid;
    gap: 16px;
}
.system-health-mail-form {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto;
    gap: 12px;
    align-items: end;
}
.system-health-last-result {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,.08);
    background: rgba(255,255,255,.04);
}
.system-health-last-result strong,
.system-health-last-result span {
    color: #f8fbff;
}
.system-health-last-result small {
    color: #a9bad0;
    line-height: 1.45;
}
.system-health-last-result.is-ok {
    border-color: rgba(34,197,94,.24);
    background: rgba(34,197,94,.08);
}
.system-health-last-result.is-warn {
    border-color: rgba(245,158,11,.24);
    background: rgba(245,158,11,.08);
}
.system-health-section {
    border: 1px solid var(--ivt-line);
    border-radius: 22px;
    background: linear-gradient(180deg, rgba(17,24,39,.96), rgba(10,16,29,.96));
    padding: 20px;
    box-shadow: var(--ivt-shadow-soft);
}
.system-health-section-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 14px;
}
.system-health-checks {
    display: grid;
    gap: 8px;
}
.system-health-check {
    display: grid;
    grid-template-columns: 10px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    padding: 10px 12px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    background: rgba(255,255,255,.035);
}
.system-health-check strong {
    display: block;
    color: #f8fbff;
    font-size: 13px;
    font-weight: 950;
}
.system-health-check small {
    display: block;
    color: #a9bad0;
    font-size: 12px;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.health-dot {
    width: 9px;
    height: 9px;
    margin-top: 5px;
    border-radius: 50%;
    background: #ef4444;
    box-shadow: 0 0 0 3px rgba(239,68,68,.12);
}
.health-dot.ok { background: #22c55e; box-shadow: 0 0 0 3px rgba(34,197,94,.12); }
.health-dot.warn { background: #f59e0b; box-shadow: 0 0 0 3px rgba(245,158,11,.14); }
.health-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 26px;
    padding: 0 10px;
    border-radius: 999px;
    color: #fff;
    font-size: 10px;
    font-weight: 950;
    letter-spacing: .08em;
    background: rgba(239,68,68,.16);
    border: 1px solid rgba(239,68,68,.25);
}
.health-pill.ok { background: rgba(34,197,94,.14); border-color: rgba(34,197,94,.24); }
.health-pill.warn { background: rgba(245,158,11,.14); border-color: rgba(245,158,11,.24); }
.system-health-log-panel {
    min-height: 100%;
}
.system-health-log-list {
    display: grid;
    gap: 10px;
    max-height: 520px;
    overflow: auto;
    padding-right: 4px;
}
.system-health-log-list.compact {
    max-height: 420px;
}
.system-health-log-entry {
    display: grid;
    gap: 8px;
    padding: 12px 14px;
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 16px;
    background: rgba(255,255,255,.035);
}
.system-health-log-entry div {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}
.system-health-log-entry strong {
    color: #f8fbff;
    font-size: 13px;
    font-weight: 950;
}
.system-health-log-entry span {
    color: #93c5fd;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}
.system-health-log-entry p,
.system-health-empty {
    margin: 0;
    color: #a9bad0;
    font-size: 12px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}
.system-health-empty {
    padding: 14px;
    border: 1px dashed rgba(255,255,255,.12);
    border-radius: 16px;
    background: rgba(255,255,255,.025);
}
@media (max-width: 991.98px) {
    .system-health-hero {
        align-items: stretch;
        flex-direction: column;
    }
    .system-health-actions {
        justify-content: flex-start;
    }
    .system-health-mail-form {
        grid-template-columns: 1fr;
    }
}

/* v1.8.119: support tickets */
.ticket-page-shell { display: grid; gap: 18px; }
.ticket-hero-card { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.ticket-hero-card h1 { margin: 6px 0 8px; color: #fff; font-size: clamp(1.5rem, 2.4vw, 2.4rem); }
.ticket-toolbar,
.ticket-admin-filter-card { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.ticket-toolbar strong { color: #fff; font-size: 2rem; line-height: 1; display: block; }
.ticket-toolbar span { color: #91a4c1; font-size: .9rem; }
.ticket-filter-form { display: flex; align-items: center; gap: 10px; min-width: min(100%, 360px); }
.ticket-filter-form .form-select { min-width: 220px; }
.ticket-list-grid,
.ticket-admin-list { display: grid; gap: 14px; }
.ticket-list-card { display: block; padding: 20px; border: 1px solid rgba(148,163,184,.18); border-radius: 24px; background: linear-gradient(145deg, rgba(15,23,42,.94), rgba(8,13,24,.98)); text-decoration: none; color: #dbe8fb; box-shadow: 0 18px 42px rgba(0,0,0,.24); transition: transform .16s ease, border-color .16s ease, background .16s ease; }
.ticket-list-card:hover { transform: translateY(-2px); border-color: rgba(32,213,199,.42); background: linear-gradient(145deg, rgba(15,34,52,.98), rgba(8,13,24,.98)); color: #fff; }
.ticket-card-head,
.ticket-meta-row,
.ticket-message-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.ticket-number { color: #20d5c7; font-weight: 800; letter-spacing: .08em; font-size: .8rem; text-transform: uppercase; }
.ticket-list-card h2 { margin: 12px 0 8px; color: #fff; font-size: 1.05rem; }
.ticket-list-card p { margin: 0; color: #b8c6d9; }
.ticket-list-card small { color: #7f92ad; }
.ticket-meta-row span { display: inline-flex; align-items: center; padding: 6px 9px; border: 1px solid rgba(148,163,184,.18); border-radius: 999px; color: #b8c6d9; font-size: .82rem; background: rgba(15,23,42,.55); }
.ticket-form-grid,
.ticket-detail-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 380px); gap: 18px; align-items: start; }
.ticket-form-card h2,
.ticket-thread-card h2,
.ticket-summary-card h2 { color: #fff; margin-bottom: 14px; }
.ticket-textarea { min-height: 145px; resize: vertical; line-height: 1.55; }
.ticket-help-note { padding: 12px 14px; border: 1px solid rgba(32,213,199,.25); background: rgba(32,213,199,.08); border-radius: 16px; color: #b8fffa; font-size: .9rem; }
.ticket-thread { display: grid; gap: 14px; }
.ticket-message { padding: 16px; border-radius: 20px; border: 1px solid rgba(148,163,184,.16); background: rgba(15,23,42,.72); }
.ticket-message.admin-message { border-color: rgba(32,213,199,.28); background: rgba(32,213,199,.07); }
.ticket-message.customer-message { border-color: rgba(96,165,250,.22); background: rgba(30,41,59,.72); }
.ticket-message-head strong { color: #fff; }
.ticket-message-head span { color: #7f92ad; font-size: .84rem; }
.ticket-message-body { margin-top: 10px; color: #dbe8fb; line-height: 1.65; white-space: normal; }
.ticket-attachments { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.ticket-attachments a { display: inline-flex; align-items: center; gap: 8px; padding: 8px 10px; border-radius: 999px; border: 1px solid rgba(32,213,199,.28); background: rgba(32,213,199,.08); color: #cffffb; text-decoration: none; font-size: .85rem; }
.ticket-attachments a:hover { background: rgba(32,213,199,.16); color: #fff; }
.ticket-attachments span { color: #91a4c1; font-size: .78rem; }
.ticket-reply-form { margin-top: 18px; padding-top: 18px; border-top: 1px solid rgba(148,163,184,.15); }
.ticket-summary-list { display: grid; grid-template-columns: 120px minmax(0,1fr); gap: 10px 14px; margin: 0; }
.ticket-summary-list dt { color: #91a4c1; font-size: .82rem; }
.ticket-summary-list dd { margin: 0; color: #fff; word-break: break-word; }
.ticket-admin-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(220px, 280px); gap: 18px; align-items: start; }
.ticket-admin-meta { display: grid; gap: 4px; text-align: right; }
.ticket-admin-meta strong { color: #fff; }
.ticket-admin-meta span,
.ticket-admin-meta small { color: #91a4c1; }
.ticket-kpi-grid { margin: 0; }
.ticket-kpi-grid .kpi-card { min-height: 92px; }
@media (max-width: 991.98px) {
    .ticket-hero-card,
    .ticket-toolbar { align-items: stretch; flex-direction: column; }
    .ticket-form-grid,
    .ticket-detail-grid,
    .ticket-admin-row { grid-template-columns: 1fr; }
    .ticket-admin-meta { text-align: left; }
    .ticket-filter-form { width: 100%; }
    .ticket-filter-form .form-select { min-width: 0; width: 100%; }
}

/* v1.8.120: customer wallet and admin credit ledger. */
.wallet-page-grid,
.admin-wallet-page {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    gap: 18px;
}

.wallet-hero-card,
.admin-wallet-hero {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 24px;
}

.wallet-hero-card h2,
.admin-wallet-hero h2 {
    margin: 4px 0 6px;
    color: #fff;
}

.wallet-hero-card p,
.admin-wallet-hero p {
    margin: 0;
    color: var(--text-muted);
    max-width: 720px;
}

.wallet-balance-panel {
    min-width: 230px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(245, 158, 11, .18), rgba(255,255,255,.06));
    padding: 18px;
    display: grid;
    gap: 10px;
    text-align: right;
}

.wallet-balance-panel small,
.wallet-ledger-money small,
.wallet-ledger-main small {
    color: var(--text-muted);
}

.wallet-balance-panel strong {
    color: #fff;
    font-size: clamp(1.9rem, 4vw, 2.8rem);
    line-height: 1;
}

.wallet-kpi-grid,
.admin-wallet-kpis {
    grid-column: 1 / -1;
}

.wallet-ledger-card,
.admin-wallet-filter-card,
.admin-wallet-table-card {
    grid-column: 1 / -1;
}

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

.wallet-ledger-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 18px;
    background: rgba(255,255,255,.035);
}

.wallet-ledger-main {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 0;
}

.wallet-ledger-main strong {
    color: #fff;
}

.wallet-ledger-main p {
    margin: 2px 0;
    color: var(--text-muted);
}

.wallet-ledger-icon {
    width: 38px;
    height: 38px;
    border-radius: 14px;
    display: grid;
    place-items: center;
    font-weight: 900;
    border: 1px solid rgba(255,255,255,.12);
    flex: 0 0 auto;
}

.wallet-ledger-icon.is-credit {
    color: #bbf7d0;
    background: rgba(34,197,94,.14);
}

.wallet-ledger-icon.is-debit {
    color: #fecaca;
    background: rgba(239,68,68,.14);
}

.wallet-ledger-money {
    display: grid;
    gap: 4px;
    text-align: right;
    white-space: nowrap;
}

.wallet-ledger-money strong,
.wallet-positive {
    color: #bbf7d0;
}

.wallet-ledger-money strong.is-debit,
.wallet-negative {
    color: #fecaca;
}

.admin-wallet-filters {
    display: grid;
    grid-template-columns: minmax(180px, 1.1fr) minmax(220px, 1.2fr) minmax(150px, .8fr) minmax(160px, .8fr) auto;
    gap: 12px;
    align-items: end;
}

.admin-wallet-filter-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.admin-wallet-table code {
    color: #fde68a;
    background: rgba(245,158,11,.12);
    border: 1px solid rgba(245,158,11,.2);
    border-radius: 8px;
    padding: 3px 7px;
}

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

.admin-credit-history-head strong {
    margin: 0 !important;
}

@media (max-width: 991px) {
    .wallet-hero-card,
    .admin-wallet-hero,
    .wallet-ledger-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .wallet-balance-panel,
    .wallet-ledger-money {
        width: 100%;
        text-align: left;
    }

    .admin-wallet-filters {
        grid-template-columns: 1fr;
    }

    .admin-wallet-filter-actions {
        justify-content: stretch;
    }

    .admin-wallet-filter-actions .btn {
        flex: 1;
    }
}

/* v1.8.121: robust Shop product opening fallbacks */
.shop-product-tile-button,
a.shop-product-tile-button {
    text-decoration: none !important;
}
.shop-product-tile-button:focus-visible,
a.shop-product-tile-button:focus-visible {
    outline: 2px solid rgba(32, 213, 199, .78);
    outline-offset: -2px;
}
.shop-product-detail-page {
    display: grid;
    gap: 18px;
}
.shop-product-detail-card {
    overflow: hidden;
    border: 1px solid rgba(126,146,183,.22);
    border-radius: 30px;
    background: linear-gradient(180deg, rgba(20, 28, 43, .98), rgba(9, 14, 25, .98));
}

/* v1.8.127: clean admin product editor modal and support ticket spacing. */
.portal-layout-admin .admin-shop-lightbox-panel {
    width: min(1010px, calc(100vw - 44px)) !important;
    max-height: calc(100vh - 44px) !important;
    border-radius: 26px !important;
    overflow: auto !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-grid,
.portal-layout-admin .shop-product-detail-card.admin-shop-edit-grid {
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 0 !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-media,
.portal-layout-admin .shop-product-detail-card .shop-lightbox-media {
    min-height: 0 !important;
    height: auto !important;
    align-content: start !important;
    place-items: start center !important;
    padding: 22px !important;
    background:
        radial-gradient(circle at 50% 8%, rgba(32,213,199,.16), transparent 38%),
        linear-gradient(145deg, rgba(17,27,45,.98), rgba(8,13,24,.98)) !important;
    border-right: 1px solid rgba(126,146,183,.16) !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-media img,
.portal-layout-admin .shop-product-detail-card .shop-lightbox-media img {
    width: 100% !important;
    height: clamp(240px, 34vw, 410px) !important;
    min-height: 0 !important;
    max-height: 410px !important;
    object-fit: contain !important;
    object-position: center !important;
    border-radius: 20px !important;
    background: rgba(3, 8, 18, .34) !important;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.06), 0 20px 42px rgba(0,0,0,.26) !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-media span,
.portal-layout-admin .shop-product-detail-card .shop-lightbox-media span {
    width: 96px !important;
    height: 96px !important;
    margin-top: 12px !important;
    border-radius: 26px !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-content,
.portal-layout-admin .shop-product-detail-card .shop-lightbox-content {
    gap: 14px !important;
    padding: 30px 32px 26px !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-heading,
.portal-layout-admin .shop-product-detail-card .shop-lightbox-heading {
    align-items: flex-start !important;
    gap: 12px !important;
    padding-right: 46px !important;
    margin-bottom: 2px !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-heading h2,
.portal-layout-admin .shop-product-detail-card .shop-lightbox-heading h2 {
    font-size: clamp(24px, 2vw, 32px) !important;
    margin: 3px 0 5px !important;
}

.portal-layout-admin .admin-shop-product-modal-form .form-grid.two-col {
    gap: 12px 14px !important;
}

.portal-layout-admin .admin-shop-product-modal-form label {
    gap: 7px !important;
    font-size: 13px !important;
}

.portal-layout-admin .admin-shop-product-modal-form .form-control,
.portal-layout-admin .admin-shop-product-modal-form .form-select {
    min-height: 48px !important;
    border-radius: 15px !important;
}

.portal-layout-admin .admin-shop-product-modal-form textarea.form-control {
    min-height: 122px !important;
}

.portal-layout-admin .admin-shop-flags {
    gap: 10px !important;
    margin-top: 2px !important;
}

.portal-layout-admin .admin-shop-flags label {
    min-height: 42px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
}

.portal-layout-admin .admin-shop-modal-actions,
.portal-layout-admin .admin-shop-delete-form {
    margin-top: 8px !important;
}

.portal-layout-admin .shop-lightbox-close {
    top: 16px !important;
    right: 16px !important;
}

.portal-layout-admin .admin-ticket-page {
    width: 100% !important;
    gap: 16px !important;
}

.portal-layout-admin .admin-ticket-page .ticket-hero-card {
    min-height: 0 !important;
    display: block !important;
    padding: 24px 28px !important;
    border-radius: 22px !important;
}

.portal-layout-admin .admin-ticket-page .ticket-hero-card h1 {
    margin: 8px 0 8px !important;
    font-size: clamp(28px, 2.4vw, 40px) !important;
    line-height: 1.08 !important;
}

.portal-layout-admin .admin-ticket-page .ticket-hero-card p {
    max-width: 880px !important;
}

.portal-layout-admin .admin-ticket-page .ticket-kpi-grid {
    grid-template-columns: repeat(3, minmax(150px, 1fr)) !important;
    gap: 12px !important;
}

.portal-layout-admin .admin-ticket-page .ticket-kpi-grid .kpi-card {
    min-height: 86px !important;
    padding: 14px 16px !important;
    border-radius: 18px !important;
    box-shadow: none !important;
}

.portal-layout-admin .ticket-admin-filter-card {
    width: 100% !important;
    display: block !important;
    padding: 22px 24px !important;
    border-radius: 22px !important;
}

.portal-layout-admin .admin-ticket-filter-form {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: minmax(260px, 1.45fr) repeat(3, minmax(140px, .75fr)) auto !important;
    gap: 14px !important;
    align-items: end !important;
}

.portal-layout-admin .admin-ticket-filter-form .form-label {
    margin-bottom: 7px !important;
    color: #eef5ff !important;
    font-size: 13px !important;
    font-weight: 900 !important;
}

.portal-layout-admin .admin-ticket-filter-form .form-control,
.portal-layout-admin .admin-ticket-filter-form .form-select {
    min-height: 52px !important;
    width: 100% !important;
    border-radius: 16px !important;
}

.portal-layout-admin .ticket-filter-actions {
    display: flex !important;
    gap: 10px !important;
    justify-content: flex-end !important;
    min-width: max-content !important;
}

.portal-layout-admin .ticket-filter-actions .btn {
    min-height: 52px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding-inline: 18px !important;
    white-space: nowrap !important;
}

.portal-layout-admin .ticket-admin-list {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}

.portal-layout-admin .ticket-admin-list > .portal-card {
    width: 100% !important;
    padding: 28px !important;
    border-radius: 22px !important;
}

.portal-layout-admin .admin-ticket-list-card {
    width: 100% !important;
}

@media (max-width: 1180px) {
    .portal-layout-admin .admin-ticket-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .portal-layout-admin .ticket-filter-search,
    .portal-layout-admin .ticket-filter-actions {
        grid-column: span 2 !important;
    }
    .portal-layout-admin .ticket-filter-actions {
        justify-content: flex-start !important;
    }
}

@media (max-width: 991.98px) {
    .portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-grid,
    .portal-layout-admin .shop-product-detail-card.admin-shop-edit-grid {
        grid-template-columns: 1fr !important;
    }
    .portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-media,
    .portal-layout-admin .shop-product-detail-card .shop-lightbox-media {
        border-right: 0 !important;
        border-bottom: 1px solid rgba(126,146,183,.16) !important;
    }
    .portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-media img,
    .portal-layout-admin .shop-product-detail-card .shop-lightbox-media img {
        height: clamp(220px, 44vw, 330px) !important;
        max-height: 330px !important;
    }
    .portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-content,
    .portal-layout-admin .shop-product-detail-card .shop-lightbox-content {
        padding: 24px !important;
    }
}

@media (max-width: 720px) {
    .portal-layout-admin .admin-ticket-page .ticket-kpi-grid,
    .portal-layout-admin .admin-ticket-filter-form {
        grid-template-columns: 1fr !important;
    }
    .portal-layout-admin .ticket-filter-search,
    .portal-layout-admin .ticket-filter-actions {
        grid-column: auto !important;
    }
    .portal-layout-admin .ticket-filter-actions {
        flex-direction: column !important;
        align-items: stretch !important;
    }
}



/* v1.8.128: tidy admin support filter and empty-state block alignment. */
.portal-layout-admin .admin-ticket-page {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 16px !important;
    width: 100% !important;
}

.portal-layout-admin .admin-ticket-page > .ticket-hero-card,
.portal-layout-admin .admin-ticket-page > .ticket-kpi-grid,
.portal-layout-admin .admin-ticket-page > .ticket-admin-filter-card,
.portal-layout-admin .admin-ticket-page > .ticket-admin-list,
.portal-layout-admin .admin-ticket-page > .mt-4 {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: none !important;
}

.portal-layout-admin .ticket-admin-filter-card {
    padding: 18px 20px !important;
    overflow: visible !important;
}

.portal-layout-admin .admin-ticket-filter-form {
    display: grid !important;
    grid-template-columns: minmax(280px, 1.6fr) repeat(3, minmax(150px, .85fr)) auto !important;
    gap: 12px !important;
    align-items: end !important;
    width: 100% !important;
}

.portal-layout-admin .admin-ticket-filter-form .ticket-filter-field {
    min-width: 0 !important;
}

.portal-layout-admin .admin-ticket-filter-form .form-label {
    margin: 0 0 8px !important;
    line-height: 1.1 !important;
}

.portal-layout-admin .admin-ticket-filter-form .form-control,
.portal-layout-admin .admin-ticket-filter-form .form-select {
    min-height: 50px !important;
    height: 50px !important;
    padding: 0 16px !important;
}

.portal-layout-admin .ticket-filter-actions {
    min-width: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, max-content) !important;
    gap: 10px !important;
    justify-content: end !important;
    align-items: end !important;
}

.portal-layout-admin .ticket-filter-actions .btn {
    min-height: 50px !important;
    height: 50px !important;
    padding: 0 18px !important;
    border-radius: 15px !important;
}

.portal-layout-admin .ticket-admin-list {
    margin-top: 0 !important;
}

.portal-layout-admin .ticket-admin-list > .admin-ticket-empty-state,
.portal-layout-admin .ticket-admin-list > .portal-card.admin-ticket-empty-state {
    min-height: 118px !important;
    display: grid !important;
    place-items: center !important;
    align-content: center !important;
    gap: 8px !important;
    padding: 24px 28px !important;
    border-radius: 22px !important;
    text-align: center !important;
}

.portal-layout-admin .admin-ticket-empty-state h2 {
    margin: 0 !important;
    font-size: clamp(24px, 2vw, 32px) !important;
    line-height: 1.08 !important;
}

.portal-layout-admin .admin-ticket-empty-state .eyebrow {
    margin: 0 !important;
}

@media (max-width: 1280px) {
    .portal-layout-admin .admin-ticket-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .portal-layout-admin .admin-ticket-filter-form .ticket-filter-search,
    .portal-layout-admin .admin-ticket-filter-form .ticket-filter-actions {
        grid-column: 1 / -1 !important;
    }
    .portal-layout-admin .ticket-filter-actions {
        justify-content: start !important;
    }
}

@media (max-width: 720px) {
    .portal-layout-admin .ticket-admin-filter-card {
        padding: 16px !important;
    }
    .portal-layout-admin .admin-ticket-filter-form {
        grid-template-columns: 1fr !important;
    }
    .portal-layout-admin .admin-ticket-filter-form .ticket-filter-search,
    .portal-layout-admin .admin-ticket-filter-form .ticket-filter-actions {
        grid-column: auto !important;
    }
    .portal-layout-admin .ticket-filter-actions {
        grid-template-columns: 1fr !important;
    }
    .portal-layout-admin .ticket-filter-actions .btn {
        width: 100% !important;
    }
}


/* v1.8.129: admin UI consistency, shop/support cleanup and updater diagnostics polish. */
.portal-layout-admin .content-wrap {
    gap: 18px;
}

.portal-layout-admin .portal-card,
.portal-layout-admin .queue-panel,
.portal-layout-admin .side-panel,
.portal-layout-admin .upload-card {
    border-radius: 22px !important;
}

.portal-layout-admin .portal-card:not(.kpi-card):not(.shop-product-tile):not(.shop-order-block) {
    padding: clamp(18px, 1.5vw, 26px) !important;
}

.portal-layout-admin .card-heading-row {
    gap: 16px !important;
    margin-bottom: 18px !important;
}

.portal-layout-admin .card-heading-row h2,
.portal-layout-admin .portal-card h2.card-title {
    margin-bottom: 6px !important;
    line-height: 1.1 !important;
}

.portal-layout-admin .form-grid {
    gap: 14px !important;
}

.portal-layout-admin label {
    line-height: 1.25;
}

.portal-layout-admin .form-control,
.portal-layout-admin .form-select,
.portal-layout-admin textarea.form-control {
    border-radius: 15px !important;
    border-color: rgba(139, 155, 188, .34) !important;
    background: rgba(8, 15, 30, .76) !important;
    color: #f7fbff !important;
}

.portal-layout-admin .form-control:focus,
.portal-layout-admin .form-select:focus,
.portal-layout-admin textarea.form-control:focus {
    border-color: rgba(84, 244, 235, .76) !important;
    box-shadow: 0 0 0 .18rem rgba(84, 244, 235, .14) !important;
}

.portal-layout-admin .btn {
    border-radius: 15px !important;
    font-weight: 900 !important;
}

.portal-layout-admin .btn-accent,
.portal-layout-admin .portal-action-btn {
    color: #06141e !important;
}

.portal-layout-admin .admin-shop-layout {
    gap: 18px !important;
}

.portal-layout-admin .admin-shop-product-tile-grid {
    gap: 16px !important;
}

.portal-layout-admin .shop-lightbox {
    padding: 20px !important;
}

.portal-layout-admin .admin-shop-lightbox-panel {
    width: min(1060px, calc(100vw - 48px)) !important;
    max-height: min(86vh, 780px) !important;
    border-radius: 26px !important;
    overflow: hidden !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-grid,
.portal-layout-admin .shop-product-detail-card.admin-shop-edit-grid {
    grid-template-columns: minmax(240px, 34%) minmax(0, 1fr) !important;
    min-height: 0 !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-media,
.portal-layout-admin .shop-product-detail-card .shop-lightbox-media {
    min-height: 0 !important;
    max-height: inherit !important;
    padding: 18px !important;
    display: grid !important;
    place-items: center !important;
    background: linear-gradient(145deg, rgba(20, 35, 57, .98), rgba(7, 14, 28, .98)) !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-media img,
.portal-layout-admin .shop-product-detail-card .shop-lightbox-media img {
    width: 100% !important;
    height: auto !important;
    max-width: 330px !important;
    max-height: 420px !important;
    object-fit: contain !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 38px rgba(0,0,0,.24) !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-content,
.portal-layout-admin .shop-product-detail-card .shop-lightbox-content {
    padding: clamp(22px, 2vw, 34px) !important;
    overflow-y: auto !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-heading {
    margin-bottom: 18px !important;
    padding-right: 58px !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-heading h2 {
    font-size: clamp(26px, 2.3vw, 38px) !important;
    line-height: 1.05 !important;
    margin: 6px 0 6px !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .admin-shop-product-modal-form .form-control {
    min-height: 50px !important;
}

.portal-layout-admin .admin-shop-lightbox-panel .admin-shop-product-modal-form textarea.form-control {
    min-height: 132px !important;
    line-height: 1.5 !important;
    padding-top: 14px !important;
}

.portal-layout-admin .admin-shop-flags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

.portal-layout-admin .admin-shop-flags label {
    margin: 0 !important;
    padding: 10px 13px !important;
    border: 1px solid rgba(139,155,188,.24) !important;
    border-radius: 14px !important;
    background: rgba(13, 22, 40, .72) !important;
    color: #f2f7ff !important;
}

.portal-layout-admin .admin-shop-modal-actions {
    margin-top: 16px !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
}

.portal-layout-admin .admin-shop-delete-form {
    margin-top: 12px !important;
}

.portal-layout-admin .shop-lightbox-close {
    top: 16px !important;
    right: 16px !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 999px !important;
    z-index: 5 !important;
}

.portal-layout-admin .admin-ticket-page {
    gap: 14px !important;
}

.portal-layout-admin .admin-ticket-page .ticket-hero-card {
    padding: 22px 24px !important;
}

.portal-layout-admin .admin-ticket-page .ticket-hero-card h1 {
    font-size: clamp(27px, 2.1vw, 36px) !important;
    margin: 8px 0 6px !important;
}

.portal-layout-admin .admin-ticket-page .ticket-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 12px !important;
    margin: 0 !important;
}

.portal-layout-admin .admin-ticket-page .ticket-kpi-grid .kpi-card {
    min-height: 78px !important;
    padding: 13px 16px !important;
}

.portal-layout-admin .ticket-admin-filter-card {
    padding: 18px !important;
    width: 100% !important;
}

.portal-layout-admin .admin-ticket-filter-form {
    grid-template-columns: minmax(260px, 1.7fr) repeat(3, minmax(136px, .8fr)) max-content !important;
    gap: 12px !important;
}

.portal-layout-admin .admin-ticket-filter-form .form-control,
.portal-layout-admin .admin-ticket-filter-form .form-select,
.portal-layout-admin .ticket-filter-actions .btn {
    height: 48px !important;
    min-height: 48px !important;
}

.portal-layout-admin .ticket-filter-actions {
    display: flex !important;
    gap: 8px !important;
    justify-content: flex-end !important;
    align-items: end !important;
}

.portal-layout-admin .ticket-admin-list > .admin-ticket-empty-state {
    min-height: 110px !important;
    padding: 20px 24px !important;
}

.portal-layout-admin .admin-ticket-empty-state h2 {
    font-size: clamp(22px, 1.8vw, 30px) !important;
}

.portal-layout-admin .updater-actions {
    gap: 12px !important;
}

.portal-layout-admin .updater-actions form {
    padding: 14px !important;
    border-radius: 18px !important;
}

.updater-log-excerpt {
    border: 1px solid rgba(139,155,188,.24);
    border-radius: 18px;
    background: rgba(8, 15, 30, .72);
    overflow: hidden;
}

.updater-log-excerpt summary {
    cursor: pointer;
    padding: 14px 16px;
    color: #f4f8ff;
    font-weight: 900;
}

.updater-log-excerpt pre {
    margin: 0;
    padding: 16px;
    max-height: 360px;
    overflow: auto;
    color: #d9e5fa;
    background: rgba(3, 7, 15, .86);
    border-top: 1px solid rgba(139,155,188,.18);
    white-space: pre-wrap;
    font-size: 12px;
    line-height: 1.55;
}

@media (max-width: 1300px) {
    .portal-layout-admin .admin-ticket-filter-form {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
    .portal-layout-admin .admin-ticket-filter-form .ticket-filter-search,
    .portal-layout-admin .admin-ticket-filter-form .ticket-filter-actions {
        grid-column: 1 / -1 !important;
    }
    .portal-layout-admin .ticket-filter-actions {
        justify-content: flex-start !important;
    }
}

@media (max-width: 991.98px) {
    .portal-layout-admin .admin-shop-lightbox-panel {
        width: min(720px, calc(100vw - 28px)) !important;
        max-height: 90vh !important;
    }
    .portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-grid,
    .portal-layout-admin .shop-product-detail-card.admin-shop-edit-grid {
        grid-template-columns: 1fr !important;
    }
    .portal-layout-admin .admin-shop-lightbox-panel .shop-lightbox-media img,
    .portal-layout-admin .shop-product-detail-card .shop-lightbox-media img {
        max-height: 260px !important;
    }
    .portal-layout-admin .admin-ticket-page .ticket-kpi-grid {
        grid-template-columns: 1fr !important;
    }
}

@media (max-width: 720px) {
    .portal-layout-admin .admin-ticket-filter-form {
        grid-template-columns: 1fr !important;
    }
    .portal-layout-admin .admin-ticket-filter-form .ticket-filter-search,
    .portal-layout-admin .admin-ticket-filter-form .ticket-filter-actions {
        grid-column: auto !important;
    }
    .portal-layout-admin .ticket-filter-actions {
        display: grid !important;
        grid-template-columns: 1fr !important;
    }
    .portal-layout-admin .shop-lightbox {
        padding: 10px !important;
    }
}


/* v1.8.130: remove repeated select arrows and restore clean dark controls */
html[data-theme="dark"] select,
html[data-theme="dark"] .form-select,
html[data-theme="dark"] select.form-select,
.portal-body select,
.portal-body .form-select,
.portal-layout-admin select,
.portal-layout-admin .form-select,
.portal-layout-customer select,
.portal-layout-customer .form-select,
.modern-upload-shell .form-select,
.files-table-tools .form-select,
.wizard-select-row .form-select,
.account-pricing-form .form-select,
.admin-ticket-filter-form .form-select,
.ticket-filter-form .form-select,
.admin-pricing-editor .form-select,
.profile-edit-form .form-select {
    -webkit-appearance: none !important;
    -moz-appearance: none !important;
    appearance: none !important;
    background-image: none !important;
    background-repeat: no-repeat !important;
    background-size: 0 0 !important;
    background-position: right 1rem center !important;
    padding-right: 1rem !important;
}

html[data-theme="dark"] select:focus,
html[data-theme="dark"] .form-select:focus,
.portal-body select:focus,
.portal-body .form-select:focus {
    background-image: none !important;
}

.portal-layout-admin .admin-open-file-btn,
.portal-layout-admin a.admin-open-file-btn,
.portal-layout-admin .admin-queue-table .admin-open-file-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 76px !important;
    min-height: 40px !important;
    padding: 10px 18px !important;
    line-height: 1 !important;
    border-radius: 14px !important;
    border: 1px solid rgba(32, 213, 199, .62) !important;
    background: linear-gradient(135deg, rgba(32, 213, 199, .22), rgba(50, 153, 255, .18)) !important;
    color: #f7ffff !important;
    text-align: center !important;
    text-decoration: none !important;
    box-shadow: 0 10px 24px rgba(32, 213, 199, .12) !important;
}
.portal-layout-admin .admin-open-file-btn:hover,
.portal-layout-admin a.admin-open-file-btn:hover,
.portal-layout-admin .admin-queue-table .admin-open-file-btn:hover {
    border-color: rgba(32, 213, 199, .9) !important;
    background: linear-gradient(135deg, rgba(32, 213, 199, .32), rgba(50, 153, 255, .26)) !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}
.portal-layout-admin .admin-open-file-btn.needs-attention {
    background: linear-gradient(135deg, #dc2626, #ef4444) !important;
    border-color: #f87171 !important;
    color: #ffffff !important;
}

.admin-job-safe-grid .portal-card { min-height: 0; }


/* v1.8.131: job manager robustness and customer security controls */
/* v1.8.132: quiet job fallback, updater version sync and customer/IP safety guards */
.portal-layout-admin .customer-danger-zone {
    border-color: rgba(239, 68, 68, .28) !important;
    background: linear-gradient(145deg, rgba(35, 20, 25, .92), rgba(13, 22, 40, .96)) !important;
}
.portal-layout-admin .danger-eyebrow {
    color: #fda4af !important;
}
.portal-layout-admin .customer-danger-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.portal-layout-admin .danger-control-card {
    border: 1px solid rgba(139,155,188,.22);
    background: rgba(8, 15, 30, .58);
    border-radius: 18px;
    padding: 18px;
}
.portal-layout-admin .danger-control-card h3 {
    font-size: 18px;
    margin: 0 0 6px;
    color: #fff;
}
.portal-layout-admin .danger-control-card p {
    margin-bottom: 14px;
}
.portal-layout-admin .toggle-line {
    display: inline-flex !important;
    align-items: center !important;
    gap: 9px !important;
    padding: 10px 12px !important;
    border: 1px solid rgba(139,155,188,.22);
    border-radius: 14px;
    background: rgba(255,255,255,.04);
    color: #eaf3ff !important;
}
.portal-layout-admin .blocked-ip-list {
    margin-top: 16px;
    display: grid;
    gap: 10px;
}
.portal-layout-admin .blocked-ip-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    border: 1px solid rgba(139,155,188,.2);
    border-radius: 14px;
    padding: 10px 12px;
    background: rgba(3, 7, 15, .36);
}
.portal-layout-admin .blocked-ip-row b,
.portal-layout-admin .blocked-ip-row small {
    display: block;
}
.portal-layout-admin .hard-delete-card {
    border-color: rgba(239, 68, 68, .34);
}
.portal-layout-admin .btn-outline-danger {
    border-color: rgba(248, 113, 113, .72) !important;
    color: #fecaca !important;
    background: rgba(127, 29, 29, .2) !important;
}
.portal-layout-admin .btn-outline-danger:hover {
    border-color: #f87171 !important;
    color: #fff !important;
    background: rgba(220, 38, 38, .34) !important;
}
.portal-layout-admin .admin-job-hero .detail-list dd {
    overflow-wrap: anywhere;
}
@media (max-width: 991.98px) {
    .portal-layout-admin .customer-danger-grid {
        grid-template-columns: 1fr;
    }
}

/* v1.8.133: API vehicle upload summary shows gains only */
.vehicle-api-summary__head > span:last-child:empty {
    display: none;
}
.vehicle-api-summary__gains-only {
    display: grid;
    gap: .5rem;
}
.vehicle-api-summary__gain-row {
    display: grid;
    grid-template-columns: minmax(84px, .45fr) minmax(140px, 1fr);
    gap: .65rem;
    align-items: center;
    padding: .62rem .75rem;
    border: 1px solid rgba(148, 163, 184, .18);
    background: rgba(15, 23, 42, .34);
    border-radius: 14px;
    color: #e2e8f0;
}
.vehicle-api-summary__gain-row span {
    color: #93c5fd;
    font-weight: 900;
    font-size: .78rem;
    text-transform: uppercase;
    letter-spacing: .05em;
}
.vehicle-api-summary__gain-row strong {
    color: #fff;
    font-size: .94rem;
    text-align: right;
}
@media (max-width: 700px) {
    .vehicle-api-summary__gain-row {
        grid-template-columns: 1fr;
    }
    .vehicle-api-summary__gain-row strong {
        text-align: left;
    }
}

/* v1.8.134: API power/torque gain widget on uploaded file summary */
.file-gain-widget {
    margin-top: 18px;
    padding: 20px 18px;
    border: 1px solid #bcc4d1;
    border-radius: 7px;
    background: #f7f7f8;
    color: #2b3039;
    box-shadow: none;
}
.file-gain-widget__row {
    display: grid;
    grid-template-columns: minmax(84px, 1fr) 74px 34px 100px 70px;
    align-items: center;
    column-gap: 14px;
    min-height: 52px;
}
.file-gain-widget__row + .file-gain-widget__row {
    border-top: 1px solid #d8dce3;
}
.file-gain-widget__label {
    font-size: 11px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0;
    color: #303640;
    text-transform: uppercase;
}
.file-gain-widget__before {
    font-size: 24px;
    font-weight: 500;
    line-height: 1;
    color: #2b3039;
    text-align: left;
}
.file-gain-widget__arrow {
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    color: #2d333b;
    text-align: center;
}
.file-gain-widget__after {
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
    color: #252a33;
    white-space: nowrap;
}
.file-gain-widget__after em {
    margin-left: 3px;
    font-size: 14px;
    font-style: italic;
    font-weight: 500;
    color: #6d7480;
}
.file-gain-widget__gain {
    justify-self: end;
    font-size: 14px;
    font-weight: 800;
    line-height: 1;
    color: #10b875;
    white-space: nowrap;
}
@media (max-width: 560px) {
    .file-gain-widget {
        padding: 16px 14px;
    }
    .file-gain-widget__row {
        grid-template-columns: 72px 54px 24px 78px 56px;
        column-gap: 8px;
    }
    .file-gain-widget__before,
    .file-gain-widget__after {
        font-size: 20px;
    }
    .file-gain-widget__after em,
    .file-gain-widget__gain {
        font-size: 12px;
    }
}


/* v1.8.135: place the API gain widget below the full file summary block and tighten the layout */
.support-summary-body .file-viewer-file-meta + .file-gain-widget {
    margin: 16px 0 0 !important;
}
.file-gain-widget {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px 18px !important;
    border-radius: 7px !important;
    overflow: hidden !important;
}
.file-gain-widget__row {
    grid-template-columns: minmax(76px, 1fr) minmax(54px, 74px) 28px minmax(82px, 100px) minmax(54px, 70px) !important;
    column-gap: 10px !important;
    min-height: 48px !important;
}
.file-gain-widget__label {
    font-size: 10.5px !important;
}
.file-gain-widget__before,
.file-gain-widget__after {
    font-size: 22px !important;
}
.file-gain-widget__gain {
    font-size: 13px !important;
}
@media (max-width: 560px) {
    .support-summary-body .file-viewer-file-meta + .file-gain-widget {
        margin-top: 14px !important;
    }
    .file-gain-widget {
        padding: 15px 13px !important;
    }
    .file-gain-widget__row {
        grid-template-columns: 64px 48px 20px 74px 48px !important;
        column-gap: 6px !important;
        min-height: 44px !important;
    }
    .file-gain-widget__before,
    .file-gain-widget__after {
        font-size: 18px !important;
    }
    .file-gain-widget__after em,
    .file-gain-widget__gain {
        font-size: 11px !important;
    }
}


/* v1.8.136: dark in-file tuning widget, matching returned-file screenshot */
.file-gain-widget {
    margin: 14px 0 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 16px 20px !important;
    border: 1px solid #323b50 !important;
    border-radius: 5px !important;
    background: #151923 !important;
    color: #e8edf7 !important;
    box-shadow: none !important;
    overflow: hidden !important;
}
.file-gain-widget__row {
    display: grid !important;
    grid-template-columns: minmax(76px, 1fr) minmax(56px, 80px) 34px minmax(92px, 116px) minmax(56px, 78px) !important;
    align-items: center !important;
    column-gap: 12px !important;
    min-height: 44px !important;
}
.file-gain-widget__row + .file-gain-widget__row {
    border-top: 1px solid #2d3547 !important;
}
.file-gain-widget__label {
    font-size: 11px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
    color: #f5f0d7 !important;
    text-transform: uppercase !important;
}
.file-gain-widget__before {
    font-size: 23px !important;
    font-weight: 700 !important;
    line-height: 1 !important;
    color: #d8dde7 !important;
    text-align: left !important;
}
.file-gain-widget__arrow {
    font-size: 17px !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    color: #b9b6ff !important;
    text-align: center !important;
}
.file-gain-widget__after {
    font-size: 23px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #dce2ec !important;
    white-space: nowrap !important;
}
.file-gain-widget__after em {
    margin-left: 4px !important;
    font-size: 15px !important;
    font-style: italic !important;
    font-weight: 500 !important;
    color: #c7ccd6 !important;
}
.file-gain-widget__gain {
    justify-self: end !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    color: #00d6a0 !important;
    white-space: nowrap !important;
}
.support-message-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.support-message-text + .support-message-attachments {
    margin-top: 12px;
}
@media (max-width: 560px) {
    .file-gain-widget { padding: 14px 14px !important; }
    .file-gain-widget__row {
        grid-template-columns: 62px 48px 22px 78px 50px !important;
        column-gap: 6px !important;
        min-height: 42px !important;
    }
    .file-gain-widget__before,
    .file-gain-widget__after { font-size: 18px !important; }
    .file-gain-widget__after em,
    .file-gain-widget__gain { font-size: 11px !important; }
}


/* v1.8.137: stage tabs for the in-file tuning widget */
.file-gain-widget-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px !important;
    margin: 14px 0 8px !important;
    padding-top: 10px !important;
    border-top: 1px solid rgba(148, 163, 184, .18) !important;
}
.file-gain-widget-tab {
    appearance: none !important;
    border: 1px solid rgba(50, 159, 255, .52) !important;
    border-radius: 6px !important;
    background: rgba(50, 159, 255, .16) !important;
    color: #7fc2ff !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    padding: 10px 14px !important;
    min-height: 38px !important;
    cursor: pointer !important;
    box-shadow: none !important;
}
.file-gain-widget-tab.active,
.file-gain-widget-tab:hover,
.file-gain-widget-tab:focus {
    background: #329fff !important;
    border-color: #329fff !important;
    color: #ffffff !important;
    outline: none !important;
}
.file-gain-widget__panel[hidden] {
    display: none !important;
}
.file-gain-widget__panel.active {
    display: block !important;
}
@media (max-width: 560px) {
    .file-gain-widget-tabs {
        gap: 6px !important;
    }
    .file-gain-widget-tab {
        flex: 1 1 calc(50% - 6px) !important;
        padding: 9px 10px !important;
        text-align: center !important;
    }
}

/* v1.8.138: support ticket toolbar padding/layout polish */
.ticket-toolbar.portal-card {
    display: grid;
    grid-template-columns: minmax(155px, 190px) minmax(0, 1fr);
    align-items: center;
    gap: 18px;
    padding: 22px 24px;
    overflow: hidden;
}
.ticket-toolbar.portal-card > div {
    min-width: 0;
    display: grid;
    gap: 6px;
}
.ticket-toolbar.portal-card strong {
    font-size: clamp(1.7rem, 3vw, 2rem);
    line-height: 1;
}
.ticket-toolbar.portal-card span {
    display: block;
    line-height: 1.35;
    white-space: normal;
    max-width: 150px;
}
.ticket-toolbar.portal-card .ticket-filter-form {
    width: 100%;
    min-width: 0;
    justify-content: flex-end;
}
.ticket-toolbar.portal-card .ticket-filter-form .form-select {
    width: 100%;
    min-width: 0;
    max-width: 360px;
}
@media (max-width: 575.98px) {
    .ticket-toolbar.portal-card {
        grid-template-columns: 1fr;
        padding: 18px;
    }
    .ticket-toolbar.portal-card span {
        max-width: none;
    }
    .ticket-toolbar.portal-card .ticket-filter-form .form-select {
        max-width: none;
    }
}

/* v1.8.139: combined customer file, support, updater and mobile polish */
.updater-version-preflight {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(50, 159, 255, .24);
    border-radius: 16px;
    background: rgba(50, 159, 255, .08);
}
.updater-version-preflight div {
    min-width: 0;
    display: grid;
    gap: 4px;
}
.updater-version-preflight span {
    color: #9eb3d4;
    font-size: 11px;
    font-weight: 850;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.updater-version-preflight strong {
    color: #f7fbff;
    font-size: 13px;
    overflow-wrap: anywhere;
}
.ticket-attachments a,
.support-message-attachments .support-outline-btn,
.support-timeline-item .support-outline-btn,
.support-timeline-item .support-download-btn {
    min-height: 36px;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px;
    line-height: 1.1 !important;
    text-align: center !important;
}
.ticket-attachments a {
    padding: 9px 12px !important;
    border-color: rgba(50, 159, 255, .46) !important;
    background: rgba(50, 159, 255, .12) !important;
    color: #d8ecff !important;
}
.ticket-attachments a:hover {
    border-color: rgba(32,213,199,.7) !important;
    background: rgba(32,213,199,.16) !important;
}
.ticket-attachments a span {
    color: #91a4c1 !important;
    font-size: 11px !important;
}
.support-summary-body.clean-summary-body {
    display: grid;
    gap: 14px;
}
.support-summary-body.clean-summary-body > * {
    min-width: 0;
}
.file-viewer-vehicle-summary,
.file-viewer-file-meta-two-col {
    align-items: start !important;
}
.file-gain-widget-tabs {
    margin-top: 2px !important;
    padding-top: 14px !important;
}
.file-gain-widget-tab {
    white-space: nowrap !important;
}
.file-gain-widget {
    margin-top: 6px !important;
}
.file-gain-widget__row:last-child {
    border-bottom: 0 !important;
}
@media (max-width: 1199.98px) {
    .support-job-shell {
        grid-template-columns: 1fr !important;
    }
    .support-summary-card,
    .support-timeline-panel,
    .support-workspace-card {
        width: 100% !important;
        max-width: 100% !important;
    }
}
@media (max-width: 767.98px) {
    .updater-version-preflight {
        grid-template-columns: 1fr;
    }
    .support-summary-body.clean-summary-body {
        padding: 18px !important;
        gap: 12px;
    }
    .file-viewer-vehicle-summary,
    .file-viewer-file-meta-two-col,
    .file-viewer-file-meta {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    .file-viewer-meta-left,
    .file-viewer-meta-right {
        min-width: 0 !important;
        width: 100% !important;
    }
    .file-gain-widget-tabs {
        gap: 7px !important;
    }
    .file-gain-widget-tab {
        flex: 1 1 calc(50% - 7px) !important;
        min-width: 0 !important;
    }
    .ticket-detail-grid,
    .ticket-form-grid,
    .ticket-admin-row {
        grid-template-columns: 1fr !important;
    }
    .ticket-summary-list {
        grid-template-columns: 1fr !important;
    }
}
@media (max-width: 575.98px) {
    .support-message-attachments,
    .ticket-attachments {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
    }
    .support-message-attachments .support-outline-btn,
    .ticket-attachments a {
        width: 100% !important;
    }
    .file-gain-widget {
        padding: 13px 12px !important;
        border-radius: 6px !important;
    }
    .file-gain-widget__row {
        grid-template-columns: minmax(54px, .7fr) minmax(42px, .65fr) 18px minmax(70px, .95fr) minmax(42px, .65fr) !important;
        column-gap: 5px !important;
        min-height: 42px !important;
    }
    .file-gain-widget__label {
        font-size: 9.5px !important;
    }
    .file-gain-widget__before,
    .file-gain-widget__after {
        font-size: 17px !important;
    }
    .file-gain-widget__after em,
    .file-gain-widget__gain {
        font-size: 10px !important;
    }
}


/* v1.8.140 admin workflow tools */
.admin-workflow-filter-row { grid-template-columns: minmax(210px, 1.5fr) repeat(4, minmax(135px, 1fr)) auto; }
.workflow-assigned-chip { display:inline-flex; align-items:center; justify-content:center; min-height:28px; padding:5px 10px; border-radius:999px; background:rgba(47,151,255,.16); border:1px solid rgba(47,151,255,.28); color:#dcecff; font-size:.82rem; font-weight:800; white-space:nowrap; }
.workflow-assigned-chip.muted { background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.12); color:#9fb1cc; }
.admin-quick-actions { display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:14px 0 18px; padding:12px; border:1px solid rgba(132,158,199,.18); border-radius:18px; background:rgba(8,15,30,.45); }
.admin-quick-actions form { display:flex; align-items:center; gap:8px; margin:0; }
.admin-quick-actions .form-control-sm { min-width:220px; height:34px; padding:6px 10px; }
.admin-workflow-panel .stacked-form { gap:12px; }
.admin-workflow-panel small { display:block; margin-top:5px; }
.note-card:not(.customer-visible):not(.customer-reply) { border-color:rgba(156,163,175,.22); background:rgba(15,23,42,.62); }
.note-card:not(.customer-visible):not(.customer-reply) .note-meta strong { color:#cbd5e1; }
@media (max-width: 1100px) { .admin-workflow-filter-row { grid-template-columns: 1fr 1fr; } .admin-workflow-filter-row .btn { width:100%; } }
@media (max-width: 640px) { .admin-workflow-filter-row { grid-template-columns: 1fr; } .admin-quick-actions, .admin-quick-actions form { align-items:stretch; flex-direction:column; width:100%; } .admin-quick-actions .btn, .admin-quick-actions .form-control-sm { width:100%; min-width:0; } }

.job-priority-pill { display:inline-flex; align-items:center; min-height:20px; padding:2px 8px; border-radius:999px; background:rgba(255,255,255,.07); border:1px solid rgba(255,255,255,.12); color:#d8e4f8; font-weight:900; font-size:.72rem; letter-spacing:.01em; }
.job-priority-pill.priority-urgent, .job-priority-pill.priority-same_day { background:rgba(245,158,11,.18); border-color:rgba(245,158,11,.38); color:#fde68a; }
.job-priority-pill.priority-waiting { background:rgba(56,189,248,.16); border-color:rgba(56,189,248,.34); color:#bae6fd; }
.job-priority-pill.priority-problem { background:rgba(239,68,68,.18); border-color:rgba(239,68,68,.42); color:#fecaca; }


/* v1.8.141 prominent admin tuned-file delivery panel */
.admin-delivery-panel {
    border: 1px solid rgba(48, 205, 163, .28) !important;
    box-shadow: 0 22px 60px rgba(0, 0, 0, .28), inset 0 1px 0 rgba(255,255,255,.05);
}
.admin-delivery-heading { align-items: flex-start; gap: 18px; }
.admin-delivery-heading p { max-width: 780px; margin: 6px 0 0; color: rgba(222,232,245,.74); }
.delivery-status-pills { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; min-width:220px; }
.delivery-pill { display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:7px 11px; font-size:.78rem; font-weight:800; color:#d9fff4; background:rgba(48,205,163,.13); border:1px solid rgba(48,205,163,.28); white-space:nowrap; }
.delivery-pill.warning { color:#ffeac0; background:rgba(245,158,11,.13); border-color:rgba(245,158,11,.26); }
.admin-delivery-form { display:grid; grid-template-columns:minmax(0, 1.2fr) minmax(220px, .8fr); gap:14px; margin-top:16px; padding:14px; border-radius:20px; background:rgba(5,11,24,.38); border:1px solid rgba(132,158,199,.14); }
.admin-delivery-form label { margin:0; font-weight:800; color:#eef5ff; }
.admin-delivery-form .form-control, .admin-delivery-form .form-select { margin-top:7px; }
.delivery-wide { grid-column:1 / -1; }
.delivery-file-drop { border:1px dashed rgba(48,205,163,.36); background:rgba(48,205,163,.06); border-radius:18px; padding:12px; }
.delivery-submit-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding-top:2px; }
.delivery-submit-row span { color:rgba(222,232,245,.68); font-size:.9rem; }
.completed-files-panel { margin-top:18px; padding-top:16px; border-top:1px solid rgba(132,158,199,.16); }
.completed-files-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px; }
.completed-files-heading h3 { margin:0; font-size:1rem; }
.completed-files-heading span { color:rgba(222,232,245,.62); font-size:.86rem; }
.delivery-file-row { border-color:rgba(48,205,163,.16); }
.admin-upload-jump { box-shadow:0 10px 24px rgba(48,205,163,.18); }
html[data-theme="light"] .admin-delivery-heading p,
html[data-theme="light"] .delivery-submit-row span,
html[data-theme="light"] .completed-files-heading span { color:#64748b; }
html[data-theme="light"] .admin-delivery-form { background:#f8fafc; border-color:#dbe4ee; }
html[data-theme="light"] .delivery-file-drop { background:#ecfdf5; border-color:#86efac; }
html[data-theme="light"] .admin-delivery-form label { color:#0f172a; }
@media (max-width: 760px) {
    .admin-delivery-heading, .completed-files-heading { align-items:stretch; flex-direction:column; }
    .delivery-status-pills { justify-content:flex-start; min-width:0; }
    .admin-delivery-form { grid-template-columns:1fr; padding:12px; }
    .delivery-submit-row .btn { width:100%; }
}


/* v1.8.142 simplified accept-first workflow and customer ETA */
.accept-panel-eta {
    grid-template-columns: minmax(0, 1fr) minmax(230px, .55fr) auto;
    align-items: end;
    gap: 14px;
}
.accept-panel-eta label {
    margin: 0;
    color: #eef5ff;
    font-weight: 800;
}
.accept-panel-eta label small {
    display: block;
    margin-top: 5px;
    color: rgba(222,232,245,.62);
    font-weight: 600;
}
.admin-processing-eta-panel {
    border-color: rgba(47,151,255,.22) !important;
}
.processing-eta-current {
    display: grid;
    gap: 5px;
    margin: 10px 0 14px;
    padding: 12px;
    border-radius: 16px;
    background: rgba(47,151,255,.10);
    border: 1px solid rgba(47,151,255,.20);
}
.processing-eta-current span {
    color: rgba(222,232,245,.62);
    font-size: .78rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .06em;
}
.processing-eta-current strong {
    color: #f8fbff;
    font-size: 1rem;
}
.eta-only-form {
    gap: 12px !important;
}
.eta-only-form label {
    margin: 0;
    font-weight: 800;
    color: #eef5ff;
}
.eta-only-form small {
    display: block;
    margin-top: 5px;
}
.queue-action-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 5px;
}
.queue-action-stack form {
    margin: 0;
}
.queue-open-link {
    color: rgba(222,232,245,.66);
    font-size: .76rem;
    font-weight: 800;
    text-decoration: none;
}
.queue-open-link:hover {
    color: #ffffff;
}
@media (max-width: 900px) {
    .accept-panel-eta {
        grid-template-columns: 1fr;
        align-items: stretch;
    }
    .accept-panel-eta .btn {
        width: 100%;
    }
}


/* v1.8.143 staff manager and one-way notification polish */
.staff-manager-card .portal-subcard,
.staff-create-panel {
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: 18px;
    background: rgba(255,255,255,.035);
}
.staff-permission-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 10px;
}
.staff-permission-grid.compact {
    grid-template-columns: repeat(auto-fit, minmax(135px, 1fr));
    gap: 8px;
}
.staff-permission-tile {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 11px;
    border-radius: 13px;
    border: 1px solid rgba(255,255,255,.10);
    background: rgba(10,18,28,.58);
    color: rgba(255,255,255,.86);
    font-size: .86rem;
    cursor: pointer;
}
.staff-permission-tile input {
    accent-color: var(--accent, #44d27c);
}
.staff-chip-wrap {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}
.staff-permission-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: .78rem;
    color: rgba(255,255,255,.88);
    background: rgba(255,255,255,.075);
    border: 1px solid rgba(255,255,255,.08);
}
.staff-edit-details summary {
    list-style: none;
    cursor: pointer;
}
.staff-edit-details summary::-webkit-details-marker {
    display: none;
}
.staff-edit-form {
    min-width: min(520px, 72vw);
    padding: 12px;
    border-radius: 16px;
    background: rgba(0,0,0,.18);
    border: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 720px) {
    .staff-edit-form { min-width: 100%; }
    .staff-permission-grid { grid-template-columns: 1fr; }
}

/* v1.8.144 staff workflow presets and admin customer-upload downloads */
.staff-workflow-card .staff-create-panel { padding: 20px; }
.staff-toggle-tile { display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 12px; border-radius:14px; border:1px solid rgba(255,255,255,.10); background:rgba(10,18,28,.58); color:rgba(255,255,255,.9); cursor:pointer; }
.staff-toggle-tile input[type="checkbox"] { accent-color: var(--accent, #44d27c); }
.staff-toggle-tile span { display:grid; gap:2px; }
.staff-toggle-tile strong { font-size:.9rem; }
.staff-toggle-tile small { color:rgba(222,232,245,.62); font-size:.75rem; }
.staff-role-badge, .staff-scope-chip { display:inline-flex; align-items:center; min-height:27px; padding:5px 10px; border-radius:999px; font-weight:900; font-size:.76rem; white-space:nowrap; border:1px solid rgba(47,151,255,.25); background:rgba(47,151,255,.13); color:#d9ecff; }
.staff-scope-chip.restricted { border-color:rgba(245,158,11,.30); background:rgba(245,158,11,.13); color:#ffe7b0; }
.staff-table td { vertical-align:top; }
.staff-activity-card { border-color:rgba(48,205,163,.14) !important; }
.staff-activity-list .activity-item { border-radius:14px; }
.file-row .btn { white-space:nowrap; }
@media (max-width: 920px) {
    .staff-table thead { display:none; }
    .staff-table tbody tr { display:grid; gap:10px; padding:14px; border-bottom:1px solid rgba(255,255,255,.08); }
    .staff-table tbody td { display:block; padding:0 !important; border:0 !important; }
}

/* v1.8.145: global button centering, padding and text alignment pass */
.btn,
button.btn,
a.btn,
summary.btn,
.portal-action-btn,
.view-file-btn,
.customer-open-file-btn,
.admin-open-file-btn,
.support-send-btn,
.support-back-btn,
.support-download-btn,
.support-outline-btn,
.compact-download,
.wizard-next-btn,
.wizard-submit-btn,
.wizard-prev-btn,
.dtc-code-add-btn,
.file-gain-widget-tab,
.customer-credit-display,
.customer-profile-link,
.user-chip-btn,
.admin-service-status,
.customer-service-status,
.admin-service-chip,
.customer-service-chip,
.admin-clock-chip,
.customer-clock-chip,
.customer-logout-btn,
.status-pill-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    vertical-align: middle !important;
    gap: .45rem !important;
    line-height: 1.12 !important;
    box-sizing: border-box !important;
    text-decoration: none !important;
}

.btn,
button.btn,
a.btn,
summary.btn,
.portal-action-btn,
.view-file-btn,
.customer-open-file-btn,
.admin-open-file-btn,
.support-send-btn,
.support-back-btn,
.support-download-btn,
.support-outline-btn,
.compact-download {
    min-height: 44px !important;
    padding: 11px 18px !important;
    white-space: nowrap !important;
}

.btn.btn-sm,
button.btn.btn-sm,
a.btn.btn-sm,
summary.btn.btn-sm,
.dtc-code-add-btn,
.support-outline-btn.compact-download,
.compact-download,
.file-row .btn {
    min-height: 36px !important;
    padding: 8px 13px !important;
    font-size: .84rem !important;
    line-height: 1.08 !important;
}

.btn.btn-lg,
button.btn.btn-lg,
a.btn.btn-lg,
.wizard-next-btn,
.wizard-submit-btn,
.wizard-prev-btn {
    min-height: 52px !important;
    padding: 14px 24px !important;
    font-size: 1rem !important;
}

.w-100.btn,
.btn.w-100,
.portal-action-btn.w-100,
.support-send-btn.w-100,
.support-back-btn.w-100,
.customer-open-file-btn.w-100,
.admin-open-file-btn.w-100 {
    width: 100% !important;
}

.btn svg,
.portal-action-btn svg,
.support-download-btn svg,
.customer-logout-btn svg,
.admin-service-chip svg,
.customer-service-chip svg,
.admin-clock-chip svg,
.customer-clock-chip svg {
    flex: 0 0 auto !important;
}

.btn span,
.btn strong,
.portal-action-btn span,
.portal-action-btn strong,
.support-send-btn span,
.support-back-btn span,
.support-download-btn span,
.support-outline-btn span,
.customer-credit-display span,
.customer-credit-display strong,
.customer-profile-link span,
.user-chip-btn span,
.user-chip-btn strong,
.admin-service-status span,
.customer-service-status span,
.admin-service-chip span,
.customer-service-chip span,
.admin-clock-chip span,
.customer-clock-chip span {
    line-height: 1.12 !important;
}

.admin-service-status,
.customer-service-status,
.admin-service-chip,
.customer-service-chip,
.admin-clock-chip,
.customer-clock-chip,
.customer-credit-display,
.customer-profile-link,
.user-chip-btn,
.customer-logout-btn,
.status-pill-button {
    min-height: 42px !important;
    padding-top: 9px !important;
    padding-bottom: 9px !important;
}

.customer-logout-btn,
.mobile-menu-btn,
.shop-lightbox-close,
.btn-close {
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

.customer-logout-btn {
    padding: 0 !important;
}

.wizard-link-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: 36px !important;
    padding: 7px 10px !important;
    line-height: 1.12 !important;
}

.file-gain-widget-tab {
    min-height: 42px !important;
    padding: 10px 18px !important;
    white-space: nowrap !important;
}

.extra-option-chip,
.staff-toggle-tile,
.staff-permission-tile,
.staff-role-badge,
.staff-scope-chip,
.staff-permission-chip,
.amount-chip,
.status-badge,
.job-badge {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    line-height: 1.12 !important;
    box-sizing: border-box !important;
}

.staff-toggle-tile,
.staff-permission-tile {
    justify-content: flex-start !important;
    text-align: left !important;
}

.form-control[type="file"]::file-selector-button,
.portal-input[type="file"]::file-selector-button,
input[type="file"].form-control::file-selector-button {
    min-height: 44px !important;
    padding: 11px 18px !important;
    line-height: 1.12 !important;
    text-align: center !important;
}

.btn-group .btn,
.d-flex .btn,
.gap-2 .btn,
.delivery-submit-row .btn,
.ticket-filter-actions .btn,
.admin-wallet-filter-actions .btn,
.admin-workflow-filter-row .btn,
.accept-panel-eta .btn {
    align-self: center !important;
}

.delivery-submit-row .btn,
.accept-panel-eta .btn,
.eta-only-form .btn {
    justify-self: start !important;
}

@media (max-width: 720px) {
    .btn,
    button.btn,
    a.btn,
    summary.btn,
    .portal-action-btn,
    .view-file-btn,
    .customer-open-file-btn,
    .admin-open-file-btn,
    .support-send-btn,
    .support-back-btn,
    .support-download-btn,
    .support-outline-btn,
    .compact-download {
        min-height: 46px !important;
        padding: 12px 16px !important;
        white-space: normal !important;
        width: auto;
    }
    .btn.w-100,
    .w-100.btn,
    .portal-action-btn.w-100,
    .support-send-btn.w-100,
    .support-back-btn.w-100,
    .customer-open-file-btn.w-100,
    .admin-open-file-btn.w-100,
    .ticket-filter-actions .btn,
    .admin-wallet-filter-actions .btn,
    .delivery-submit-row .btn,
    .accept-panel-eta .btn {
        width: 100% !important;
    }
    .btn.btn-sm,
    button.btn.btn-sm,
    a.btn.btn-sm,
    summary.btn.btn-sm {
        min-height: 40px !important;
        padding: 9px 13px !important;
    }
}


/* v1.8.146: file revision workflow, compact main solution pill and payment request polish */
.file-viewer-main-solution-label {
    display: block !important;
    margin-top: 10px !important;
    color: #aebbd0 !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .06em !important;
    text-transform: uppercase !important;
}
.support-service-pill.compact-solution-pill {
    display: inline-flex !important;
    width: auto !important;
    max-width: 100% !important;
    align-self: flex-start !important;
    justify-content: center !important;
    padding: 8px 12px !important;
    margin-top: 4px !important;
    border-radius: 8px !important;
    line-height: 1.15 !important;
    white-space: normal !important;
}
.support-summary-body.clean-summary-body > .support-service-pill:not(.compact-solution-pill) {
    width: auto !important;
    display: inline-flex !important;
    align-self: flex-start !important;
}
.manual-payment-request-panel,
.revision-request-card {
    margin-top: 18px !important;
    padding: 16px !important;
    border: 1px solid rgba(75, 163, 255, .22) !important;
    border-radius: 16px !important;
    background: rgba(9, 15, 28, .36) !important;
    display: grid !important;
    gap: 12px !important;
}
.manual-payment-request-panel {
    grid-template-columns: minmax(220px, 1fr) minmax(140px, 180px) minmax(220px, 1fr) auto !important;
    align-items: end !important;
}
.manual-payment-request-panel strong,
.revision-request-card h3 {
    color: #fff !important;
    margin: 0 !important;
}
.manual-payment-request-panel p,
.revision-request-card p {
    margin: 4px 0 0 !important;
    color: #aebbd0 !important;
    font-size: 13px !important;
}
.revision-history-note {
    margin: 10px 0 14px !important;
    border-style: dashed !important;
}
.completed-files-panel .delivery-file-row:first-of-type {
    border-color: rgba(28, 199, 180, .34) !important;
    background: rgba(28, 199, 180, .06) !important;
}
@media (max-width: 900px) {
    .manual-payment-request-panel {
        grid-template-columns: 1fr !important;
        align-items: stretch !important;
    }
    .manual-payment-request-panel .btn {
        width: 100% !important;
    }
}


/* v1.8.147: file-summary upload spacing and admin/customer message panel */
.support-job-shell .support-request-form {
    gap: 26px !important;
    padding: 30px 30px 32px !important;
}
.support-job-shell .support-dropzone {
    min-height: 148px !important;
    padding: 28px 22px !important;
    gap: 12px !important;
    border-radius: 16px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}
.support-job-shell .support-dropzone-icon::before {
    display: block;
    margin-bottom: 2px;
    font-size: 20px !important;
    line-height: 1.2 !important;
}
.support-job-shell .support-dropzone strong[data-file-label] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: auto !important;
    max-width: 100%;
    min-height: 52px;
    padding: 14px 30px !important;
    border-radius: 17px !important;
    background: linear-gradient(135deg, #28ddd6, #83fff3) !important;
    color: #07111a !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    line-height: 1.2 !important;
    white-space: normal !important;
    box-shadow: 0 10px 26px rgba(45, 221, 214, .18);
}
.support-job-shell .support-dropzone em[data-file-name] {
    display: block !important;
    margin-top: 2px !important;
    color: #a9b7ce !important;
    font-size: 13px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    max-width: min(100%, 680px) !important;
}
.support-job-shell .support-dropzone.compact-zone {
    min-height: 132px !important;
    padding: 24px 20px !important;
}
.admin-customer-messages-panel {
    overflow: hidden;
}
.admin-message-heading p {
    max-width: 820px;
}
.admin-message-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(320px, .7fr);
    gap: 22px;
    align-items: start;
}
.admin-message-thread {
    display: grid;
    gap: 14px;
    min-width: 0;
}
.admin-message-card {
    margin: 0 !important;
    border-radius: 16px !important;
    padding: 16px 18px !important;
}
.admin-message-card.customer-reply {
    border-color: rgba(45, 221, 214, .22) !important;
    background: rgba(45, 221, 214, .065) !important;
}
.admin-message-card.customer-visible {
    border-color: rgba(45, 149, 255, .22) !important;
    background: rgba(45, 149, 255, .07) !important;
}
.admin-message-card p,
.compact-note-card p {
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}
.admin-message-attachments {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}
.admin-message-actions {
    display: grid;
    gap: 18px;
    min-width: 0;
}
.admin-reply-form,
.admin-internal-note-form {
    padding: 18px;
    border: 1px solid rgba(83, 98, 125, .55);
    border-radius: 18px;
    background: rgba(12, 16, 25, .45);
}
.admin-internal-note-list {
    display: grid;
    gap: 12px;
    padding-top: 2px;
}
.admin-internal-note-list h3 {
    margin: 0;
    font-size: 14px;
    color: #c8d4ea;
}
.compact-note-card {
    margin: 0 !important;
    padding: 12px 14px !important;
    border-radius: 14px !important;
}
@media (max-width: 980px) {
    .admin-message-layout { grid-template-columns: 1fr !important; }
    .support-job-shell .support-request-form { padding: 22px !important; }
    .support-job-shell .support-dropzone { min-height: 140px !important; padding: 24px 16px !important; }
    .support-job-shell .support-dropzone strong[data-file-label] { width: min(100%, 320px) !important; }
}


/* v1.8.148: upload heading text and compact admin/customer message timeline */
.admin-customer-messages-panel.compact-admin-messages,
.admin-customer-messages-panel {
    padding: 26px !important;
}
.admin-customer-messages-panel .card-heading-row {
    margin-bottom: 18px !important;
}
.admin-customer-messages-panel .card-heading-row h2 {
    margin-bottom: 6px !important;
}
.admin-customer-messages-panel .card-heading-row p {
    margin: 0 !important;
    max-width: 760px !important;
    color: #b8c6dc !important;
    line-height: 1.55 !important;
}
.admin-message-layout {
    grid-template-columns: minmax(0, 1fr) minmax(330px, 420px) !important;
    gap: 20px !important;
}
.admin-message-thread {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
    max-height: 430px !important;
    overflow-y: auto !important;
    padding: 14px !important;
    border: 1px solid rgba(83, 98, 125, .38) !important;
    border-radius: 20px !important;
    background: rgba(8, 13, 24, .32) !important;
    scrollbar-width: thin;
}
.admin-message-thread::-webkit-scrollbar {
    width: 8px;
}
.admin-message-thread::-webkit-scrollbar-thumb {
    border-radius: 999px;
    background: rgba(145, 164, 193, .35);
}
.admin-message-card,
.admin-customer-messages-panel .note-card {
    margin: 0 !important;
    padding: 14px 16px !important;
    border-radius: 16px !important;
    min-height: auto !important;
}
.admin-message-card .note-meta,
.admin-customer-messages-panel .note-meta {
    gap: 12px !important;
    align-items: center !important;
    margin-bottom: 8px !important;
}
.admin-message-card .note-meta span,
.admin-customer-messages-panel .note-meta span {
    margin-left: auto !important;
    white-space: nowrap !important;
    font-size: 12px !important;
    color: #9fb1ca !important;
}
.admin-message-card p,
.admin-customer-messages-panel .note-card p,
.compact-note-card p {
    margin: 0 !important;
    line-height: 1.5 !important;
    white-space: pre-wrap !important;
    overflow-wrap: anywhere !important;
}
.admin-message-attachments {
    margin-top: 10px !important;
}
.admin-message-actions {
    position: sticky;
    top: 16px;
    align-self: start;
    display: grid !important;
    gap: 14px !important;
}
.admin-reply-form,
.admin-internal-note-form {
    padding: 17px !important;
    border-radius: 18px !important;
}
.admin-reply-form textarea,
.admin-internal-note-form textarea {
    min-height: 118px !important;
}
.admin-internal-note-form textarea {
    min-height: 86px !important;
}
.admin-internal-note-list {
    max-height: 260px;
    overflow-y: auto;
    padding-right: 6px;
}
@media (max-width: 1100px) {
    .admin-message-layout {
        grid-template-columns: 1fr !important;
    }
    .admin-message-actions {
        position: static !important;
    }
}
@media (max-width: 640px) {
    .admin-customer-messages-panel.compact-admin-messages,
    .admin-customer-messages-panel {
        padding: 18px !important;
    }
    .admin-message-thread {
        max-height: 360px !important;
        padding: 10px !important;
    }
    .admin-message-card .note-meta,
    .admin-customer-messages-panel .note-meta {
        align-items: flex-start !important;
        flex-direction: column !important;
        gap: 4px !important;
    }
    .admin-message-card .note-meta span,
    .admin-customer-messages-panel .note-meta span {
        margin-left: 0 !important;
        white-space: normal !important;
    }
}


/* v1.8.149: newest-first admin customer timeline and safe job delete controls */
.admin-message-thread.newest-first,
.admin-message-thread {
    scroll-behavior: smooth;
}
.admin-job-delete-panel {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    margin-top: 18px;
    padding: 16px 18px;
    border: 1px solid rgba(248, 113, 113, .28);
    border-radius: 18px;
    background: rgba(127, 29, 29, .12);
}
.admin-job-delete-panel strong {
    display: block;
    color: #fecaca;
    font-size: .98rem;
    margin-bottom: 4px;
}
.admin-job-delete-panel p {
    margin: 0;
    color: #f6b9b9;
    font-size: .86rem;
    line-height: 1.45;
}
.admin-job-delete-panel form {
    margin: 0;
    flex: 0 0 auto;
}
.queue-action-stack .btn-outline-danger {
    min-width: 78px;
}
@media (max-width: 720px) {
    .admin-job-delete-panel {
        align-items: stretch;
        flex-direction: column;
    }
    .admin-job-delete-panel form,
    .admin-job-delete-panel button {
        width: 100%;
    }
}


/* v1.8.151 editor controls */
.editor-colour-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }
.editor-colour-input { min-height: 46px; padding: 6px; cursor: pointer; }
.editor-page-card textarea.form-control { font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; font-size: 13px; }
.customer-display-preferences { border: 1px solid var(--ivt-line); border-radius: 18px; padding: 18px; background: rgba(255,255,255,.035); }


/* v1.8.153 admin/customer display switcher */
.portal-display-switcher{display:flex;align-items:center;gap:8px;padding:4px;border:1px solid rgba(148,163,184,.2);border-radius:14px;background:rgba(15,23,42,.72);box-shadow:inset 0 1px 0 rgba(255,255,255,.04)}
.portal-display-select{height:34px;min-width:74px;border:1px solid rgba(148,163,184,.22);border-radius:10px;background:#0b1220;color:#f8fafc;font-size:12px;font-weight:700;padding:0 28px 0 10px;line-height:34px;box-shadow:none;outline:0}
.portal-display-select:focus{border-color:rgba(32,213,199,.65);box-shadow:0 0 0 3px rgba(32,213,199,.12)}
@media (max-width: 760px){.portal-display-switcher{order:5;width:100%;justify-content:flex-end}.portal-display-select{flex:1;min-width:0}}

/* v1.8.157 reseller / trade pricing groups */
.reseller-group-form { display: grid; gap: 14px; }
.reseller-group-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; }
.reseller-group-card { border: 1px solid rgba(255,255,255,.08); border-radius: 16px; background: rgba(255,255,255,.035); padding: 14px; display: grid; gap: 10px; }
.reseller-group-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.reseller-group-head small { color: rgba(255,255,255,.55); font-size: .75rem; }
.reseller-group-flags { margin-top: 2px; }
.pricing-preview-controls { align-items: end; margin-bottom: 12px; }
.reseller-preview-stats { margin: 10px 0 14px; }
.pricing-group-overrides { border: 1px solid rgba(255,255,255,.08); border-radius: 14px; padding: 10px 12px; background: rgba(255,255,255,.025); }
.pricing-group-overrides summary { cursor: pointer; font-weight: 700; color: rgba(255,255,255,.9); }
.pricing-group-overrides .form-grid { margin-top: 10px; }
.shop-group-overrides { margin-top: 10px; }
.option-group-overrides { margin: 10px 0; }
@media (max-width: 680px) {
  .reseller-group-grid { grid-template-columns: 1fr; }
  .pricing-preview-controls { grid-template-columns: 1fr; }
}


/* v1.8.162: premium dark UI refresh, compact control-centre layout and safer workflow visuals. */
:root {
    --ivt-radius-xs: 10px;
    --ivt-radius-sm: 14px;
    --ivt-radius-md: 18px;
    --ivt-radius-xl: 24px;
    --ivt-glass: rgba(9, 16, 30, .74);
    --ivt-glass-2: rgba(14, 24, 43, .82);
    --ivt-focus: rgba(32, 213, 199, .16);
}
body.portal-body {
    background:
        radial-gradient(circle at 8% -8%, rgba(32, 213, 199, .18), transparent 30%),
        radial-gradient(circle at 88% 4%, rgba(76, 163, 255, .15), transparent 32%),
        radial-gradient(circle at 50% 115%, rgba(53, 227, 161, .07), transparent 28%),
        linear-gradient(180deg, var(--ivt-bg) 0%, #050814 100%) !important;
}
body.portal-body::before {
    content: "";
    position: fixed;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background-image:
        linear-gradient(rgba(255,255,255,.026) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px);
    background-size: 56px 56px;
    mask-image: linear-gradient(180deg, rgba(0,0,0,.9), rgba(0,0,0,.08));
}
.portal-layout,
.portal-main,
.portal-sidebar,
.topbar,
.content-wrap {
    position: relative;
    z-index: 1;
}
.portal-sidebar {
    width: 268px !important;
    padding: 18px 16px !important;
    background: linear-gradient(180deg, rgba(8, 14, 26, .98), rgba(4, 9, 18, .99)) !important;
    box-shadow: 20px 0 60px rgba(0,0,0,.34), inset -1px 0 0 rgba(255,255,255,.035) !important;
}
.sidebar-context,
.sidebar-footer-card {
    border-color: rgba(32,213,199,.16) !important;
    background: linear-gradient(135deg, rgba(32,213,199,.095), rgba(76,163,255,.055)) !important;
}
.enterprise-nav a.nav-entry,
.sidebar-nav a.nav-entry,
.sidebar-nav a {
    min-height: 50px !important;
    border-radius: 14px !important;
    padding: 9px 10px !important;
}
.nav-icon {
    width: 31px !important;
    height: 31px !important;
    flex-basis: 31px !important;
    border-radius: 11px !important;
}
.nav-label {
    font-size: 13px !important;
    letter-spacing: -.01em;
}
.enterprise-nav a.nav-entry:hover,
.enterprise-nav a.nav-entry.active,
.sidebar-nav a.nav-entry:hover,
.sidebar-nav a.nav-entry.active,
.sidebar-nav a:hover,
.sidebar-nav a.active {
    background: linear-gradient(135deg, rgba(32,213,199,.16), rgba(76,163,255,.09)) !important;
    border-color: rgba(32,213,199,.34) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.055), 0 10px 22px rgba(0,0,0,.18) !important;
}
.topbar-shell {
    min-height: 72px !important;
    margin: 12px 16px 0 !important;
    padding: 11px 14px !important;
    border: 1px solid rgba(148,163,184,.17) !important;
    border-radius: 22px !important;
    background: linear-gradient(135deg, rgba(9,16,30,.86), rgba(15,27,48,.72)) !important;
    box-shadow: 0 18px 45px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.05) !important;
    backdrop-filter: blur(16px);
}
.admin-page-heading strong,
.customer-page-heading strong {
    font-size: clamp(18px, 1.5vw, 24px) !important;
    letter-spacing: -.035em !important;
}
.admin-service-status,
.customer-service-status,
.admin-service-chip,
.customer-service-chip,
.admin-clock-chip,
.customer-clock-chip,
.portal-display-select,
.user-pill,
.wallet-pill {
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.content-wrap {
    padding-top: 18px !important;
    gap: 16px !important;
}
.portal-card,
.queue-panel,
.side-panel,
.upload-card,
.winols-panel,
.winols-card,
.ticket-toolbar.portal-card,
.customer-display-preferences,
.support-job-shell .support-request-form,
.support-timeline-panel,
.support-summary-card,
.shop-product-tile,
.admin-shop-product-tile,
.admin-ticket-row,
.portal-subcard {
    border: 1px solid rgba(148,163,184,.16) !important;
    background: linear-gradient(145deg, rgba(15,25,44,.88), rgba(8,14,27,.92)) !important;
    box-shadow: 0 18px 46px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.052) !important;
}
.portal-card,
.queue-panel,
.side-panel,
.upload-card,
.winols-panel,
.support-timeline-panel,
.support-summary-card {
    border-radius: var(--ivt-radius-xl) !important;
}
.card-heading-row {
    align-items: flex-start !important;
    border-bottom: 1px solid rgba(148,163,184,.10) !important;
    padding-bottom: 14px !important;
}
.card-heading-row h2,
.portal-card h2,
.queue-panel h2,
.side-panel h2,
.winols-panel h2 {
    font-size: clamp(18px, 1.45vw, 24px) !important;
    letter-spacing: -.028em !important;
}
.eyebrow {
    color: color-mix(in srgb, var(--ivt-accent) 68%, #dce7fb) !important;
    letter-spacing: .13em !important;
}
.btn,
button.btn,
a.btn {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    padding: 9px 14px !important;
    line-height: 1.1 !important;
    border-radius: 14px !important;
    font-weight: 900 !important;
    text-align: center !important;
}
.btn-sm,
button.btn-sm,
a.btn-sm {
    min-height: 34px !important;
    padding: 7px 11px !important;
    border-radius: 12px !important;
}
.btn-accent {
    background: linear-gradient(135deg, var(--ivt-accent), var(--ivt-accent-2)) !important;
    border-color: rgba(255,255,255,.08) !important;
    box-shadow: 0 12px 28px rgba(32,213,199,.18), inset 0 1px 0 rgba(255,255,255,.28) !important;
}
.btn-outline-light,
.btn-outline-secondary {
    border-color: rgba(148,163,184,.28) !important;
    color: #e7f0ff !important;
    background: rgba(15,23,42,.52) !important;
}
.btn-outline-light:hover,
.btn-outline-secondary:hover {
    border-color: rgba(32,213,199,.42) !important;
    background: rgba(32,213,199,.12) !important;
    color: #fff !important;
}
.form-control,
.form-select,
textarea.form-control,
.portal-layout-admin .form-control,
.portal-layout-admin .form-select,
.portal-layout-admin textarea.form-control {
    min-height: 42px !important;
    border-radius: 14px !important;
    border-color: rgba(148,163,184,.26) !important;
    background-color: rgba(7,13,25,.78) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.032) !important;
}
.form-control:focus,
.form-select:focus,
textarea.form-control:focus {
    border-color: rgba(32,213,199,.68) !important;
    box-shadow: 0 0 0 4px var(--ivt-focus), inset 0 1px 0 rgba(255,255,255,.04) !important;
}
.portal-table,
.table.portal-table {
    overflow: hidden;
    border-collapse: separate !important;
    border-spacing: 0 !important;
    border-radius: 18px !important;
    background: rgba(4,9,18,.28) !important;
}
.enterprise-table-wrap {
    border: 1px solid rgba(148,163,184,.12) !important;
    border-radius: 18px !important;
    background: rgba(3,8,18,.34) !important;
}
.portal-table thead th {
    padding: 13px 15px !important;
    color: #9fb1cb !important;
    background: rgba(255,255,255,.035) !important;
    border-bottom-color: rgba(148,163,184,.14) !important;
}
.portal-table td {
    padding: 14px 15px !important;
    border-color: rgba(148,163,184,.10) !important;
}
.portal-table tbody tr:hover {
    background: rgba(32,213,199,.055) !important;
}
.status-badge,
.job-badge,
.delivery-pill,
.winols-chip,
.workflow-assigned-chip,
.amount-chip,
.job-priority-pill,
.support-blue-pill,
.support-extra-pill {
    border-radius: 999px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05) !important;
}
.admin-home-grid {
    gap: 14px !important;
}
.command-hero {
    min-height: 244px !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 85% 15%, rgba(32,213,199,.18), transparent 34%),
        radial-gradient(circle at 20% 105%, rgba(76,163,255,.14), transparent 36%),
        linear-gradient(145deg, rgba(15,25,44,.96), rgba(6,12,24,.96)) !important;
}
.command-hero::after,
.admin-job-hero::after,
.support-summary-card::after,
.winols-panel:first-of-type::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    border-radius: inherit;
    background: linear-gradient(120deg, rgba(255,255,255,.09), transparent 22%, transparent 74%, rgba(32,213,199,.055));
    opacity: .72;
}
.command-copy,
.command-actions,
.admin-job-hero > *,
.support-summary-card > *,
.winols-panel > * {
    position: relative;
    z-index: 1;
}
.command-copy h2 {
    font-size: clamp(28px, 3vw, 48px) !important;
    letter-spacing: -.055em !important;
}
.admin-action-tile,
.kpi-card {
    border: 1px solid rgba(148,163,184,.15) !important;
    background: linear-gradient(145deg, rgba(255,255,255,.06), rgba(255,255,255,.025)) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 12px 28px rgba(0,0,0,.18) !important;
}
.kpi-card {
    min-height: 94px !important;
    padding: 15px 16px !important;
}
.kpi-card strong {
    font-size: clamp(24px, 2vw, 34px) !important;
    letter-spacing: -.045em !important;
}
.queue-panel,
.side-panel {
    min-width: 0 !important;
}
.workflow-mini a,
.workflow-mini span {
    border-radius: 14px !important;
    border-color: rgba(148,163,184,.14) !important;
    background: rgba(7,13,25,.58) !important;
}
.admin-job-hero {
    position: relative !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 88% 8%, rgba(32,213,199,.16), transparent 34%),
        linear-gradient(145deg, rgba(15,25,44,.95), rgba(7,13,25,.94)) !important;
}
.admin-job-hero .detail-list,
.support-detail-list,
.clean-detail-list {
    border-radius: 18px !important;
    background: rgba(3,8,18,.25) !important;
}
.admin-delivery-panel {
    border-color: rgba(53,227,161,.34) !important;
    background:
        radial-gradient(circle at 90% 0%, rgba(53,227,161,.11), transparent 32%),
        linear-gradient(145deg, rgba(12,25,34,.92), rgba(7,13,25,.94)) !important;
}
.admin-delivery-form {
    border-radius: 20px !important;
    background: rgba(3,8,18,.46) !important;
    border-color: rgba(148,163,184,.14) !important;
}
.delivery-file-drop,
.support-dropzone,
.support-job-shell .support-dropzone {
    border-radius: 18px !important;
    border-style: dashed !important;
    border-color: rgba(32,213,199,.34) !important;
    background: rgba(32,213,199,.055) !important;
}
.admin-message-thread,
.support-timeline-panel {
    scrollbar-width: thin;
    scrollbar-color: rgba(32,213,199,.36) rgba(255,255,255,.04);
}
.admin-message-card,
.note-card,
.support-timeline-item,
.file-row,
.winols-alt,
.winols-muted-box,
.winols-api-box,
.winols-delivery-box,
.pricing-group-overrides,
.reseller-group-card {
    border-color: rgba(148,163,184,.14) !important;
    background: rgba(7,13,25,.55) !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.035) !important;
}
.portal-alert,
.alert-warning.portal-alert,
.alert-warning,
.text-warning.small {
    border-radius: 16px !important;
}
.alert-warning.portal-alert,
.alert-warning {
    border-color: rgba(245,158,11,.34) !important;
    background: linear-gradient(135deg, rgba(245,158,11,.16), rgba(245,158,11,.075)) !important;
    color: #ffe7b5 !important;
}
.support-summary-card,
.support-job-shell {
    position: relative;
}
.support-summary-card {
    overflow: hidden !important;
    background:
        radial-gradient(circle at 86% 0%, rgba(76,163,255,.15), transparent 34%),
        linear-gradient(145deg, rgba(15,25,44,.93), rgba(7,13,25,.94)) !important;
}
.file-viewer-vehicle-summary,
.file-viewer-file-meta,
.technical-info-card,
.file-gain-widget,
.support-timeline-item {
    border-radius: 16px !important;
}
.file-gain-widget-tab.active {
    background: linear-gradient(135deg, var(--ivt-accent), var(--ivt-accent-2)) !important;
    color: #06141e !important;
    border-color: rgba(255,255,255,.12) !important;
}
.support-timeline-item .support-avatar,
.support-avatar {
    box-shadow: 0 10px 22px rgba(0,0,0,.24), inset 0 1px 0 rgba(255,255,255,.12) !important;
}
.winols-stat-row {
    gap: 12px !important;
}
.winols-stat {
    min-height: 82px !important;
    border: 1px solid rgba(148,163,184,.16) !important;
    border-radius: 18px !important;
    background: linear-gradient(145deg, rgba(15,25,44,.86), rgba(7,13,25,.92)) !important;
    box-shadow: 0 14px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.048) !important;
}
.winols-tabs {
    padding: 6px !important;
    border: 1px solid rgba(148,163,184,.14) !important;
    border-radius: 16px !important;
    background: rgba(3,8,18,.34) !important;
}
.winols-tab {
    min-height: 38px !important;
    border-radius: 12px !important;
}
.winols-tab.active {
    background: linear-gradient(135deg, rgba(32,213,199,.22), rgba(76,163,255,.12)) !important;
    border-color: rgba(32,213,199,.36) !important;
}
.winols-card {
    border-radius: 20px !important;
}
.winols-card-head {
    padding-bottom: 10px !important;
    border-bottom: 1px solid rgba(148,163,184,.10) !important;
}
.winols-confidence {
    height: 7px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.07) !important;
    overflow: hidden !important;
}
.winols-confidence span {
    border-radius: 999px !important;
    background: linear-gradient(90deg, var(--ivt-accent), var(--ivt-accent-2)) !important;
}
.winols-delivery-box form,
.winols-review-actions,
.winols-action-row {
    gap: 8px !important;
}
.admin-job-delete-panel {
    border-radius: 18px !important;
    background: linear-gradient(135deg, rgba(127,29,29,.18), rgba(127,29,29,.08)) !important;
}
.customer-topbar-shell,
.portal-layout-customer .topbar-shell {
    background: linear-gradient(135deg, rgba(9,16,30,.88), rgba(10,22,40,.78)) !important;
}
.portal-layout-customer .support-job-shell,
.portal-layout-customer .dashboard-grid,
.portal-layout-customer .enterprise-page {
    gap: 16px !important;
}
.portal-layout-customer .portal-card,
.portal-layout-customer .queue-panel,
.portal-layout-customer .upload-card {
    padding: clamp(16px, 1.5vw, 24px) !important;
}
.portal-layout-customer .support-outline-btn,
.portal-layout-customer .support-primary-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    min-height: 40px !important;
}
@media (min-width: 992px) {
    .portal-main { margin-left: 268px !important; }
    .portal-layout-admin .content-wrap { padding-left: 18px !important; padding-right: 18px !important; }
}
@media (max-width: 1180px) {
    .topbar-shell { margin: 10px 12px 0 !important; }
    .command-hero { min-height: 0 !important; }
    .winols-delivery-box form { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 991.98px) {
    .portal-sidebar { width: min(310px, 88vw) !important; }
    .topbar-shell { border-radius: 18px !important; }
    .topbar-left, .topbar-actions { min-width: 0 !important; }
    .content-wrap { padding-left: 12px !important; padding-right: 12px !important; }
    .command-actions { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 720px) {
    .topbar-shell { margin: 8px 8px 0 !important; padding: 10px !important; }
    .content-wrap { gap: 12px !important; padding-left: 8px !important; padding-right: 8px !important; }
    .portal-card,
    .queue-panel,
    .side-panel,
    .upload-card,
    .winols-panel,
    .support-timeline-panel,
    .support-summary-card { border-radius: 18px !important; }
    .portal-layout-admin .portal-card:not(.kpi-card):not(.shop-product-tile):not(.shop-order-block),
    .portal-layout-admin .queue-panel,
    .portal-layout-admin .side-panel,
    .portal-layout-admin .upload-card,
    .winols-panel { padding: 16px !important; }
    .command-actions,
    .kpi-grid,
    .accounting-kpi-grid,
    .winols-stat-row { grid-template-columns: 1fr !important; }
    .btn,
    a.btn,
    button.btn { width: auto; }
    .admin-delivery-heading,
    .card-heading-row { gap: 10px !important; }
    .admin-delivery-form,
    .winols-delivery-box form,
    .winols-api-box form { grid-template-columns: 1fr !important; }
    .delivery-submit-row .btn,
    .winols-delivery-box .btn,
    .winols-review-actions .btn { width: 100% !important; }
    .portal-table td,
    .portal-table th { padding: 11px 12px !important; }
}
@supports not (color: color-mix(in srgb, white, black)) {
    .eyebrow { color: var(--ivt-accent) !important; }
}
