* {
    box-sizing: border-box;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    background: #eef2f7;
    color: #1e293b;
}

.site-shell {
    min-height: calc(100vh - 80px);
}

.top-header {
    background: #12335a;
    color: #ffffff;
    border-bottom: 5px solid #d8a31a;
}

.brand-area {
    padding: 18px 24px 10px 24px;
}

.brand-title {
    font-size: 30px;
    font-weight: 700;
    letter-spacing: 0.4px;
}

.brand-subtitle {
    font-size: 14px;
    margin-top: 4px;
    color: #dbeafe;
}

.top-nav {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
    align-items: center;
    gap: 14px;
    padding: 0 20px 14px 20px;
}

.top-nav-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 2px;
    min-width: 0;
}

.top-nav-left {
    justify-content: flex-start;
}

.top-nav-center {
    justify-content: center;
    gap: 8px;
}

.top-nav-right {
    justify-content: flex-end;
}

.top-nav a {
    color: #ffffff;
    text-decoration: none;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 14px;
    background: rgba(255, 255, 255, 0.08);
    white-space: nowrap;
}

.top-nav a:hover,
.top-nav a.active {
    background: #ffffff;
    color: #12335a;
}

.top-nav .top-nav-action {
    font-weight: 700;
}

.top-nav .top-nav-action-primary {
    background: #d8a31a;
    color: #111827;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
}

.top-nav .top-nav-action-secondary {
    background: #ffffff;
    color: #12335a;
    border: 1px solid rgba(255, 255, 255, 0.85);
}

.top-nav .top-nav-action-primary:hover,
.top-nav .top-nav-action-primary.active {
    background: #f0bd2d;
    color: #111827;
}

.top-nav .top-nav-action-secondary:hover,
.top-nav .top-nav-action-secondary.active {
    background: #e7f0ff;
    color: #12335a;
}

.main-layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 20px;
    padding: 20px;
}

.left-nav {
    background: #ffffff;
    border: 1px solid #d5dce8;
    border-radius: 12px;
    padding: 14px;
    height: fit-content;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.left-nav-title {
    font-weight: 700;
    color: #12335a;
    padding: 8px 10px 12px 10px;
    border-bottom: 1px solid #e5e7eb;
    margin-bottom: 8px;
}

.left-nav a {
    display: block;
    color: #24364b;
    text-decoration: none;
    padding: 10px;
    border-radius: 8px;
    margin-bottom: 4px;
    font-size: 14px;
}

.left-nav a:hover,
.left-nav a.active {
    background: #e7f0ff;
    color: #12335a;
    font-weight: 700;
}

.content-area {
    min-width: 0;
}

.hero-card,
.page-card,
.note-box,
.info-card,
.panel {
    background: #ffffff;
    border: 1px solid #d5dce8;
    border-radius: 14px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.hero-card {
    padding: 34px;
    margin-bottom: 20px;
}

.eyebrow {
    text-transform: uppercase;
    letter-spacing: 1px;
    font-size: 12px;
    font-weight: 700;
    color: #8a6410;
    margin: 0 0 10px 0;
}

h1 {
    color: #12335a;
    font-size: 34px;
    margin: 0 0 14px 0;
}

h2 {
    color: #12335a;
    margin-top: 0;
}

.hero-text {
    font-size: 18px;
    max-width: 850px;
    line-height: 1.55;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 22px;
}

.button {
    display: inline-block;
    text-decoration: none;
    padding: 12px 16px;
    border-radius: 9px;
    font-weight: 700;
}

.button.primary {
    background: #12335a;
    color: #ffffff;
}

.button.secondary {
    background: #d8a31a;
    color: #111827;
}

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

.info-card {
    padding: 22px;
}

.info-card a {
    color: #12335a;
    font-weight: 700;
}

.note-box,
.page-card {
    padding: 26px;
}

.placeholder-box {
    margin-top: 20px;
    padding: 18px;
    border-radius: 12px;
    background: #f8fafc;
    border: 1px dashed #94a3b8;
}

.two-column {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    margin-top: 20px;
}

.panel {
    padding: 20px;
}

.footer {
    text-align: center;
    color: #64748b;
    padding: 24px 16px;
    font-size: 14px;
}

.footer-note {
    margin-top: 4px;
}

@media (max-width: 850px) {
    .main-layout {
        grid-template-columns: 1fr;
    }

    .dashboard-grid,
    .two-column {
        grid-template-columns: 1fr;
    }

    .top-nav {
        grid-template-columns: 1fr;
    }

    .top-nav-left,
    .top-nav-center,
    .top-nav-right {
        justify-content: center;
    }
}

.left-nav-note {
    color: #64748b;
    font-size: 12px;
    line-height: 1.35;
    padding: 0 10px 10px 10px;
    margin-top: -4px;
}

.left-nav a.placeholder-link::after {
    content: "  • filler";
    color: #94a3b8;
    font-size: 11px;
    font-weight: 400;
}


/* Step 2 login/database styling */
.login-form {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.login-form label {
    font-weight: 700;
    color: #12335a;
    margin-top: 6px;
}

.login-form input {
    padding: 11px 12px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 15px;
}

.form-button {
    border: none;
    cursor: pointer;
    margin-top: 12px;
    font-size: 15px;
}

.alert {
    border-radius: 10px;
    padding: 12px 14px;
    margin: 16px 0;
    font-weight: 700;
}

.error-alert {
    background: #fee2e2;
    border: 1px solid #fca5a5;
    color: #991b1b;
}

.success-alert {
    background: #dcfce7;
    border: 1px solid #86efac;
    color: #166534;
}

.status-card {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 16px 18px;
    margin: 18px 0;
}

.status-card p {
    margin: 6px 0;
}

.test-account-grid {
    display: grid;
    gap: 6px;
    font-size: 14px;
}

.test-account-grid span {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 7px;
    padding: 7px 9px;
}

.small-grid {
    margin-top: 20px;
}

/* Step 2C account context and access feedback styling */
.user-context-bar {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 8px 18px;
    padding: 10px 24px 14px 24px;
    background: rgba(255, 255, 255, 0.10);
    border-top: 1px solid rgba(255, 255, 255, 0.18);
    color: #ffffff;
    font-size: 13px;
}

.context-divider {
    color: #d8a31a;
    margin: 0 8px;
}

.access-testing-note {
    margin-top: 12px;
    font-size: 14px;
    color: #475569;
}

/* Step 3 dashboard additions */
.alert {
    padding: 14px 16px;
    border-radius: 10px;
    margin: 14px 0;
    font-weight: 700;
}

.error-alert {
    background: #fee2e2;
    border: 1px solid #ef4444;
    color: #7f1d1d;
}

.success-alert {
    background: #dcfce7;
    border: 1px solid #22c55e;
    color: #14532d;
}

.status-card {
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 16px 18px;
    margin: 18px 0;
}

.status-card p {
    margin: 6px 0;
}

.account-summary-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 4px 24px;
}

.section-heading-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: 28px 0 14px 0;
}

.section-heading-row h2 {
    margin: 0;
}

.context-pill {
    display: inline-block;
    background: #e7f0ff;
    color: #12335a;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    padding: 8px 12px;
    font-size: 13px;
    font-weight: 700;
}

.tool-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin-top: 14px;
}

.tool-card {
    background: #ffffff;
    border: 1px solid #d5dce8;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.07);
}

.tool-card h2 {
    font-size: 20px;
    margin: 10px 0 8px 0;
}

.tool-card p {
    line-height: 1.45;
}

.tool-card.locked-tool {
    background: #f8fafc;
    color: #64748b;
    border-style: dashed;
}

.tool-card-topline {
    min-height: 28px;
}

.badge {
    display: inline-block;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: 12px;
    font-weight: 700;
}

.badge.available {
    background: #dcfce7;
    color: #14532d;
    border: 1px solid #22c55e;
}

.badge.locked {
    background: #fee2e2;
    color: #7f1d1d;
    border: 1px solid #ef4444;
}

.small-button {
    padding: 9px 12px;
    font-size: 13px;
    margin-top: 8px;
}

.locked-note {
    font-size: 13px;
    color: #64748b;
    font-style: italic;
}

.filler-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 14px;
}

.filler-table th,
.filler-table td {
    border: 1px solid #d5dce8;
    padding: 10px;
    text-align: left;
}

.filler-table th {
    background: #e7f0ff;
    color: #12335a;
}

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

@media (max-width: 850px) {
    .account-summary-card,
    .tool-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 4 realistic scenario additions */
.filler-table tbody th {
    width: 220px;
    background: #f8fafc;
    color: #12335a;
}
.filler-table td {
    vertical-align: top;
}

/* Step 4B clarity additions */
.scenario-scope-box {
    background: #fff7df;
    border: 1px solid #d8a31a;
    border-left: 6px solid #d8a31a;
    border-radius: 12px;
    padding: 16px 18px;
    margin: 18px 0;
}

.scenario-scope-box h2 {
    margin-top: 0;
    color: #12335a;
}

.scenario-scope-box p {
    margin: 8px 0;
}

.scenario-scope-box ul {
    margin: 10px 0 0 18px;
    padding: 0;
}

.scenario-scope-box li {
    margin: 6px 0;
}

/* Step 5A carrier census search additions */
.carrier-search-form {
    background: #f8fafc;
    border: 1px solid #d5dce8;
    border-radius: 14px;
    padding: 18px;
    margin: 18px 0;
}

.search-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr;
    gap: 14px;
}

.search-grid label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: #12335a;
    font-weight: 700;
}

.search-grid input,
.search-grid select {
    padding: 11px 12px;
    border: 1px solid #b8c2d1;
    border-radius: 10px;
    font-size: 15px;
    background: #ffffff;
}

.table-scroll {
    overflow-x: auto;
    margin-top: 12px;
}

.carrier-results-table {
    min-width: 1100px;
}

.carrier-results-table td,
.carrier-results-table th {
    font-size: 13px;
    vertical-align: top;
}

@media (max-width: 850px) {
    .search-grid {
        grid-template-columns: 1fr;
    }
}


/* Step 5D carrier selection/manual intrastate/active carrier workflow additions */
.inline-action-form {
    margin: 0;
}

.muted-text {
    color: #64748b;
    font-size: 13px;
}

.required-marker {
    color: #b91c1c;
}

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

.manual-carrier-form h2 {
    margin-top: 22px;
    color: #12335a;
    border-bottom: 1px solid #d5dce8;
    padding-bottom: 6px;
}

.full-width-label {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: #12335a;
    font-weight: 700;
    margin-top: 12px;
}

.full-width-label textarea {
    padding: 11px 12px;
    border: 1px solid #b8c2d1;
    border-radius: 10px;
    font-size: 15px;
    background: #ffffff;
    font-family: inherit;
}

@media (max-width: 950px) {
    .three-column-grid {
        grid-template-columns: 1fr;
    }
}


/* Step 5E active carrier profile additions */
.profile-hero-card {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    background: #f8fafc;
    border: 1px solid #d5dce8;
    border-radius: 14px;
    padding: 20px;
    margin: 18px 0;
}

.profile-hero-card h2 {
    margin-bottom: 8px;
}

.profile-badge-stack {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
    min-width: 220px;
}

.profile-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}

.profile-summary-card {
    background: #ffffff;
    border: 1px solid #d5dce8;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 5px 14px rgba(15, 23, 42, 0.06);
}

.profile-summary-card h2 {
    font-size: 20px;
    margin-bottom: 10px;
}

.profile-summary-card p {
    margin: 8px 0;
}

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

.three-column-tight {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    margin: 0;
}

.contact-card-wide {
    margin: 18px 0;
}

.carrier-profile-table {
    min-width: 720px;
}

.carrier-profile-table th {
    width: 260px;
}

@media (max-width: 950px) {
    .profile-summary-grid,
    .two-card-grid,
    .three-column-tight {
        grid-template-columns: 1fr;
    }
}


.correction-table input[type="text"],
.correction-table textarea,
.manual-carrier-form textarea {
    width: 100%;
    padding: 9px 10px;
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
}

.correction-table th {
    min-width: 160px;
}


/* Step 5G current working carrier selector additions */
.working-context-line {
    flex-basis: 100%;
}

.working-context-line a {
    color: #ffffff;
    font-weight: 700;
}

.light-divider {
    color: #94a3b8;
}

.working-carrier-card {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    background: #f8fafc;
    border: 1px solid #d5dce8;
    border-left: 6px solid #d8a31a;
    border-radius: 14px;
    padding: 18px;
    margin: 18px 0;
}

.working-carrier-card h2 {
    margin: 4px 0 8px 0;
}

.working-carrier-card p {
    margin: 6px 0;
}

.working-carrier-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.carrier-context-table {
    min-width: 850px;
}

.small-button {
    padding: 8px 11px;
    font-size: 13px;
}

/* Step 5H dashboard layout correction: carrier selector left + function tabs top */
.function-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 16px;
    padding: 10px 24px 14px 24px;
    background: rgba(255, 255, 255, 0.06);
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.function-tabs-label {
    color: #ffffff;
    font-size: 13px;
    min-width: 220px;
}

.function-tabs-label span {
    color: #dbeafe;
}

.function-tab-links {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.function-tab-links a {
    color: #ffffff;
    text-decoration: none;
    background: rgba(255, 255, 255, 0.10);
    border: 1px solid rgba(255, 255, 255, 0.16);
    border-radius: 8px 8px 0 0;
    padding: 9px 12px;
    font-size: 13px;
    font-weight: 700;
}

.function-tab-links a:hover,
.function-tab-links a.active {
    background: #ffffff;
    color: #12335a;
}

.carrier-selector-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin-bottom: 12px;
}

.carrier-selector-form {
    margin: 0;
}

.carrier-selector-button {
    width: 100%;
    text-align: left;
    border: 1px solid #d5dce8;
    background: #e7f0ff;
    color: #12335a;
    border-radius: 9px;
    padding: 10px;
    cursor: pointer;
    box-shadow: 0 3px 8px rgba(15, 23, 42, 0.06);
}

.carrier-selector-button:hover,
.carrier-selector-button.selected {
    background: #d8a31a;
    color: #111827;
    border-color: #b88306;
    font-weight: 700;
}

.carrier-selector-name,
.carrier-selector-meta {
    display: block;
}

.carrier-selector-name {
    font-size: 13px;
    line-height: 1.25;
}

.carrier-selector-meta {
    font-size: 11px;
    margin-top: 4px;
    opacity: 0.85;
}

.left-nav-section-label {
    margin: 14px 10px 6px 10px;
    padding-top: 12px;
    border-top: 1px solid #e5e7eb;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.7px;
    color: #64748b;
    font-weight: 700;
}

.left-nav-empty {
    background: #fff7df;
    border: 1px solid #d8a31a;
    border-radius: 10px;
    padding: 10px;
    margin: 8px 0 12px 0;
    font-size: 13px;
    color: #7c5108;
}

.workspace-intro-box {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 18px;
    background: #f8fafc;
    border: 1px solid #d5dce8;
    border-left: 6px solid #12335a;
    border-radius: 14px;
    padding: 18px;
    margin: 18px 0;
}

.workspace-intro-box h2 {
    margin: 4px 0 8px 0;
}

.workspace-intro-box p {
    margin: 6px 0;
}

.workspace-intro-meta {
    min-width: 240px;
    background: #ffffff;
    border: 1px solid #d5dce8;
    border-radius: 12px;
    padding: 12px 14px;
}

@media (max-width: 850px) {
    .function-tabs {
        padding: 10px 20px 12px 20px;
    }
    .function-tabs-label {
        min-width: 100%;
    }
    .function-tab-links a {
        border-radius: 8px;
    }
}

/* Step 5I Access-style dashboard refinement:
   logged-in left side is now only the vertical company/carrier tab selector. */
.carrier-tab-nav {
    background: #f8fafc;
    border-radius: 12px 0 0 12px;
    border-right: 0;
    padding-right: 0;
}

.carrier-tab-nav .left-nav-title {
    margin-right: 14px;
}

.carrier-tab-nav .left-nav-note {
    margin-right: 14px;
}

.carrier-tab-nav .lower-note {
    border-top: 1px solid #d5dce8;
    margin-top: 14px;
    padding-top: 12px;
    font-size: 12px;
}

.vertical-tab-list {
    gap: 0;
    margin-right: -1px;
}

.carrier-vertical-tab {
    border-radius: 10px 0 0 10px;
    border-right: 0;
    box-shadow: none;
    background: #dcecff;
    margin-bottom: 5px;
    min-height: 56px;
}

.carrier-vertical-tab:hover,
.carrier-vertical-tab.selected {
    background: #ffffff;
    color: #12335a;
    border-color: #d5dce8;
    border-right: 1px solid #ffffff;
    position: relative;
    z-index: 2;
}

.carrier-vertical-tab.selected::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 5px;
    background: #d8a31a;
    border-radius: 10px 0 0 10px;
}

.access-style-tabs {
    align-items: flex-end;
    padding-bottom: 0;
}

.access-style-tabs .function-tabs-label {
    padding-bottom: 12px;
}

.access-style-tabs .function-tab-links a {
    border-radius: 9px 9px 0 0;
    border-bottom: 0;
    padding: 10px 13px 12px 13px;
}

.access-style-tabs .function-tab-links a.setup-tab {
    background: rgba(216, 163, 26, 0.25);
}

.access-style-tabs .function-tab-links a.setup-tab:hover,
.access-style-tabs .function-tab-links a.setup-tab.active {
    background: #d8a31a;
    color: #111827;
}

/* Step 5J Access-style list/tab refinement from Nav-Demo.php
   Keep the MotorCarrierPros.com dark blue/gold theme while making company lists
   and function tabs feel like Microsoft Access horizontal/vertical navigation tabs. */
body {
    background: #e8eef5;
}

.site-shell {
    min-height: calc(100vh - 80px);
}

.main-layout {
    grid-template-columns: 255px 1fr;
    gap: 18px;
    padding: 18px 20px 24px 20px;
    align-items: start;
}

.left-nav.carrier-tab-nav,
.left-nav {
    border-radius: 10px;
}

.carrier-tab-nav {
    background: #dbe8f6;
    border: 1px solid #9fb8d8;
    padding: 12px;
    box-shadow: none;
}

.carrier-tab-nav .left-nav-title {
    color: #12335a;
    border-bottom: 1px solid #b9cce2;
    margin-bottom: 10px;
    padding: 0 0 10px 0;
    font-size: 16px;
}

.vertical-tab-list {
    gap: 8px;
}

.carrier-selector-button {
    background: #12335a;
    color: #ffffff;
    border: 1px solid #0c2541;
    border-radius: 7px;
    padding: 11px 12px;
    box-shadow: none;
    min-height: 54px;
}

.carrier-selector-button:hover {
    background: #1e4f83;
    color: #ffffff;
}

.carrier-selector-button.selected {
    background: #ffffff;
    color: #111827;
    border: 2px solid #111827;
    font-weight: 700;
}

.carrier-selector-name {
    font-size: 13px;
    line-height: 1.2;
    margin-top: 2px;
}

.carrier-selector-meta {
    font-size: 14px;
    line-height: 1.15;
    font-weight: 800;
    opacity: 1;
    margin-top: 0;
}

.content-area {
    min-width: 0;
}

.function-tabs.access-style-tabs {
    display: block;
    background: transparent;
    border: 0;
    padding: 0 0 0 0;
    margin: 0;
}

.access-style-tabs .function-tabs-label {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    min-height: 48px;
    background: #ffffff;
    color: #111827;
    border: 2px solid #111827;
    border-radius: 8px;
    padding: 10px 16px;
    margin-bottom: 28px;
    font-size: 19px;
    font-weight: 700;
}

.access-style-tabs .function-tabs-label span {
    color: #12335a;
    font-weight: 800;
}

.access-style-tabs .function-tab-links {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    padding-left: 8px;
    margin-bottom: 0;
}

.access-style-tabs .function-tab-links a {
    color: #ffffff;
    background: #12335a;
    border: 1px solid #0c2541;
    border-bottom: 0;
    border-radius: 9px 9px 0 0;
    padding: 11px 15px 12px 15px;
    font-size: 14px;
    font-weight: 700;
    position: relative;
    top: 1px;
}

.access-style-tabs .function-tab-links a:hover {
    background: #1e4f83;
    color: #ffffff;
}

.access-style-tabs .function-tab-links a.active {
    background: #ffffff;
    color: #111827;
    border-color: #111827;
    z-index: 2;
}

.access-style-tabs .function-tab-links a.setup-tab {
    background: #d8a31a;
    color: #111827;
    border-color: #9f7410;
}

.access-style-tabs .function-tab-links a.setup-tab:hover,
.access-style-tabs .function-tab-links a.setup-tab.active {
    background: #ffffff;
    color: #111827;
    border-color: #111827;
}

.content-area > .page-card {
    border: 1px solid #111827;
    border-radius: 0 10px 10px 10px;
    box-shadow: 0 4px 10px rgba(15, 23, 42, 0.08);
    padding: 24px;
}

.content-area > .page-card h1:first-child {
    color: #111827;
    border-bottom: 1px solid #d1d5db;
    padding-bottom: 14px;
    margin-bottom: 18px;
}

/* Lists/tables should follow the same clean record-list feel. */
.table-wrap,
.search-panel,
.status-card,
.placeholder-box,
.field-card {
    border-radius: 8px;
}

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

    .access-style-tabs .function-tabs-label {
        font-size: 17px;
        margin-bottom: 16px;
    }

    .content-area > .page-card {
        border-radius: 10px;
    }
}

/* Step 5K: Access-style application layout correction.
   This intentionally follows the Nav-Demo.php layout much more closely:
   top search/selected-company strip, left vertical carrier tabs, top horizontal function tabs,
   and a connected white work canvas. */
body {
    background: #dce8f4 !important;
    color: #000;
}

.access-app-header {
    margin: 0;
    padding: 0;
    background: #c9dcf1;
    border-bottom: 1px solid #9fb8d8;
    color: #000;
}

.access-search-strip {
    margin: 0;
    padding: 12px 20px 10px 20px;
    background: #c9dcf1;
    border-bottom: 1px solid #9fb8d8;
    display: grid;
    grid-template-columns: 210px 280px 130px minmax(420px, 1fr) auto;
    gap: 14px;
    align-items: end;
}

.access-search-field label {
    display: block;
    font-weight: 700;
    color: #000;
    margin-bottom: 5px;
    font-size: 14px;
}

.access-search-field input {
    width: 100%;
    border: 1px solid #777;
    border-radius: 6px;
    background: #fff;
    color: #111;
    padding: 10px 11px;
    font-size: 15px;
}

.access-selected-company-label {
    background: #fff;
    color: #000;
    border: 2px solid #111;
    border-radius: 8px;
    padding: 11px 17px;
    min-height: 48px;
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 22px;
    line-height: 1.1;
    font-weight: 700;
}

.access-selected-company-label span {
    font-weight: 700;
}

.access-selected-company-label strong {
    font-weight: 800;
}

.access-header-actions {
    display: flex;
    gap: 8px;
    align-items: center;
    justify-content: flex-end;
}

.access-home-link,
.access-admin-link,
.access-logout-link {
    display: inline-block;
    text-decoration: none;
    border-radius: 7px;
    padding: 10px 13px;
    font-weight: 700;
    border: 1px solid #0c2541;
    white-space: nowrap;
}

.access-home-link {
    background: #12335a;
    color: #fff;
}

.access-admin-link {
    background: #12335a;
    color: #fff;
    border-color: #0c2541;
}

/* Step 6W26D - top-level section state: white is the page/section currently open. */
.access-section-link.access-section-current {
    background: #ffffff !important;
    color: #12335a !important;
    border-color: #12335a !important;
    box-shadow: inset 0 0 0 1px rgba(18, 51, 90, 0.08);
}

.access-logout-link {
    background: #d8a31a;
    color: #111827;
    border-color: #9f7410;
}

.access-user-context-row {
    background: #12335a;
    color: #fff;
    border-bottom: 4px solid #d8a31a;
    padding: 8px 22px;
    font-size: 13px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.main-layout {
    display: grid !important;
    grid-template-columns: 250px minmax(0, 1fr) !important;
    gap: 18px !important;
    padding: 16px 20px 20px 20px !important;
    align-items: start !important;
    background: #dce8f4 !important;
}

.left-nav.carrier-tab-nav {
    width: 250px;
    background: #c9dcf1 !important;
    border: 1px solid #9fb8d8 !important;
    border-radius: 10px !important;
    padding: 12px !important;
    box-shadow: none !important;
}

.carrier-tab-nav .left-nav-title {
    color: #000 !important;
    border-bottom: none !important;
    margin: 0 0 12px 0 !important;
    padding: 0 !important;
    font-size: 18px !important;
    font-weight: 800 !important;
}

.vertical-tab-list,
.carrier-selector-list {
    display: block !important;
}

.carrier-selector-form {
    margin: 0 0 8px 0 !important;
}

button.carrier-selector-button,
button.carrier-selector-button.carrier-vertical-tab {
    width: 100% !important;
    display: block !important;
    text-align: left !important;
    cursor: pointer !important;
    background: #12335a !important;
    color: #fff !important;
    border: 1px solid #0c2541 !important;
    border-radius: 7px !important;
    padding: 10px 12px !important;
    min-height: 54px !important;
    box-shadow: none !important;
    font-family: Arial, Helvetica, sans-serif !important;
}

button.carrier-selector-button:hover,
button.carrier-selector-button.carrier-vertical-tab:hover {
    background: #1e4f83 !important;
    color: #fff !important;
}

button.carrier-selector-button.selected,
button.carrier-selector-button.carrier-vertical-tab.selected {
    background: #fff !important;
    color: #000 !important;
    border: 2px solid #111 !important;
    font-weight: 800 !important;
}

button.carrier-selector-button .carrier-selector-meta {
    display: block !important;
    color: inherit !important;
    opacity: 1 !important;
    font-size: 14px !important;
    line-height: 1.1 !important;
    font-weight: 800 !important;
    text-align: left !important;
    margin: 0 !important;
}

button.carrier-selector-button .carrier-selector-name {
    display: block !important;
    color: inherit !important;
    font-size: 13px !important;
    line-height: 1.15 !important;
    font-weight: 700 !important;
    text-align: left !important;
    margin-top: 2px !important;
}

.content-area {
    min-width: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
}

.function-tabs.access-style-tabs {
    display: block !important;
    background: transparent !important;
    border: 0 !important;
    padding: 0 0 0 0 !important;
    margin: 0 !important;
}

.function-tabs.access-style-tabs .function-tabs-label {
    display: none !important;
}

.access-style-tabs .function-tab-links {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 5px !important;
    padding-left: 8px !important;
    margin-bottom: 0 !important;
    align-items: flex-end !important;
}

.access-style-tabs .function-tab-links a {
    display: inline-block !important;
    text-decoration: none !important;
    color: #fff !important;
    background: #12335a !important;
    border: 1px solid #0c2541 !important;
    border-bottom: none !important;
    border-radius: 9px 9px 0 0 !important;
    padding: 12px 18px !important;
    min-height: 38px !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    position: relative !important;
    top: 1px !important;
    z-index: 1 !important;
}

.access-style-tabs .function-tab-links a:hover {
    background: #1e4f83 !important;
    color: #fff !important;
}

.access-style-tabs .function-tab-links a.active {
    background: #fff !important;
    color: #000 !important;
    border-color: #111 !important;
    z-index: 3 !important;
}

.access-style-tabs .function-tab-links a.setup-tab {
    background: #d8a31a !important;
    color: #111827 !important;
    border-color: #9f7410 !important;
}

.access-style-tabs .function-tab-links a.setup-tab.active {
    background: #fff !important;
    color: #000 !important;
    border-color: #111 !important;
}

.content-area > .page-card {
    background: #fff !important;
    color: #000 !important;
    border: 1px solid #111 !important;
    border-radius: 0 10px 10px 10px !important;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08) !important;
    padding: 24px !important;
    min-height: 620px !important;
    margin: 0 !important;
}

.content-area > .page-card h1:first-child {
    color: #000 !important;
    font-size: 26px !important;
    line-height: 1.2 !important;
    border-bottom: 1px solid #d2d2d2 !important;
    padding-bottom: 14px !important;
    margin: 0 0 22px 0 !important;
}

.field-card,
.info-card,
.status-card,
.working-carrier-card,
.placeholder-box,
.note-box,
.panel {
    border: 1px solid #d4d4d4 !important;
    border-radius: 8px !important;
    box-shadow: none !important;
}

@media (max-width: 1050px) {
    .access-search-strip {
        grid-template-columns: 1fr;
    }

    .access-selected-company-label {
        font-size: 19px;
    }

    .main-layout {
        grid-template-columns: 1fr !important;
    }

    .left-nav.carrier-tab-nav {
        width: 100%;
    }

    .content-area > .page-card {
        border-radius: 10px !important;
    }
}

/* Step 6A Driver / Applicant Foundation */
.info-alert {
    background: #eef6ff;
    border: 1px solid #93c5fd;
    color: #12335a;
}

.driver-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}

.driver-summary-card {
    border: 1px solid #d5dce8;
    background: #f8fafc;
    border-radius: 10px;
    padding: 12px;
    text-align: center;
}

.driver-summary-card span {
    display: block;
    font-size: 12px;
    color: #475569;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .03em;
}

.driver-summary-card strong {
    display: block;
    font-size: 24px;
    color: #12335a;
    margin-top: 4px;
}

.driver-add-panel {
    border: 1px solid #111;
    border-radius: 10px;
    margin: 18px 0;
    background: #ffffff;
}

.driver-add-panel summary {
    cursor: pointer;
    padding: 13px 16px;
    background: #12335a;
    color: #ffffff;
    font-weight: 800;
    border-radius: 8px 8px 0 0;
}

.driver-form {
    padding: 16px;
}

.driver-form fieldset {
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    margin: 0 0 16px 0;
    padding: 16px;
}

.driver-form legend {
    color: #12335a;
    font-weight: 800;
    padding: 0 8px;
}

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

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

.driver-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-weight: 700;
    color: #12335a;
}

.driver-form input[type="text"],
.driver-form input[type="email"],
.driver-form input[type="date"],
.driver-form select,
.driver-form textarea {
    padding: 10px 11px;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
}

.checkbox-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-bottom: 10px;
}

.checkbox-row label {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    background: #f8fafc;
    border: 1px solid #d5dce8;
    border-radius: 8px;
    padding: 10px;
}

.form-help {
    color: #475569;
    font-size: 13px;
    margin: 6px 0 14px 0;
}

.driver-list-section {
    margin-top: 22px;
}

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

.driver-table {
    min-width: 1100px;
}

.driver-table th,
.driver-table td {
    font-size: 13px;
    vertical-align: top;
}

@media (max-width: 1100px) {
    .driver-summary-grid,
    .form-grid.three-col,
    .checkbox-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 700px) {
    .driver-summary-grid,
    .form-grid,
    .form-grid.three-col,
    .checkbox-row {
        grid-template-columns: 1fr;
    }
}

.data-table {
    width: 100%;
    border-collapse: collapse;
    background: #ffffff;
    border: 1px solid #d5dce8;
}

.data-table th,
.data-table td {
    border: 1px solid #d5dce8;
    padding: 10px;
    text-align: left;
}

.data-table th {
    background: #12335a;
    color: #ffffff;
    font-weight: 800;
}

.data-table tbody tr:nth-child(even) {
    background: #f8fafc;
}

/* Step 6B Driver List / Profile Flow */
.driver-flow-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    margin: 18px 0;
}

.driver-panel {
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    padding: 16px;
}

.driver-panel h2,
.driver-filter-panel h2 {
    color: #12335a;
    margin-top: 0;
}

.driver-filter-form label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-weight: 700;
    color: #12335a;
}

.driver-filter-form input[type="text"],
.driver-filter-form select {
    padding: 10px 11px;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
}

.compact-actions {
    gap: 8px;
    margin: 10px 0 0 0;
}

.small-button {
    padding: 8px 10px !important;
    font-size: 13px !important;
}

.driver-card-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}

.driver-record-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 265px 430px;
    gap: 14px;
    align-items: center;
    border: 1px solid #cbd5e1;
    border-left: 7px solid #12335a;
    border-radius: 10px;
    background: #ffffff;
    padding: 14px;
    box-shadow: 0 2px 7px rgba(15, 23, 42, 0.08);
}

.driver-record-main h3 {
    margin: 0 0 5px 0;
    color: #12335a;
    font-size: 18px;
}

.driver-record-main p {
    margin: 0 0 8px 0;
    color: #475569;
    font-size: 13px;
}

.driver-record-main,
.driver-record-details,
.driver-record-actions {
    min-width: 0;
}

.driver-record-details {
    display: grid;
    grid-template-columns: 1fr;
    gap: 6px;
    font-size: 13px;
    color: #334155;
}

.driver-record-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
}

.driver-record-actions .inline-cleanup-form,
.driver-record-actions .button {
    flex: 0 0 auto;
}

/* Step 6W6A14/6W6A16: Driver List and All DQ Files record cards now use one readable details line instead of a duplicated/status stack. */
.driver-list-record-card {
    grid-template-columns: minmax(0, 1fr) 430px;
    align-items: center;
}

.driver-list-record-card .driver-record-main {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.driver-list-record-card .driver-record-main h3 {
    margin-bottom: 0;
}

.driver-record-meta-line {
    display: flex;
    flex-wrap: wrap;
    gap: 7px 18px;
    align-items: baseline;
    margin: 0;
    color: #334155;
    font-size: 13px;
    line-height: 1.45;
}

.driver-record-meta-line span {
    white-space: nowrap;
}

.driver-record-meta-line strong {
    color: #12335a;
    font-weight: 900;
}

.driver-compliance-badge-row {
    margin-top: 0;
}

@media (max-width: 1280px) {
    .driver-list-record-card {
        grid-template-columns: minmax(0, 1fr);
    }
    .driver-list-record-card .driver-record-actions {
        grid-column: auto;
        justify-content: flex-start;
        text-align: left;
    }
}

@media (max-width: 760px) {
    .driver-record-meta-line span {
        white-space: normal;
    }
}

.driver-badge-row,
.driver-profile-status-strip {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.driver-badge {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #12335a;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

.driver-badge-active,
.driver-badge-in-pool,
.driver-badge-yes {
    background: #ecfdf5;
    border-color: #86efac;
    color: #166534;
}

.driver-badge-applicant,
.driver-badge-pending,
.driver-badge-waiting-reply,
.driver-badge-needs-review {
    background: #fffbeb;
    border-color: #fcd34d;
    color: #92400e;
}

.driver-badge-inactive,
.driver-badge-removed,
.driver-badge-not-applicable,
.driver-badge-no,
.driver-badge-not-started {
    background: #f1f5f9;
    border-color: #cbd5e1;
    color: #475569;
}

.driver-badge-terminated,
.driver-badge-rejected {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
}

.driver-badge-company-driver,
.driver-badge-owner-operator,
.driver-badge-contract-driver {
    background: #eef6ff;
    border-color: #93c5fd;
    color: #12335a;
}

.driver-profile-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    border-bottom: 2px solid #12335a;
    padding-bottom: 12px;
    margin-bottom: 14px;
}

.driver-profile-heading h1 {
    margin-bottom: 4px;
}

.driver-profile-heading p {
    margin: 0;
    color: #475569;
    font-weight: 700;
}

.driver-profile-status-strip {
    padding: 10px 0 16px 0;
}

.driver-profile-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 10px 0 18px 0;
}

.driver-profile-panel {
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
    padding: 16px;
}

.driver-profile-panel h2,
.driver-guidance-section h2 {
    margin-top: 0;
    color: #12335a;
}

.profile-dl {
    display: grid;
    grid-template-columns: 170px 1fr;
    gap: 8px 12px;
    margin: 0;
}

.profile-dl dt {
    font-weight: 800;
    color: #12335a;
}

.profile-dl dd {
    margin: 0;
    color: #334155;
}

.driver-guidance-section {
    margin: 18px 0;
}

.driver-guidance-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 14px;
}

.driver-guidance-card {
    border: 1px solid #93c5fd;
    border-radius: 10px;
    background: #eef6ff;
    padding: 14px;
}

.driver-guidance-card h3 {
    margin: 0 0 6px 0;
    color: #12335a;
}

.driver-guidance-card strong {
    display: block;
    color: #0f172a;
    margin-bottom: 6px;
}

.driver-guidance-card p {
    margin: 0;
    color: #334155;
}

.full-width-panel {
    margin-top: 14px;
}

@media (max-width: 1280px) {
    .driver-record-card {
        grid-template-columns: minmax(0, 1fr) 250px;
    }
    .driver-record-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
        text-align: left;
    }
}

@media (max-width: 1000px) {
    .driver-record-card,
    .driver-profile-heading,
    .driver-profile-grid,
    .driver-guidance-grid {
        grid-template-columns: 1fr;
    }
    .driver-profile-heading {
        display: block;
    }
    .driver-record-actions {
        justify-content: flex-start;
        text-align: left;
    }
}

@media (max-width: 700px) {
    .profile-dl {
        grid-template-columns: 1fr;
    }
}


/* Step 6C DQ Checklist */
.dq-summary-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    background: #f8fafc;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    padding: 12px;
    margin: 14px 0;
}

.dq-checklist-list {
    display: grid;
    gap: 14px;
    margin-top: 16px;
}

.dq-item-card {
    border: 1px solid #cbd5e1;
    border-left: 6px solid #12335a;
    border-radius: 12px;
    background: #ffffff;
    padding: 14px;
    box-shadow: 0 2px 6px rgba(15, 23, 42, 0.08);
}

.dq-item-main h2 {
    margin: 0 0 6px 0;
    color: #12335a;
    font-size: 1.05rem;
}

.dq-item-main p {
    margin: 5px 0;
}

.dq-item-form {
    margin-top: 12px;
    border-top: 1px solid #e2e8f0;
    padding-top: 12px;
}

.dq-status-inline {
    margin-left: 12px;
}

.dq-record-card {
    border-left-color: #12335a;
}

@media (max-width: 1000px) {
    .dq-summary-strip {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 700px) {
    .dq-summary-strip {
        grid-template-columns: 1fr;
    }
}


/* Step 6D Driver Intake layout */
.intake-progress-grid { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 12px; margin: 18px 0; }
.intake-progress-card { border: 1px solid #c8d4e3; background: #f8fbff; border-radius: 10px; padding: 12px; }
.intake-progress-card span { display: block; font-size: 12px; color: #475569; margin-bottom: 4px; }
.intake-progress-card strong { font-size: 24px; color: #12335a; }
.intake-form-coverage { margin: 18px 0; }
.intake-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: 12px; }
.intake-form-card { border: 1px solid #c8d4e3; background: #ffffff; border-radius: 10px; padding: 14px; box-shadow: 0 3px 10px rgba(15, 23, 42, 0.06); }
.intake-form-card h3 { margin: 0 0 6px 0; color: #12335a; }
.intake-form-card span { display: inline-block; margin-top: 6px; font-size: 12px; font-weight: 700; color: #12335a; background: #e8f1ff; border: 1px solid #c8d4e3; border-radius: 999px; padding: 4px 8px; }
.intake-master-form { margin-top: 18px; }
.intake-section { border: 1px solid #c8d4e3; border-radius: 10px; background: #ffffff; margin-bottom: 14px; padding: 14px; }
.intake-section legend { color: #12335a; font-weight: 800; padding: 0 8px; }
.intake-field-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.intake-field { display: flex; flex-direction: column; gap: 5px; font-weight: 700; color: #0f172a; }
.intake-field span em { font-style: normal; color: #9a3412; background: #ffedd5; border: 1px solid #fdba74; border-radius: 999px; padding: 2px 6px; font-size: 11px; margin-left: 4px; }
.intake-field input, .intake-field select, .intake-field textarea { width: 100%; padding: 9px 10px; border: 1px solid #aeb9c8; border-radius: 6px; font: inherit; background: #ffffff; }
.intake-field textarea { resize: vertical; }
.intake-field small { color: #64748b; font-weight: 400; }
.sensitive-field input, .sensitive-field textarea { border-color: #d97706; background: #fffaf0; }
.warning-alert { border-left: 5px solid #d97706; background: #fff7ed; color: #7c2d12; }
@media (max-width: 900px) { .intake-progress-grid { grid-template-columns: repeat(2, 1fr); } }

/* Step 6E: previous employer / USDOT lookup tweaks */
.full-width-field {
    grid-column: 1 / -1;
}
.small-alert {
    padding: 8px 10px;
    margin: 8px 0;
    font-size: 0.92rem;
}


/* Step 6E6: Driver Intake previous-employer manager */
.previous-employer-manager {
    margin: 18px 0;
}
.lookup-panel {
    border: 1px solid #c8d6e8;
    background: #f8fbff;
    border-radius: 8px;
    padding: 14px;
    margin: 16px 0;
}
.carrier-search-form {
    display: grid;
    grid-template-columns: 1fr auto auto;
    gap: 10px;
    align-items: end;
}
.carrier-search-form label {
    display: grid;
    gap: 6px;
    font-weight: 700;
}
.previous-employer-entry-form {
    border: 1px solid #c8d6e8;
    border-radius: 8px;
    padding: 14px;
    background: #fff;
    margin-top: 16px;
}
.inline-delete-form {
    margin-top: 10px;
}
.button.danger {
    background: #8b1e1e;
    color: #fff;
}
@media (max-width: 900px) {
    .carrier-search-form {
        grid-template-columns: 1fr;
    }
}


/* Step 6F: generated driver application preview and signature starter */
.application-actions-panel {
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 16px;
    margin: 18px 0;
    background: #f8fafc;
}

.application-sign-grid {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(160px, 220px) auto;
    gap: 12px;
    align-items: end;
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #d5dce8;
    border-radius: 10px;
    background: #ffffff;
}

.application-sign-grid label {
    font-weight: 700;
    color: #12335a;
}

.application-sign-grid input[type="text"],
.application-sign-grid input[type="date"] {
    width: 100%;
    padding: 9px;
    border: 1px solid #aeb8c6;
    border-radius: 6px;
    margin-top: 5px;
}

.application-sign-grid .checkbox-row {
    display: flex;
    gap: 8px;
    align-items: center;
    grid-column: 1 / 3;
    color: #0f172a;
}

.application-preview-wrapper {
    margin-top: 18px;
    background: #ffffff;
}

.application-document {
    border: 2px solid #111827;
    border-radius: 8px;
    padding: 22px;
    background: #ffffff;
    color: #111827;
}

.application-document-header {
    text-align: center;
    border-bottom: 1px solid #cbd5e1;
    margin-bottom: 16px;
    padding-bottom: 10px;
}

.application-document-header h1 {
    font-size: 26px;
    color: #111827;
    margin-bottom: 6px;
    text-transform: uppercase;
}

.form-subtitle,
.application-reference-note,
.small-note {
    color: #475569;
    font-size: 13px;
}

.application-section {
    border: 1px solid #d5dce8;
    border-radius: 10px;
    padding: 14px;
    margin: 12px 0;
    break-inside: avoid;
}

.application-section h2 {
    color: #12335a;
    font-size: 18px;
    border-bottom: 1px solid #e5e7eb;
    padding-bottom: 6px;
    margin-bottom: 10px;
}

.application-section h3 {
    color: #12335a;
    margin: 8px 0;
}

.application-grid {
    display: grid;
    gap: 10px;
}

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

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

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

.application-table {
    width: 100%;
    border-collapse: collapse;
    margin-top: 8px;
}

.application-table th,
.application-table td {
    border: 1px solid #94a3b8;
    padding: 8px;
    vertical-align: top;
    text-align: left;
}

.application-text-block {
    min-height: 44px;
    border: 1px solid #cbd5e1;
    border-radius: 6px;
    padding: 8px;
    background: #f8fafc;
}

.application-list li {
    min-height: 28px;
    margin: 4px 0;
}

.application-employer-block {
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    border-radius: 8px;
    padding: 12px;
    margin: 10px 0;
}

.signature-section {
    border-color: #12335a;
}

.signature-lines {
    margin-top: 16px;
    border-top: 1px solid #111827;
    padding-top: 12px;
}

.document-history {
    margin-top: 20px;
}

.warning-alert {
    background: #fff7ed;
    border: 1px solid #fdba74;
    color: #7c2d12;
}

@media (max-width: 980px) {
    .application-sign-grid,
    .application-grid.two,
    .application-grid.three,
    .application-grid.four {
        grid-template-columns: 1fr;
    }

    .application-sign-grid .checkbox-row {
        grid-column: auto;
    }
}

@media print {
    .no-print,
    .access-shell-top,
    .left-nav,
    .function-tabs,
    .footer,
    .carrier-search-strip,
    .top-header {
        display: none !important;
    }

    body {
        background: #ffffff;
    }

    .main-layout {
        display: block;
        padding: 0;
    }

    .content-area {
        width: 100%;
    }

    .page-card,
    .access-canvas-card {
        border: none;
        box-shadow: none;
        padding: 0;
    }

    .application-document {
        border: none;
        padding: 0;
    }

    .application-section {
        page-break-inside: avoid;
    }
}


/* Step 6G DQ PDF / request starter helpers */
.clean-list {
    margin: 0.75rem 0 0 1.25rem;
    padding: 0;
}
.clean-list li {
    margin: 0.35rem 0;
    line-height: 1.45;
}
.dq-request-form {
    margin-top: 1rem;
}

/* Step 6J2: DQ medical card manager summary */
.mini-compliance-panel {
    border: 1px solid #bfdbfe;
    background: #eff6ff;
    border-radius: 8px;
    padding: 10px 12px;
    margin-top: 10px;
}
.mini-compliance-panel p {
    margin: 6px 0;
}


.danger-details {
    margin-top: 12px;
    border: 1px solid #e3b5b5;
    background: #fff8f8;
    border-radius: 8px;
    padding: 10px 12px;
}

.danger-details summary {
    cursor: pointer;
    font-weight: bold;
    color: #7a1f1f;
}

.reset-medical-test-box {
    margin: 12px 0;
}

.inline-review-form label {
    margin: 6px 8px 6px 0;
}

/* Step 6K2: cleaner driver license upload layout */
.license-upload-form-clean {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.license-form-section {
    border: 1px solid #c9d6e3;
    background: #f8fbff;
    border-radius: 8px;
    padding: 12px 14px;
}

.license-form-section h3 {
    margin: 0 0 10px 0;
    color: #12335a;
    font-size: 16px;
}

.license-details-grid {
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    align-items: end;
}

.license-restrictions-field {
    grid-column: span 2;
}

.license-copy-section {
    background: #ffffff;
}

.license-file-pair {
    display: grid;
    grid-template-columns: repeat(2, minmax(260px, 1fr));
    gap: 16px;
    align-items: end;
    margin-top: 8px;
}

.license-file-pair label,
.license-notes-line {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-weight: 700;
    color: #12335a;
}

.license-file-pair input[type="file"] {
    padding: 8px;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    background: #ffffff;
}

.license-notes-line {
    margin-top: 12px;
}

.license-notes-line input[type="text"] {
    width: 100%;
    padding: 10px 11px;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
}

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

@media (max-width: 700px) {
    .license-details-grid,
    .license-file-pair {
        grid-template-columns: 1fr;
    }

    .license-restrictions-field {
        grid-column: span 1;
    }
}


/* Step 6J9: medical card upload form now follows the Step 6K driver-license layout pattern */
.medical-card-details-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    align-items: end;
}

.medical-card-file-row {
    display: grid;
    grid-template-columns: minmax(320px, 520px);
    gap: 16px;
    align-items: end;
    margin-top: 8px;
}

.medical-card-file-row label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-weight: 700;
    color: #12335a;
}

.medical-card-file-row input[type="file"] {
    padding: 8px;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    background: #ffffff;
}

@media (max-width: 1100px) {
    .medical-card-details-grid,
    .medical-card-file-row {
        grid-template-columns: 1fr;
    }
}


/* Step 6L: application workflow cleanup to match Driver License / Medical Card style */
.application-summary-strip {
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
}

.application-workflow-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    margin-top: 14px;
}

.application-action-card {
    border: 1px solid #b8c2d1;
    border-radius: 12px;
    background: #f8fbff;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.application-action-card h3 {
    margin: 0 0 4px 0;
    color: #12335a;
}

.application-action-card label {
    display: flex;
    flex-direction: column;
    gap: 6px;
    font-weight: 700;
    color: #12335a;
}

.application-action-card input[type="text"],
.application-action-card input[type="date"] {
    padding: 9px 10px;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    background: #fff;
}

.application-action-card .checkbox-row {
    flex-direction: row;
    align-items: flex-start;
    font-weight: 600;
}

.application-action-card button {
    align-self: flex-start;
    margin-top: auto;
}

/* Step 6O2: Medical Card OCR assist */
.medical-card-ocr-section {
    background: #f7fbff;
}

.ocr-status-text {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    font-weight: 700;
    color: #12335a;
}

.ocr-review-grid {
    margin-top: 10px;
}

.ocr-text-details {
    margin-top: 12px;
    border: 1px solid #d5e1ee;
    border-radius: 8px;
    padding: 10px 12px;
    background: #ffffff;
}

.ocr-text-details summary {
    cursor: pointer;
    font-weight: 700;
    color: #12335a;
}

.ocr-text-details textarea {
    width: 100%;
    min-height: 160px;
    margin-top: 10px;
    padding: 10px 11px;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    font-family: Consolas, Monaco, monospace;
    font-size: 12px;
    background: #fbfdff;
}


/* Step 6O3: Medical Card OCR / National Registry review cleanup */
.ocr-review-layout {
    display: grid;
    grid-template-columns: minmax(300px, 0.9fr) minmax(320px, 1.1fr);
    gap: 16px;
    align-items: start;
    margin-top: 12px;
}

.ocr-card-preview-panel,
.ocr-structured-review-panel,
.medical-card-source-preview,
.national-registry-checklist-section {
    border: 1px solid #d5e1ee;
    border-radius: 10px;
    background: #ffffff;
    padding: 12px;
}

.ocr-card-preview-panel h4,
.ocr-structured-review-panel h4,
.medical-card-source-preview h4,
.ocr-review-checklist h4 {
    margin: 0 0 6px 0;
    color: #12335a;
}

.ocr-card-preview-box {
    min-height: 260px;
    max-height: 620px;
    overflow: auto;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    background: #f8fbff;
    padding: 10px;
}

.ocr-card-preview-box img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
    background: #ffffff;
}

.ocr-card-preview-box iframe,
.medical-card-source-preview iframe {
    width: 100%;
    min-height: 640px;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    background: #ffffff;
}

.medical-card-source-preview {
    margin-top: 14px;
}

.hidden-ocr-raw-text {
    display: none;
}

.compact-checklist,
.structured-review-checklist {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.compact-checklist label,
.structured-review-checklist label {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-weight: 700;
    color: #12335a;
    line-height: 1.35;
}

.compact-checklist input[type="checkbox"],
.structured-review-checklist input[type="checkbox"] {
    width: auto;
    margin-top: 2px;
}

.document-checklist-summary {
    margin: 8px 0 0 0;
    padding-left: 0;
    list-style: none;
}

.document-checklist-summary li {
    margin: 5px 0;
}

@media (max-width: 1100px) {
    .ocr-review-layout {
        grid-template-columns: 1fr;
    }
}

/* Step 6O4: Medical Card OCR rotation and full structured review */
.ocr-rotation-controls {
    margin: 8px 0 10px 0;
}

.ocr-card-preview-box img.preview-rotated-sideways {
    margin-top: 80px;
    margin-bottom: 80px;
}

.ocr-field-group {
    margin-top: 12px;
    padding: 10px;
    border: 1px solid #d5e1ee;
    border-radius: 9px;
    background: #f8fbff;
}

.ocr-field-group h5 {
    margin: 0 0 8px 0;
    color: #12335a;
    font-size: 15px;
}

.ocr-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 8px 14px;
    margin-top: 8px;
}

.ocr-checkbox-grid label {
    display: flex;
    gap: 8px;
    align-items: flex-start;
    font-weight: 700;
    color: #12335a;
    line-height: 1.35;
}

.ocr-checkbox-grid input[type="checkbox"] {
    width: auto;
    margin-top: 2px;
}

.ocr-structured-review-panel select {
    width: 100%;
    padding: 5px 7px;
    border: 1px solid #b8c2d1;
    border-radius: 5px;
    background: #fff;
}

@media (max-width: 800px) {
    .ocr-checkbox-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6O10: keep internal National Registry metadata out of the normal carrier-facing review view. */
.it-admin-details {
    margin-top: 0.75rem;
    padding: 0.65rem 0.75rem;
    border: 1px dashed #b8c7d9;
    border-radius: 8px;
    background: #f7fbff;
    max-width: 100%;
    box-sizing: border-box;
}

.it-admin-details summary {
    cursor: pointer;
    font-weight: 700;
    color: #21476f;
}

.system-note-blob {
    margin: 0.5rem 0 0;
    padding: 0.65rem;
    border: 1px solid #d4e0ec;
    border-radius: 6px;
    background: #ffffff;
    max-width: 100%;
    white-space: pre-wrap;
    word-break: break-word;
    overflow-wrap: anywhere;
    overflow-x: auto;
    font-size: 0.82rem;
    line-height: 1.35;
}



/* Step 6R: FMCSA-style Driver Application cleanup */
.fmcsa-application-document {
    border: 1px solid #9fb3c8;
    background: #ffffff;
    padding: 0;
    overflow: hidden;
}

.fmcsa-application-header {
    background: #f3f7fb;
    border-bottom: 3px solid #12335a;
    padding: 18px 22px 16px;
    margin: 0;
}

.application-form-kicker {
    display: inline-block;
    background: #12335a;
    color: #ffffff;
    border-radius: 999px;
    padding: 5px 12px;
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 8px;
}

.fmcsa-application-header h1 {
    color: #12335a;
}

.fmcsa-application-section {
    border: 1px solid #bfd0e3;
    background: #fbfdff;
    border-radius: 10px;
    margin: 14px 16px;
    padding: 0 0 14px;
}

.fmcsa-application-section h2 {
    background: #12335a;
    color: #ffffff;
    border-bottom: 0;
    border-radius: 9px 9px 0 0;
    padding: 9px 12px;
    margin: 0 0 12px;
    font-size: 16px;
    letter-spacing: .01em;
}

.fmcsa-application-section > p,
.fmcsa-application-section > .small-note,
.fmcsa-application-section > .application-grid,
.fmcsa-application-section > .application-table,
.fmcsa-application-section > .application-text-block,
.fmcsa-application-section > .application-employer-block {
    margin-left: 14px;
    margin-right: 14px;
}

.application-box-grid {
    gap: 9px;
}

.application-field-box {
    border: 1px solid #c8d6e5;
    background: #eef4fb;
    border-radius: 8px;
    min-height: 58px;
    padding: 9px 10px;
}

.application-field-box span {
    display: block;
    color: #35516d;
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .03em;
    margin-bottom: 5px;
}

.application-field-box strong {
    display: block;
    color: #0f2741;
    font-size: 14px;
    min-height: 18px;
    overflow-wrap: anywhere;
}

.wide-field {
    grid-column: span 1;
}

.shaded-answer-block {
    background: #eef4fb;
    border-color: #c8d6e5;
    color: #0f2741;
}

.fmcsa-application-table th {
    background: #dfeaf5;
    color: #12335a;
    font-weight: 800;
}

.fmcsa-employer-block h3 {
    background: #dfeaf5;
    color: #12335a;
    border-radius: 8px;
    padding: 8px 10px;
}

.managed-collapse {
    border: 1px solid #b8c2d1;
    border-radius: 12px;
    background: #ffffff;
    overflow: hidden;
}

.managed-collapse summary {
    cursor: pointer;
    background: #12335a;
    color: #ffffff;
    padding: 12px 14px;
    font-weight: 800;
    list-style-position: inside;
}

.managed-collapse-body {
    padding: 14px;
}

@media print {
    .fmcsa-application-section {
        break-inside: avoid;
        margin: 9px 0;
    }
    .fmcsa-application-section h2,
    .application-form-kicker,
    .managed-collapse summary {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
    .application-field-box,
    .shaded-answer-block,
    .fmcsa-application-table th {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}

/* Step 6R2: Driver Application / Intake visual cleanup */
.step6r2-application-intake {
    margin-top: 18px;
}

.fmcsa-intake-section {
    border: 1px solid #bfd0e3;
    background: #fbfdff;
    border-radius: 10px;
    padding: 0 0 14px;
    overflow: hidden;
}

.fmcsa-intake-section > summary {
    list-style: none;
    cursor: pointer;
    background: #12335a;
    color: #ffffff;
    font-weight: 800;
    letter-spacing: .01em;
    padding: 10px 14px;
    border-radius: 9px 9px 0 0;
}

.fmcsa-intake-section > summary::-webkit-details-marker {
    display: none;
}

.fmcsa-intake-section > summary::after {
    content: "Collapse";
    float: right;
    font-size: 12px;
    font-weight: 700;
    opacity: .9;
}

.fmcsa-intake-section:not([open]) > summary {
    border-radius: 9px;
}

.fmcsa-intake-section:not([open]) > summary::after {
    content: "Open";
}

.fmcsa-intake-section > p,
.fmcsa-intake-section > .muted-text,
.fmcsa-intake-section > .intake-field-grid,
.fmcsa-intake-section > .conditional-panel {
    margin: 12px 14px;
}

.intake-repeat-card {
    border: 1px solid #c8d6e5;
    background: #eef4fb;
    border-radius: 10px;
    padding: 12px;
    margin: 12px 0;
}

.intake-repeat-card h3 {
    margin: 0 0 10px;
    color: #12335a;
    font-size: 15px;
}

.collapsed-secondary-card {
    background: #f5f8fc;
}

.compact-answer-block {
    min-height: auto;
    padding: 10px 12px;
    font-weight: 700;
}

.compact-application-table th,
.compact-application-table td {
    font-size: 12px;
    padding: 6px;
}

@media print {
    .fmcsa-intake-section > summary {
        background: #12335a !important;
        color: #ffffff !important;
    }
}

/* Step 6R3: Driver Intake flow cleanup to match Driver Application */
.driver-intake-flow-banner {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 10px;
    margin: 14px 0 16px;
}

.driver-intake-flow-banner div {
    display: flex;
    align-items: center;
    gap: 8px;
    border: 1px solid #bfd0e3;
    background: #eef4fb;
    border-radius: 12px;
    padding: 10px 12px;
    color: #12335a;
    font-weight: 800;
}

.driver-intake-flow-banner strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #12335a;
    color: #ffffff;
    font-size: 13px;
    flex: 0 0 auto;
}

.driver-intake-flow-banner span {
    line-height: 1.15;
}

.step6r3-progress-grid {
    margin-top: 12px;
}

.step6r3-application-intake,
.step6r3-supporting-intake {
    margin-top: 16px;
}

.step6r3-application-intake .application-flow-section,
.previous-employer-manager,
.supporting-intake-collapse {
    box-shadow: 0 8px 18px rgba(15, 23, 42, .05);
}

.intake-section-description {
    color: #475569;
    font-size: 14px;
    line-height: 1.45;
}

.fmcsa-intake-section .intake-field-grid,
.fmcsa-intake-section .conditional-panel .intake-field-grid {
    align-items: start;
}

.fmcsa-intake-section .intake-field {
    border: 1px solid #c8d6e5;
    background: #eef4fb;
    border-radius: 9px;
    padding: 10px;
    min-height: 78px;
}

.fmcsa-intake-section .intake-field span {
    color: #25415f;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .025em;
}

.fmcsa-intake-section .intake-field input,
.fmcsa-intake-section .intake-field select,
.fmcsa-intake-section .intake-field textarea {
    background: #ffffff;
    border-color: #aebed0;
}

.fmcsa-intake-section .full-width-field {
    grid-column: 1 / -1;
}

.intake-save-bar {
    border: 1px solid #bfd0e3;
    background: #f8fbff;
    border-radius: 12px;
    padding: 12px;
    margin: 10px 0 18px;
}

.intake-coverage-collapse,
.supporting-intake-collapse {
    margin: 14px 0 18px;
}

.previous-employer-manager > summary {
    font-size: 16px;
}

.previous-employer-manager .employer-flow-body {
    background: #fbfdff;
}

.previous-employer-manager .lookup-panel,
.previous-employer-entry-form {
    border: 1px solid #bfd0e3;
    background: #f8fbff;
    border-radius: 12px;
    padding: 14px;
    margin-top: 14px;
}

.previous-employer-entry-form h3,
.lookup-panel h3 {
    color: #12335a;
    margin-top: 0;
}

.supporting-flow-section {
    box-shadow: none;
}

@media print {
    .driver-intake-flow-banner strong,
    .fmcsa-intake-section > summary {
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}


/* Step 6R4: Certification checkbox collapse cleanup */
.intake-certification-checkbox {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px 12px;
    align-items: start;
    border: 1px solid #9fb8d4;
    background: #e7f0fa;
    border-radius: 10px;
    padding: 12px 14px;
    margin: 12px 14px;
    color: #12335a;
    box-shadow: inset 4px 0 0 #12335a;
}

.intake-certification-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    margin-top: 1px;
    accent-color: #12335a;
}

.intake-certification-checkbox span {
    font-weight: 900;
    line-height: 1.25;
}

.intake-certification-checkbox small {
    grid-column: 2;
    color: #4b6380;
    font-size: 12px;
    line-height: 1.35;
}

.intake-repeat-details {
    padding: 0;
    overflow: hidden;
}

.intake-repeat-details > summary {
    cursor: pointer;
    list-style: none;
    color: #12335a;
    font-size: 15px;
    font-weight: 900;
    padding: 12px;
}

.intake-repeat-details > summary::-webkit-details-marker {
    display: none;
}

.intake-repeat-details > summary::after {
    content: "Open";
    float: right;
    font-size: 12px;
    color: #48617d;
}

.intake-repeat-details[open] > summary::after {
    content: "Collapse";
}

.intake-repeat-details > .intake-field-grid {
    padding: 0 12px 12px;
}

.conditional-panel[style*="none"] + .intake-save-bar {
    margin-top: 12px;
}

/* Step 6S: Previous Employer Investigation workflow cleanup */
.previous-employer-investigation-page .previous-employer-summary-strip {
    margin: 14px 0 18px;
}

.previous-employer-investigation-card {
    border-left: 5px solid #12335a;
    margin-bottom: 18px;
}

.previous-employer-card-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
    flex-wrap: wrap;
}

.previous-employer-card-header h2 {
    color: #12335a;
    margin-bottom: 6px;
}

.previous-employer-investigation-details,
.previous-employer-upload-collapse {
    margin-top: 12px;
}

.previous-employer-response-files {
    border: 1px solid #bfd0e3;
    background: #f8fbff;
    border-radius: 12px;
    padding: 14px;
    margin-top: 14px;
}

.previous-employer-response-files h3 {
    margin-top: 0;
    color: #12335a;
}

.previous-employer-intake-actions {
    border: 1px solid #bfd0e3;
    background: #f8fbff;
    border-radius: 12px;
    padding: 12px;
    margin: 12px 0 16px;
    align-items: center;
}

.previous-employer-request-form .application-section {
    margin-bottom: 14px;
}

.previous-employer-request-form .application-section h2 {
    background: #12335a;
    color: #fff;
    padding: 8px 10px;
    border-radius: 6px;
}

@media print {
    .previous-employer-request-form .application-section h2 {
        background: #12335a !important;
        color: #ffffff !important;
        print-color-adjust: exact;
        -webkit-print-color-adjust: exact;
    }
}

/* Step 6T: DQ File Review / Audit Readiness Screen */
.dq-audit-hero {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    border-radius: 14px;
    border: 1px solid #cbd5e1;
    padding: 18px;
    margin: 14px 0;
    background: #f8fafc;
    box-shadow: 0 2px 8px rgba(15, 23, 42, 0.08);
}
.dq-audit-hero h2 {
    margin: 4px 0 6px;
    color: #12335a;
}
.dq-audit-hero p {
    margin: 0;
    color: #334155;
    font-weight: 700;
}
.dq-audit-kicker {
    display: inline-block;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    color: #475569;
}
.dq-audit-complete {
    border-left: 8px solid #15803d;
    background: #f0fdf4;
}
.dq-audit-waiting {
    border-left: 8px solid #ca8a04;
    background: #fefce8;
}
.dq-audit-urgent {
    border-left: 8px solid #b91c1c;
    background: #fff7ed;
}
.dq-audit-status-badge {
    min-width: 160px;
    text-align: right;
}
.dq-audit-grid {
    display: grid;
    gap: 12px;
    margin: 14px 0;
}
.four-card-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.two-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.dq-audit-stat-card,
.dq-audit-check-card {
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #ffffff;
    padding: 14px;
    box-shadow: 0 1px 5px rgba(15, 23, 42, 0.06);
}
.dq-audit-stat-card span,
.dq-audit-check-card strong {
    display: block;
    color: #475569;
    font-weight: 900;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .04em;
}
.dq-audit-stat-card strong {
    display: block;
    color: #12335a;
    font-size: 30px;
    margin-top: 4px;
}
.dq-audit-check-card {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
}
.dq-audit-check-card h3,
.dq-review-action-card h3 {
    color: #12335a;
    margin: 3px 0 6px;
}
.dq-audit-check-card p,
.dq-review-action-card p {
    margin: 4px 0;
    color: #334155;
}
.dq-audit-check-card.check-ok {
    border-left: 6px solid #15803d;
    background: #fbfffc;
}
.dq-audit-check-card.check-open {
    border-left: 6px solid #b91c1c;
    background: #fffafa;
}
.dq-review-action-list {
    display: grid;
    gap: 10px;
}
.dq-review-action-card {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: flex-start;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    padding: 12px;
    background: #ffffff;
}
.dq-review-complete {
    border-left: 6px solid #15803d;
}
.dq-review-waiting {
    border-left: 6px solid #ca8a04;
    background: #fffdf2;
}
.dq-review-urgent,
.dq-review-missing {
    border-left: 6px solid #b91c1c;
    background: #fffafa;
}
.dq-audit-category {
    border: 1px solid #bfd0e3;
    border-radius: 12px;
    margin: 12px 0;
    background: #fbfdff;
    overflow: hidden;
}
.dq-audit-category summary {
    cursor: pointer;
    list-style: none;
    background: #12335a;
    color: #ffffff;
    padding: 10px 12px;
    font-weight: 900;
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.dq-audit-category summary::-webkit-details-marker {
    display: none;
}
.dq-audit-table-wrap {
    overflow-x: auto;
    padding: 10px;
}
.dq-audit-table th {
    background: #dfeaf5;
    color: #12335a;
}
.dq-review-print-document {
    max-width: 1100px;
    margin: 0 auto;
    background: #ffffff;
}
@media (max-width: 1000px) {
    .four-card-grid,
    .two-card-grid {
        grid-template-columns: 1fr;
    }
    .dq-audit-hero,
    .dq-audit-check-card,
    .dq-review-action-card {
        display: block;
    }
    .dq-audit-status-badge {
        text-align: left;
        margin-top: 10px;
    }
}
@media print {
    .dq-review-print-document {
        max-width: none;
    }
}

/* Step 6U: company-wide DQ report and demo driver population. */
.company-dq-report-page .report-hero-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    background: #eef5fb;
    border: 1px solid #bfd0e3;
    border-radius: 14px;
    padding: 16px;
}
.company-report-section {
    margin-top: 18px;
}
.company-report-stat-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(150px, 1fr));
    gap: 12px;
}
.company-report-stat-card {
    border: 1px solid #bfd0e3;
    border-radius: 14px;
    padding: 14px;
    background: #f8fbff;
    box-shadow: 0 4px 12px rgba(15, 43, 74, 0.06);
}
.company-report-stat-card span {
    display: block;
    color: #475569;
    font-size: 0.85rem;
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.03em;
}
.company-report-stat-card strong {
    display: block;
    color: #12335a;
    font-size: 2rem;
    margin-top: 6px;
}
a.company-report-stat-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
    cursor: pointer;
}
a.company-report-stat-card-link:focus-visible {
    outline: 2px solid #12335a;
    outline-offset: 2px;
}
a.company-report-stat-card-link:hover {
    border-color: #7ea4cc;
    box-shadow: 0 8px 18px rgba(18, 51, 90, 0.13);
    transform: translateY(-1px);
}
.section-heading-row {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-end;
}
.company-dq-item-list {
    display: grid;
    gap: 12px;
}
.company-dq-item-card {
    border: 1px solid #bfd0e3;
    border-radius: 14px;
    overflow: hidden;
    background: #ffffff;
}
.company-dq-item-card summary {
    cursor: pointer;
    list-style: none;
    display: grid;
    grid-template-columns: 34px minmax(260px, 1fr) 2fr;
    gap: 14px;
    align-items: center;
    padding: 14px 16px;
    background: #12335a;
    color: #ffffff;
}
.company-dq-item-card summary::-webkit-details-marker {
    display: none;
}
.company-dq-item-card summary h3,
.company-dq-item-card summary p {
    color: #ffffff;
    margin: 0;
}
.company-dq-item-card summary p {
    opacity: 0.9;
    font-size: 0.9rem;
}
.dq-toggle-icon {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.85);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    line-height: 1;
    background: rgba(255,255,255,0.14);
}
.dq-toggle-icon::before {
    content: "+";
    font-size: 1.15rem;
}
.company-dq-item-card[open] .dq-toggle-icon::before {
    content: "−";
}
.dq-row-status-label {
    display: inline-flex;
    margin-top: 6px;
    padding: 3px 9px;
    border-radius: 999px;
    background: rgba(255,255,255,0.16);
    border: 1px solid rgba(255,255,255,0.35);
    color: #ffffff;
    font-size: .72rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
}
/* Step 6W6A20: keep regulatory rows in the standard deep-blue report style. Severity lives on the count chips, not the whole line. */
.company-dq-item-card.all-clear summary,
.company-dq-item-card.needs-followup summary,
.company-dq-item-card.major-missing summary {
    background: #12335a;
}
.company-dq-count-strip {
    display: grid;
    grid-template-columns: repeat(6, minmax(80px, 1fr));
    gap: 8px;
}
.company-dq-count-strip span {
    border: 1px solid rgba(255,255,255,0.35);
    border-radius: 10px;
    padding: 7px 8px;
    text-align: center;
    font-weight: 800;
    background: rgba(255,255,255,0.08);
}
.company-dq-count-strip .dq-count-danger {
    background: #b91c1c;
    border-color: #fecaca;
    color: #ffffff;
}
.company-dq-count-strip .dq-count-warning {
    background: #d99b00;
    border-color: #fde68a;
    color: #111827;
}
.company-dq-count-strip .dq-count-clear {
    background: rgba(22,101,52,0.82);
    border-color: rgba(187,247,208,0.9);
    color: #ffffff;
}
.company-dq-item-body {
    padding: 14px 16px;
    background: #fbfdff;
}
.company-report-clear-message {
    margin: 0;
    color: #166534;
    font-weight: 800;
}
.company-driver-problem-list {
    display: grid;
    gap: 10px;
}
.company-driver-problem-card {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 14px;
    border: 1px solid #d6e2ef;
    border-left: 6px solid #b91c1c;
    border-radius: 12px;
    padding: 12px;
    background: #ffffff;
}
.company-driver-problem-card h4 {
    margin: 0 0 6px 0;
    color: #12335a;
}
.compact-problem-list {
    margin: 8px 0 0 18px;
    padding: 0;
}
.compact-problem-list li {
    margin-bottom: 4px;
}
@media (max-width: 1100px) {
    .company-report-stat-grid {
        grid-template-columns: repeat(2, minmax(150px, 1fr));
    }
    .company-dq-item-card summary {
        grid-template-columns: 34px 1fr;
    }
    .company-dq-count-strip {
        grid-column: 1 / -1;
    }
    .company-dq-count-strip {
        grid-template-columns: repeat(2, minmax(90px, 1fr));
    }
    .company-dq-report-page .report-hero-panel,
    .company-driver-problem-card {
        display: block;
    }
}
@media (max-width: 640px) {
    .company-report-stat-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6U2 investigator-style company population snapshot */
.company-report-subheading {
    margin: 18px 0 10px 0;
    padding: 8px 12px;
    border-radius: 10px;
    background: #12335a;
    color: #ffffff;
    font-size: 1rem;
    letter-spacing: 0.02em;
}
.company-report-stat-card small {
    display: block;
    margin-top: 6px;
    color: #47617e;
    font-size: 0.78rem;
    line-height: 1.3;
    font-weight: 600;
}
.company-report-stat-card.primary-stat {
    border-left: 6px solid #12335a;
}
.company-report-stat-card.warning-stat {
    border-left: 6px solid #b45309;
    background: #fffaf0;
}
.company-report-stat-card.warning-stat strong {
    color: #92400e;
}
.compact-report-note {
    margin-top: 14px;
}


/* Step 6U3 report view filter buttons */
.company-report-view-section {
    border-left: 6px solid #12335a;
}
.company-report-view-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(140px, 1fr));
    gap: 10px;
    margin-top: 12px;
}
.company-report-view-button {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    text-decoration: none;
    border: 1px solid #bfd0e3;
    border-radius: 14px;
    padding: 12px 14px;
    background: #f8fbff;
    color: #12335a;
    font-weight: 900;
    box-shadow: 0 6px 14px rgba(18, 51, 90, 0.06);
}
.company-report-view-button span {
    text-transform: uppercase;
    letter-spacing: 0.03em;
    font-size: 0.86rem;
}
.company-report-view-button strong {
    font-size: 1.6rem;
    line-height: 1;
}
.company-report-view-button:hover {
    border-color: #12335a;
    background: #eaf2fb;
}
.company-report-view-button.active {
    background: #12335a;
    color: #ffffff;
    border-color: #12335a;
}
@media (max-width: 900px) {
    .company-report-view-tabs {
        grid-template-columns: repeat(2, minmax(140px, 1fr));
    }
}
@media (max-width: 560px) {
    .company-report-view-tabs {
        grid-template-columns: 1fr;
    }
}


/* Step 6U4 clickable report drill-down cards */
.drilldown-stat-card {
    display: block;
    text-decoration: none;
    color: #12335a;
    cursor: pointer;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease, background 0.12s ease;
}
.drilldown-stat-card:hover {
    transform: translateY(-1px);
    border-color: #12335a;
    box-shadow: 0 10px 20px rgba(18, 51, 90, 0.12);
    background: #eef6ff;
}
.drilldown-stat-card.selected-drilldown {
    outline: 3px solid rgba(18, 51, 90, 0.25);
    border-color: #12335a;
    background: #eef6ff;
}
.company-report-drilldown-section {
    border-left: 6px solid #12335a;
    background: #f8fbff;
}
.drilldown-driver-list {
    margin-top: 12px;
}
.drilldown-driver-card {
    border-left: 5px solid #12335a;
}
.company-driver-problem-card form {
    margin: 0;
}
.button.warning-button {
    background: #b45309;
    border-color: #92400e;
    color: #ffffff;
}
.button.warning-button:hover {
    background: #92400e;
    border-color: #78350f;
}
.company-report-stat-card.warning-stat.selected-drilldown,
.company-report-stat-card.warning-stat:hover {
    background: #fff3df;
}


/* Step 6V2 Drug / Alcohol program mode setup */
.random-testing-page .random-program-current {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: stretch;
}
.random-program-big-count {
    min-width: 180px;
    border: 1px solid #b9cde3;
    border-radius: 12px;
    background: #f5f9fd;
    padding: 1rem;
    text-align: center;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.65);
}
.random-program-big-count span {
    display: block;
    font-weight: 800;
    color: #153d68;
    text-transform: uppercase;
    font-size: .75rem;
    letter-spacing: .04em;
}
.random-program-big-count strong {
    display: block;
    font-size: 2.8rem;
    line-height: 1.1;
    color: #0f365f;
}
.random-mode-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: .9rem;
    margin-top: .75rem;
}
.random-mode-card {
    border: 1px solid #b9cde3;
    border-radius: 12px;
    background: #eef5fc;
    padding: 1rem;
}
.random-mode-card h3 {
    margin-top: 0;
    color: #0f365f;
}
.random-mode-card.current-mode-card {
    border-color: #1d6a3d;
    background: #eaf8ee;
}
.random-mode-card.disabled-mode-card {
    opacity: .82;
    background: #f7f7f7;
}
.random-program-form {
    background: #f5f9fd;
    border: 1px solid #b9cde3;
    border-radius: 12px;
    padding: 1rem;
}
.compact-table td, .compact-table th {
    vertical-align: top;
}
@media (max-width: 900px) {
    .random-testing-page .random-program-current { flex-direction: column; }
    .random-program-big-count { min-width: 0; }
}

/* Step 6V2.1 Drug / Alcohol one-driver carrier-specific pool guardrail */
.random-program-alert .inline-action-form {
    margin-top: 12px;
}
.random-program-alert .button.danger {
    background: #8b1e1e;
    border-color: #8b1e1e;
    color: #fff;
}
.random-program-alert .button.danger:hover {
    background: #6f1717;
    border-color: #6f1717;
}

/* Step 6V3 eFOTM-style random testing year plan / period calculator */
.random-year-plan-section .random-year-plan-form,
.random-period-plan-section .random-periods-form {
    margin-top: 1rem;
}
.random-calc-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 1rem;
    margin: 1rem 0;
}
.random-period-table input[type="number"] {
    max-width: 90px;
}
.random-period-table textarea {
    min-width: 190px;
    width: 100%;
}
.random-period-table td {
    vertical-align: top;
}
.random-year-plan-section h2,
.random-calculation-summary h2,
.random-period-plan-section h2 {
    margin-bottom: .25rem;
}


/* Step 6V3.1 system-recommended random testing schedule */
.readonly-plan-value {
    border: 1px solid #b9cde3;
    border-radius: 10px;
    background: #eef5fc;
    color: #0f365f;
    font-weight: 800;
    padding: .7rem .85rem;
    min-height: 42px;
    display: flex;
    align-items: center;
}
.random-year-plan-section .success-alert strong,
.random-calculation-summary .success-alert strong {
    color: #0f365f;
}


/* Step 6V3.2 Drug / Alcohol page section-return cleanup */
.random-page-jump-nav {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
    margin: .75rem 0 1rem;
    padding: .75rem;
    border: 1px solid #b9cde3;
    border-radius: 12px;
    background: #eef5fc;
}
.random-page-jump-nav a {
    display: inline-flex;
    align-items: center;
    padding: .45rem .7rem;
    border-radius: 999px;
    background: #153e68;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
    font-size: .9rem;
}
.random-page-jump-nav a:hover {
    background: #0f2f52;
}
.random-scroll-target {
    scroll-margin-top: 24px;
}
.random-testing-page .success-alert,
.random-testing-page .error-alert {
    scroll-margin-top: 24px;
}

/* Step 6V4 random selection proof / period lock cleanup */
.random-selection-proof-section .random-period-card {
    border: 1px solid #b8cee6;
    border-radius: 12px;
    background: #f8fbff;
    padding: 14px;
    margin: 14px 0;
    box-shadow: 0 1px 3px rgba(0, 34, 68, 0.06);
}
.compact-random-form {
    background: #eef6ff;
    border: 1px solid #c5d9ef;
    border-radius: 10px;
    padding: 12px;
    margin: 10px 0;
}
.random-selection-action-box {
    background: #ffffff;
    border: 1px solid #ccd9e8;
    border-radius: 8px;
    padding: 6px 8px;
    min-width: 220px;
}
.random-selection-action-box summary {
    cursor: pointer;
    font-weight: 700;
    color: #123c69;
}
.random-selection-action-box form {
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px solid #d9e5f2;
}
.random-selection-table td {
    vertical-align: top;
}
.random-period-table input[readonly] {
    background: #e9eef5;
    color: #334;
}


/* Step 6V4.1 random draw usability cleanup */
.random-draw-help-panel {
    border: 1px solid #b8cee6;
    border-radius: 12px;
    background: #eef6ff;
    padding: 14px 16px;
    margin: 12px 0;
}
.random-draw-help-panel h3 { margin: 0 0 8px; color: #0f365f; }
.random-draw-help-panel ol { margin: 8px 0 10px 22px; padding: 0; }
.random-draw-help-panel li { margin: 4px 0; }
.random-period-shortcuts {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 14px;
}
.random-period-shortcuts a {
    display: inline-flex;
    align-items: center;
    padding: 7px 11px;
    border-radius: 999px;
    background: #153e68;
    color: #fff;
    text-decoration: none;
    font-weight: 800;
    font-size: .88rem;
}
.random-period-shortcuts a:hover { background: #0f2f52; }
.random-draw-step-strip {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 8px;
    margin: 10px 0 12px;
}
.random-draw-step {
    border: 1px solid #c5d9ef;
    border-radius: 10px;
    background: #f7fbff;
    padding: 9px 10px;
    display: flex;
    align-items: center;
    gap: 8px;
}
.random-draw-step span {
    display: inline-flex;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    background: #153e68;
    color: #fff;
}
.random-draw-step.complete { background: #eaf8ee; border-color: #9bd3ad; }
.random-draw-step.needed { background: #fff7e8; border-color: #e7c47a; }
.random-draw-step.waiting { background: #eef1f5; border-color: #c8d1dc; color: #64748b; }
.random-action-callout {
    border-radius: 10px;
    padding: 10px 12px;
    margin-bottom: 10px;
    line-height: 1.35;
}
.random-action-callout.warning-callout { background: #fff7e8; border: 1px solid #e7c47a; color: #4d3300; }
.random-action-callout.success-callout { background: #eaf8ee; border: 1px solid #9bd3ad; color: #123d22; }
.random-draw-button {
    font-size: 1rem;
    padding: 10px 15px;
}
.random-selected-names-heading {
    border: 1px solid #9bd3ad;
    background: #eaf8ee;
    border-radius: 10px;
    padding: 10px 12px;
    margin: 12px 0 8px;
}
.random-selected-names-heading h4 { margin: 0 0 4px; color: #0f365f; }
.random-selected-names-heading p { margin: 0; }
.random-empty-draw-box {
    background: #fff;
    border: 1px dashed #b8cee6;
}
.small-inline-link {
    font-size: .82rem;
    font-weight: 800;
    color: #153e68;
}


/* Step 6V5 automated randomized draw scheduler cleanup */
.random-auto-help-panel {
    border-left: 4px solid #143f70;
}
.random-auto-period-card {
    border-top: 4px solid #143f70;
}
.random-auto-scheduler-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0;
}
.random-auto-card {
    background: #f8fbff;
    border: 1px solid #bfd3ea;
    border-radius: 10px;
    padding: 12px;
}
.random-auto-card span {
    display: block;
    font-size: 0.78rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: #48627f;
    font-weight: 700;
    margin-bottom: 4px;
}
.random-auto-card strong {
    display: block;
    color: #0b2f57;
    font-size: 1.05rem;
    margin-bottom: 4px;
}
.random-auto-card small {
    color: #48627f;
}
.random-auto-action-panel {
    background: #eef6ff;
    border: 1px solid #bfd3ea;
    border-radius: 10px;
    padding: 12px;
    margin: 12px 0;
}
.random-auto-actions-row {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
    gap: 12px;
    align-items: start;
}
.random-run-now-form, .random-override-box {
    background: #fff;
    border: 1px solid #d3deec;
    border-radius: 10px;
    padding: 12px;
}
.random-override-box summary {
    cursor: pointer;
    font-weight: 700;
    color: #143f70;
}
.random-auto-step-strip .random-draw-step.waiting {
    background: #f5f7fa;
}
.status-pill.pending {
    background: #e8f1fb;
    color: #143f70;
}
@media (max-width: 900px) {
    .random-auto-scheduler-grid, .random-auto-actions-row {
        grid-template-columns: 1fr;
    }
}


/* Step 6V6 Drug / Alcohol flow cleanup */
.simplified-random-nav a:first-child {
    background: #143f70;
    color: #fff;
}
.random-start-here {
    border: 2px solid #143f70;
    background: #f7fbff;
}
.random-control-center-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 14px 0;
}
.random-control-card {
    position: relative;
    background: #fff;
    border: 1px solid #cbd8e6;
    border-radius: 14px;
    padding: 16px 16px 14px 56px;
    min-height: 145px;
    box-shadow: 0 6px 16px rgba(20, 63, 112, .08);
}
.random-control-card h3 {
    margin: 0 0 6px;
    color: #0b2f57;
}
.random-control-card p {
    margin: 0 0 12px;
    color: #304b66;
    line-height: 1.35;
}
.random-control-card.complete {
    border-color: #9bd3ad;
    background: #f6fff8;
}
.random-control-card.needed {
    border-color: #e7c47a;
    background: #fffaf0;
}
.random-control-card.active {
    border-color: #9ebee2;
    background: #f7fbff;
}
.random-control-card.waiting {
    background: #f4f6f8;
    color: #607084;
}
.random-control-step {
    position: absolute;
    top: 16px;
    left: 16px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #143f70;
    color: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}
.random-start-action-form {
    margin: 0;
}
.random-plain-language-flow {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    background: #eaf2fb;
    border: 1px solid #bdd2ea;
    border-radius: 12px;
    padding: 10px 12px;
    color: #143f70;
}
.random-plain-language-flow span {
    background: #fff;
    border: 1px solid #d5e2f0;
    border-radius: 999px;
    padding: 5px 9px;
    font-size: .86rem;
    font-weight: 700;
}
.random-advanced-details,
.random-period-count-details,
.random-period-file-details {
    border: 1px solid #cbd8e6;
    border-radius: 14px;
    background: #fff;
    margin: 14px 0;
    overflow: hidden;
}
.random-advanced-details > summary,
.random-period-count-details > summary,
.random-period-file-details > summary {
    cursor: pointer;
    list-style: none;
    padding: 14px 16px;
    background: #edf4fb;
    color: #143f70;
    font-weight: 900;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}
.random-advanced-details > summary::-webkit-details-marker,
.random-period-count-details > summary::-webkit-details-marker,
.random-period-file-details > summary::-webkit-details-marker {
    display: none;
}
.random-advanced-details > summary::before,
.random-period-count-details > summary::before,
.random-period-file-details > summary::before {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #143f70;
    color: #fff;
    margin-right: 8px;
    flex: 0 0 auto;
}
.random-advanced-details[open] > summary::before,
.random-period-count-details[open] > summary::before,
.random-period-file-details[open] > summary::before {
    content: '-';
}
.random-advanced-details > summary span,
.random-period-count-details > summary span,
.random-period-file-details > summary span {
    flex: 1 1 auto;
}
.random-advanced-details > summary small,
.random-period-count-details > summary small,
.random-period-file-details > summary small {
    color: #506984;
    font-weight: 700;
    text-align: right;
}
.random-advanced-details .company-report-section,
.random-period-count-details .company-report-section {
    margin: 12px;
}
.random-period-file-details[open] > summary {
    background: #143f70;
    color: #fff;
}
.random-period-file-details[open] > summary small {
    color: #d7e6f7;
}
.random-period-file-details > .random-period-card {
    border: 0;
    border-top: 1px solid #d8e2ed;
    border-radius: 0;
    margin: 0;
}
@media (max-width: 1000px) {
    .random-control-center-grid {
        grid-template-columns: 1fr;
    }
    .random-advanced-details > summary,
    .random-period-count-details > summary,
    .random-period-file-details > summary {
        align-items: flex-start;
        flex-direction: column;
    }
    .random-advanced-details > summary small,
    .random-period-count-details > summary small,
    .random-period-file-details > summary small {
        text-align: left;
    }
}


/* Step 6V7 - simplified Drug / Alcohol automated control screen */
.random-testing-v7-page .driver-profile-heading {
    margin-bottom: 12px;
}
.random-v7-start-card,
.random-v7-status-card,
.random-v7-selected-card,
.random-v7-details {
    border: 1px solid #b9cfe6;
    border-radius: 10px;
    background: #ffffff;
    margin-top: 14px;
    padding: 14px;
}
.random-v7-status-card {
    border-left: 6px solid #143f70;
    background: #f8fbff;
}
.random-v7-status-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
}
.random-v7-next-action {
    border-radius: 10px;
    padding: 14px 16px;
    border: 1px solid #cbd8e6;
    background: #edf4fb;
    margin-bottom: 14px;
}
.random-v7-next-action span {
    display: block;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .78rem;
    font-weight: 900;
    color: #476787;
    margin-bottom: 6px;
}
.random-v7-next-action strong {
    display: block;
    color: #0d3157;
    font-size: 1.05rem;
    line-height: 1.35;
}
.random-v7-next-action.received {
    border-color: #76c48e;
    background: #ebfaef;
}
.random-v7-next-action.warning {
    border-color: #e5b949;
    background: #fff8e6;
}
.random-v7-facts-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(160px, 1fr));
    gap: 10px;
}
.random-v7-facts-grid > div {
    border: 1px solid #d6e2ef;
    border-radius: 10px;
    background: #ffffff;
    padding: 12px;
}
.random-v7-facts-grid span {
    display: block;
    text-transform: uppercase;
    letter-spacing: .07em;
    font-size: .72rem;
    color: #57718c;
    font-weight: 900;
}
.random-v7-facts-grid strong {
    display: block;
    color: #0d3157;
    font-size: 1.05rem;
    margin-top: 4px;
}
.random-v7-facts-grid small {
    display: block;
    color: #46617d;
    margin-top: 3px;
    font-weight: 700;
}
.random-v7-action-row {
    display: flex;
    gap: 8px;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 12px;
}
.random-v7-selected-card {
    border-left: 6px solid #d9a300;
}
.random-v7-selection-table td,
.random-v7-selection-table th {
    vertical-align: top;
}
.random-v7-not-drawn-box {
    border: 1px dashed #b9cfe6;
    border-radius: 10px;
    background: #f7fbff;
    padding: 16px;
}
.random-v7-not-drawn-box h3 {
    margin-top: 0;
    color: #0d3157;
}
.random-v7-details {
    padding: 0;
    overflow: hidden;
}
.random-v7-details > summary {
    cursor: pointer;
    list-style: none;
    padding: 14px 16px;
    background: #edf4fb;
    color: #143f70;
    font-weight: 900;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
}
.random-v7-details > summary::-webkit-details-marker,
.random-v7-inner-details > summary::-webkit-details-marker {
    display: none;
}
.random-v7-details > summary::before,
.random-v7-inner-details > summary::before {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #143f70;
    color: #fff;
    margin-right: 8px;
    flex: 0 0 auto;
}
.random-v7-details[open] > summary::before,
.random-v7-inner-details[open] > summary::before {
    content: '-';
}
.random-v7-details > summary span,
.random-v7-inner-details > summary span {
    flex: 1 1 auto;
}
.random-v7-details > summary small,
.random-v7-inner-details > summary small {
    color: #506984;
    font-weight: 700;
    text-align: right;
}
.random-v7-details[open] > summary {
    border-bottom: 1px solid #d6e2ef;
}
.random-v7-details > .table-responsive,
.random-v7-details > .placeholder-box,
.random-v7-advanced-details > section,
.random-v7-advanced-details > details,
.random-v7-period-list {
    margin: 14px;
}
.random-v7-period-list {
    display: grid;
    gap: 8px;
}
.random-v7-period-row {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr auto;
    gap: 10px;
    align-items: center;
    border: 1px solid #d6e2ef;
    border-radius: 10px;
    padding: 10px 12px;
    background: #fff;
}
.random-v7-period-row small {
    display: block;
    color: #506984;
    font-weight: 700;
}
.random-v7-advanced-section {
    border: 1px solid #d6e2ef;
    border-radius: 10px;
    padding: 12px;
    background: #fff;
}
.random-v7-inner-details {
    border: 1px solid #d6e2ef;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}
.random-v7-inner-details > summary {
    cursor: pointer;
    list-style: none;
    padding: 12px 14px;
    background: #f4f8fc;
    color: #143f70;
    font-weight: 900;
    display: flex;
    align-items: center;
}
.random-v7-inner-details > form,
.random-v7-inner-details > .table-responsive {
    margin: 14px;
}
.random-v7-setup-form {
    margin-top: 12px;
}
@media (max-width: 1100px) {
    .random-v7-facts-grid,
    .random-v7-period-row {
        grid-template-columns: 1fr;
    }
    .random-v7-details > summary {
        align-items: flex-start;
        flex-direction: column;
    }
    .random-v7-details > summary small {
        text-align: left;
    }
}

/* Step 6V8 testing/repair draw helper */
.random-v8-test-note {
    margin: 8px 0 0;
    font-size: 0.92rem;
    color: #506984;
}

/* Step 6W5A - Landing / Welcome Page Restoration */
.landing-layout {
    align-items: start;
}

.landing-content-area {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.landing-hero-card,
.landing-choice-card,
.landing-section-card {
    background: #ffffff;
    border: 1px solid #d5dce8;
    border-radius: 16px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.landing-hero-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 22px;
    padding: 34px;
    background: linear-gradient(135deg, #ffffff 0%, #f4f8ff 100%);
}

.landing-hero-copy .hero-text {
    max-width: 780px;
}

.landing-hero-panel {
    background: #12335a;
    color: #ffffff;
    border-radius: 14px;
    padding: 22px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 8px;
    border-bottom: 5px solid #d8a31a;
}

.landing-hero-panel strong {
    font-size: 28px;
    line-height: 1.1;
}

.landing-status-label {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 12px;
    font-weight: 700;
    color: #fde68a;
}

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

.landing-choice-card {
    padding: 24px;
    border-top: 5px solid #12335a;
}

.public-choice-card {
    border-top-color: #d8a31a;
}

.landing-choice-card h2 {
    margin-bottom: 10px;
}

.landing-choice-card p,
.landing-section-card p {
    line-height: 1.55;
}

.landing-choice-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    height: 34px;
    padding: 0 12px;
    border-radius: 999px;
    background: #e7f0ff;
    color: #12335a;
    font-weight: 900;
    margin-bottom: 14px;
}

.landing-card-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 18px;
}

.button.light {
    background: #eef2f7;
    color: #12335a;
    border: 1px solid #d5dce8;
}

.landing-section-card {
    padding: 28px;
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(280px, 1fr);
    gap: 24px;
}

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

.landing-protected-grid span {
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 10px;
    padding: 12px;
    font-weight: 700;
    color: #24364b;
}

@media (max-width: 980px) {
    .landing-hero-card,
    .landing-section-card {
        grid-template-columns: 1fr;
    }

    .landing-choice-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6W5B - Internal dashboard / carrier intake navigation cleanup */
.dashboard-layout-no-sidebar {
    grid-template-columns: minmax(0, 1fr) !important;
}

.internal-command-center .command-center-intro {
    font-size: 16px;
    color: #24364b;
    margin-top: 6px;
}

.internal-flow-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin: 18px 0;
}

.internal-flow-card {
    background: #f8fbff;
    border: 1px solid #b9cce2;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-height: 210px;
}

.internal-flow-card.primary-flow-card {
    background: #fff8e4;
    border-color: #d8a31a;
}

.internal-flow-card h2 {
    color: #00335f;
    margin: 0;
}

.internal-flow-card p {
    flex: 1;
    margin: 0;
    color: #24364b;
}

.flow-eyebrow {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    color: #8a5d00;
    font-weight: 800;
    font-size: 12px;
}

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


/* Step 6W5E - Internal command header quick search and active-carrier rail follow cleanup */
.access-quick-search-form {
    width: 100%;
}
.access-quick-search-button {
    align-self: end;
    height: 42px;
    margin-bottom: 0;
    border: 1px solid #0c2541;
    border-radius: 7px;
    background: #12335a;
    color: #fff;
    font-weight: 800;
    padding: 0 14px;
    cursor: pointer;
}
.access-quick-search-button:hover {
    background: #1e4f83;
}
.active-carrier-inline-action {
    display: inline-block;
    margin: 2px 4px 2px 0;
}
.carrier-tab-nav .carrier-selector-form.selected {
    position: sticky;
    top: calc(50vh - 70px);
    z-index: 35;
    box-shadow: 0 10px 28px rgba(10,38,66,.28);
    transform: translateZ(0);
    border-radius: 8px;
}
.carrier-tab-nav .carrier-selector-form.selected button.carrier-selector-button.selected::after {
    content: 'Current selection';
    display: block;
    margin-top: 5px;
    font-size: 10px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #8a5a00;
}
@media (max-width: 900px) {
    .access-quick-search-button {
        align-self: stretch;
        width: 100%;
    }
    .carrier-tab-nav .carrier-selector-form.selected {
        position: static;
        box-shadow: none;
    }
}


/* Step 6W5F - Carrier Census search results placement and header layout cleanup */
.access-search-strip {
    grid-template-columns: 210px 280px 130px minmax(420px, 1fr) auto !important;
    align-items: end !important;
}
.access-quick-search-button {
    width: 130px !important;
    min-width: 130px !important;
    max-width: 130px !important;
    justify-self: stretch !important;
}
.access-selected-company-label {
    min-width: 0 !important;
    font-size: 19px !important;
    line-height: 1.05 !important;
    padding: 9px 13px !important;
}
.access-selected-company-label strong {
    min-width: 0 !important;
    overflow-wrap: anywhere !important;
}
.carrier-census-priority-search {
    margin-top: 14px !important;
    margin-bottom: 14px !important;
}
.testing-context-details {
    margin-top: 18px;
    border: 1px solid #d8a31a;
    border-radius: 10px;
    background: #fff9e8;
    overflow: hidden;
}
.testing-context-details > summary {
    cursor: pointer;
    padding: 10px 14px;
    font-weight: 800;
    color: #12335a;
    background: #fff3c4;
}
.testing-context-inner {
    padding: 12px;
}
.testing-context-inner .account-card,
.testing-context-inner .scenario-box,
.testing-context-inner .note-box,
.testing-context-inner .info-card {
    margin-top: 10px !important;
    margin-bottom: 10px !important;
}
@media (max-width: 1200px) {
    .access-search-strip {
        grid-template-columns: 1fr 1fr 120px !important;
    }
    .access-selected-company-label,
    .access-header-actions {
        grid-column: 1 / -1;
    }
    .access-quick-search-button {
        width: 120px !important;
        min-width: 120px !important;
        max-width: 120px !important;
    }
}
@media (max-width: 900px) {
    .access-search-strip {
        grid-template-columns: 1fr !important;
    }
    .access-quick-search-button {
        width: 100% !important;
        min-width: 0 !important;
        max-width: none !important;
    }
}

/* Step 6W5G - remove duplicate header search from Census / intake pages */
.access-context-strip-no-search {
    grid-template-columns: minmax(520px, 1fr) auto !important;
    align-items: center !important;
}
.access-context-strip-no-search .access-selected-company-label {
    min-height: 48px;
}
@media (max-width: 900px) {
    .access-context-strip-no-search {
        grid-template-columns: 1fr !important;
    }
    .access-context-strip-no-search .access-header-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }
}


/* Step 6W5H - Census duplicate check / selected carrier header cleanup */
.tiny-status-text {
    display: block;
    margin-top: 5px;
    font-size: 11px;
    line-height: 1.2;
}
.access-compact-carrier-context {
    grid-template-columns: minmax(420px, 1fr) auto !important;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
}
.access-compact-carrier-context .access-selected-company-label {
    min-height: 36px !important;
    font-size: 15px !important;
    line-height: 1.15 !important;
    padding: 7px 11px !important;
    border-width: 1px !important;
    border-color: #223b5f !important;
    background: #f7fbff !important;
}
.access-compact-carrier-context .access-selected-company-label span {
    font-size: 13px !important;
    color: #173a63 !important;
}
.access-compact-carrier-context .access-selected-company-label strong {
    font-size: 15px !important;
}


/* Step 6W5I - Census duplicate-check stability and intake header cleanup */
.access-context-strip-actions-only {
    display: flex !important;
    justify-content: flex-end !important;
    align-items: center !important;
    padding: 8px 20px !important;
    min-height: 48px !important;
    background: #c9dcf1 !important;
    border-bottom: 1px solid #9fb8d8 !important;
}
.access-context-strip-actions-only .access-header-actions {
    justify-content: flex-end !important;
}

/* Step 6W5K - Active Carrier Profile left-rail current-card cleanup */
.active-carrier-current-rail {
    position: sticky;
    top: 12px;
    z-index: 40;
    margin: 8px 0 12px;
    padding: 8px;
    background: #eef6ff;
    border: 1px solid #b9cde0;
    border-radius: 9px;
    box-shadow: 0 10px 24px rgba(10, 38, 66, 0.16);
}
.active-carrier-current-label {
    margin: 0 0 6px 2px;
    color: #8a5a00;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}
.active-carrier-current-rail .carrier-selector-form.selected {
    position: static !important;
    top: auto !important;
    margin: 0;
    box-shadow: none !important;
}
.active-carrier-current-rail .carrier-selector-button.selected {
    border: 2px solid #d59b14;
    box-shadow: none;
}
.active-carrier-current-rail .carrier-selector-button.selected::after {
    content: 'Current selection';
    display: block;
    margin-top: 5px;
    font-size: 10px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #8a5a00;
}
.carrier-tab-nav .carrier-selector-list .carrier-selector-form.selected {
    position: sticky;
    top: calc(50vh - 70px);
    z-index: 35;
    box-shadow: 0 10px 28px rgba(10,38,66,.28);
    transform: translateZ(0);
    border-radius: 8px;
}
@media (max-width: 900px) {
    .active-carrier-current-rail {
        position: static;
        box-shadow: none;
    }
}

/* Step 6W5M - Active Carrier left-rail link text contrast cleanup
   Active Carrier rail items are links on census/active-carrier pages, not buttons.
   Keep the same formatting, but force readable text on the dark blue cards. */
.left-nav.carrier-tab-nav a.carrier-selector-button,
.carrier-tab-nav a.carrier-selector-button,
.left-nav.carrier-tab-nav a.carrier-selector-button:visited,
.carrier-tab-nav a.carrier-selector-button:visited {
    background: #12335a !important;
    color: #ffffff !important;
    border: 1px solid #0c2541 !important;
    text-decoration: none !important;
}

.left-nav.carrier-tab-nav a.carrier-selector-button .carrier-selector-meta,
.left-nav.carrier-tab-nav a.carrier-selector-button .carrier-selector-name,
.left-nav.carrier-tab-nav a.carrier-selector-button .carrier-selector-subtle,
.carrier-tab-nav a.carrier-selector-button .carrier-selector-meta,
.carrier-tab-nav a.carrier-selector-button .carrier-selector-name,
.carrier-tab-nav a.carrier-selector-button .carrier-selector-subtle {
    color: inherit !important;
    opacity: 1 !important;
}

.left-nav.carrier-tab-nav a.carrier-selector-button:hover,
.carrier-tab-nav a.carrier-selector-button:hover {
    background: #1e4f83 !important;
    color: #ffffff !important;
}

.left-nav.carrier-tab-nav a.carrier-selector-button.selected,
.carrier-tab-nav a.carrier-selector-button.selected,
.active-carrier-current-rail a.carrier-selector-button.selected,
.active-carrier-current-rail a.carrier-selector-button.selected:visited {
    background: #ffffff !important;
    color: #111827 !important;
    border: 2px solid #111827 !important;
    font-weight: 800 !important;
}

.active-carrier-current-rail a.carrier-selector-button.selected .carrier-selector-meta,
.active-carrier-current-rail a.carrier-selector-button.selected .carrier-selector-name,
.active-carrier-current-rail a.carrier-selector-button.selected .carrier-selector-subtle {
    color: inherit !important;
    opacity: 1 !important;
}

/* Step 6W5O active carrier profile/workspace flow cleanup */
.active-profile-action-grid {
    margin-top: 18px;
}

.carrier-next-step-card {
    display: flex;
    flex-direction: column;
    min-height: 190px;
}

.carrier-next-step-card p:not(.eyebrow) {
    flex: 1;
}

.carrier-next-step-card .button {
    text-align: center;
    margin-top: 8px;
}

.disabled-action-card {
    opacity: 0.75;
}

.disabled-button {
    cursor: not-allowed;
}

.active-profile-advanced-details {
    margin-top: 18px;
    border: 1px solid #d8a31a;
    border-radius: 12px;
    background: #fff7d6;
    overflow: hidden;
}

.active-profile-advanced-details > summary {
    cursor: pointer;
    list-style: none;
    padding: 14px 16px;
    font-weight: 800;
    color: #12335a;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.active-profile-advanced-details > summary::-webkit-details-marker {
    display: none;
}

.active-profile-advanced-details > summary::before {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    background: #12335a;
    color: #ffffff;
    margin-right: 8px;
    flex: 0 0 auto;
}

.active-profile-advanced-details[open] > summary::before {
    content: '-';
}

.active-profile-advanced-details > summary span {
    flex: 1;
}

.active-profile-advanced-details > summary small {
    color: #64748b;
    font-weight: 700;
}

.active-profile-advanced-body {
    background: #ffffff;
    border-top: 1px solid #e7c86a;
    padding: 16px;
}

@media (max-width: 950px) {
    .active-profile-advanced-details > summary {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Step 6W5P1: Manual intrastate carrier form visual alignment cleanup
   The generic previous-employer .carrier-search-form grid rule appears later in this
   stylesheet and can accidentally turn the entire manual carrier form into a
   three-cell grid. Keep the manual carrier form as a normal stacked form while
   preserving the three-column grids inside each section. */
.carrier-search-form.manual-carrier-form {
    display: block;
}

.manual-carrier-form .search-grid,
.manual-carrier-form .three-column-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(220px, 1fr));
    gap: 16px 18px;
    align-items: start;
}

.manual-carrier-form .search-grid label,
.manual-carrier-form .three-column-grid label,
.manual-carrier-form .full-width-label {
    min-width: 0;
}

.manual-carrier-form h2 {
    clear: both;
    grid-column: 1 / -1;
    margin: 24px 0 10px;
}

.manual-carrier-form .muted-text {
    display: block;
    max-width: 760px;
    margin: 0 0 12px;
}

.manual-carrier-form input,
.manual-carrier-form select,
.manual-carrier-form textarea {
    width: 100%;
    box-sizing: border-box;
}

.manual-carrier-form .hero-actions {
    margin-top: 22px;
}

@media (max-width: 1100px) {
    .manual-carrier-form .search-grid,
    .manual-carrier-form .three-column-grid {
        grid-template-columns: repeat(2, minmax(220px, 1fr));
    }
}

@media (max-width: 700px) {
    .manual-carrier-form .search-grid,
    .manual-carrier-form .three-column-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6W5Q: Active Carrier Program / Service Assignment panel */
.program-assignment-panel {
    border: 1px solid #bfd3eb;
    border-radius: 12px;
    background: #f8fbff;
    padding: 16px;
    margin: 18px 0;
    box-shadow: 0 1px 2px rgba(15, 45, 80, 0.06);
}

.program-assignment-panel.unassigned {
    border-color: #e0a800;
    background: #fff9e8;
}

.program-assignment-panel.fmcsacc,
.program-assignment-panel.fmcsa_cc {
    border-color: #0b3a68;
}

.program-assignment-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: flex-start;
}

.program-assignment-header h2 {
    margin: 4px 0 8px;
    color: #06325d;
}

.program-assignment-details {
    margin-top: 12px;
    border-top: 1px solid #d6e4f3;
    padding-top: 12px;
}

.program-assignment-details > summary {
    cursor: pointer;
    font-weight: 900;
    color: #06325d;
    margin-bottom: 12px;
}

.program-assignment-form .form-grid {
    margin: 12px 0;
}

.program-assignment-form textarea,
.program-assignment-form select,
.program-assignment-form input[type="date"] {
    width: 100%;
    box-sizing: border-box;
}

.warning-alert.compact-alert {
    margin: 12px 0 0;
    padding: 10px 12px;
}

.error-text {
    color: #a21c1c;
}

@media (max-width: 850px) {
    .program-assignment-header {
        flex-direction: column;
    }
}

/* Step 6W5S - main dashboard / carrier context separation */
.dashboard-da-entry {
    margin-bottom: 18px;
    border-left: 5px solid #d9a000;
}
.working-carrier-actions .ghost-button,
.button.ghost-button {
    background: #eef4fb;
    color: #0d3769;
    border: 1px solid #b7cce3;
}
.working-carrier-actions .ghost-button:hover,
.button.ghost-button:hover {
    background: #dfeaf6;
    color: #0a2b52;
}

/* Step 6W5T - Dashboard / intake navigation final polish */
.dashboard-command-block {
    background: #f8fbff;
    border: 1px solid #b9cce2;
    border-radius: 12px;
    padding: 16px;
    margin: 18px 0;
}
.dashboard-command-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 12px;
}
.dashboard-command-header h2 {
    margin: 2px 0 4px;
    color: #00335f;
}
.dashboard-command-header p {
    margin: 0;
    color: #24364b;
}
.dashboard-scope-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}
.dashboard-scope-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 4px 10px;
    align-items: start;
    padding: 14px;
    border: 1px solid #b7cce3;
    border-radius: 10px;
    background: #ffffff;
    color: #0b335f;
    text-decoration: none;
    min-height: 106px;
}
.dashboard-scope-card strong {
    font-size: 18px;
    line-height: 1.15;
}
.dashboard-scope-card span:last-child {
    grid-column: 2;
    color: #334b67;
    font-size: 13px;
    line-height: 1.25;
}
.dashboard-scope-card:hover {
    background: #eef6ff;
    border-color: #0e3d70;
    color: #0b335f;
}
.dashboard-scope-card.primary-scope {
    border-color: #d8a31a;
    background: #fff8e4;
}
.scope-number {
    width: 28px;
    height: 28px;
    border-radius: 999px;
    background: #0e3d70;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
}
.four-card-flow-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin: 0;
}
.four-card-flow-grid .internal-flow-card {
    min-height: 220px;
}
.dashboard-next-build-card {
    margin: 18px 0;
    padding: 14px 16px;
    border-radius: 12px;
    border: 1px dashed #b7cce3;
    background: #f7fbff;
}
.dashboard-next-build-card h2 {
    margin: 3px 0 6px;
    color: #00335f;
}
.dashboard-next-build-card p {
    margin: 0;
    color: #24364b;
}
@media (max-width: 1200px) {
    .four-card-flow-grid,
    .dashboard-scope-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .four-card-flow-grid,
    .dashboard-scope-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6W5U - Bulk driver / equipment import foundation */
.bulk-import-steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 18px;
    margin: 20px 0;
}
.bulk-import-step-card,
.bulk-preview-section,
.fleet-equipment-section {
    background: #f8fafc;
    border: 1px solid #dbe4ef;
    border-radius: 14px;
    padding: 18px;
    box-shadow: 0 10px 24px rgba(15, 35, 55, 0.06);
}
.bulk-upload-form {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
    margin-top: 12px;
}
.bulk-upload-form input[type="file"] {
    background: #fff;
    border: 1px solid #b8c7d8;
    border-radius: 8px;
    padding: 10px;
    min-width: 260px;
}
.fleet-import-summary-grid {
    margin: 18px 0;
}
.bulk-preview-details {
    margin: 14px 0;
    border: 1px solid #d5e0ec;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.bulk-preview-details > summary {
    cursor: pointer;
    padding: 14px 16px;
    background: #14395b;
    color: #fff;
    font-weight: 800;
}
.table-scroll-wrap {
    overflow-x: auto;
}
.bulk-preview-table,
.fleet-equipment-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.92rem;
}
.bulk-preview-table th,
.bulk-preview-table td,
.fleet-equipment-table th,
.fleet-equipment-table td {
    padding: 10px 12px;
    border-bottom: 1px solid #e5edf5;
    vertical-align: top;
}
.bulk-preview-table th,
.fleet-equipment-table th {
    background: #eef4fa;
    color: #14395b;
    text-align: left;
    font-weight: 800;
}
.bulk-row-warning td {
    background: #fff7ed;
    color: #7c2d12;
}
.bulk-row-error td {
    background: #fef2f2;
    color: #991b1b;
}
.bulk-vin-confirm-alert label {
    display: flex;
    gap: 10px;
    align-items: flex-start;
}
.warning-badge {
    background: #fff7ed;
    color: #9a3412;
    border: 1px solid #fed7aa;
}

/* Step 6W5U3 - Bulk import preview / validation polish */
.bulk-preview-polish-section > h2 {
    margin-bottom: 6px;
}
.bulk-validation-summary-grid .driver-summary-card strong {
    font-size: 2rem;
}
.bulk-ready-card {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.bulk-review-card {
    border-color: #fed7aa;
    background: #fff7ed;
}
.bulk-duplicate-card {
    border-color: #bfdbfe;
    background: #eff6ff;
}
.bulk-error-card {
    border-color: #fecaca;
    background: #fef2f2;
}
.bulk-preview-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 18px;
}
.bulk-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 999px;
    padding: 5px 10px;
    font-size: 0.78rem;
    font-weight: 900;
    line-height: 1.1;
    border: 1px solid transparent;
    white-space: nowrap;
}
.bulk-status-ready {
    color: #166534;
    background: #dcfce7;
    border-color: #86efac;
}
.bulk-status-review {
    color: #9a3412;
    background: #ffedd5;
    border-color: #fdba74;
}
.bulk-status-duplicate {
    color: #1d4ed8;
    background: #dbeafe;
    border-color: #93c5fd;
}
.bulk-status-error {
    color: #991b1b;
    background: #fee2e2;
    border-color: #fca5a5;
}
.bulk-section-mini-counts {
    display: inline-block;
    margin-left: 12px;
    font-size: 0.82rem;
    font-weight: 700;
    color: #dbeafe;
}
.bulk-validation-table td:nth-child(2) {
    min-width: 170px;
}
.bulk-row-ready td {
    background: #ffffff;
}
.bulk-row-duplicate td {
    background: #eff6ff;
    color: #1e3a8a;
}
.bulk-row-warning td {
    background: #fff7ed;
    color: #7c2d12;
}
.bulk-row-error td {
    background: #fef2f2;
    color: #991b1b;
}
.bulk-note-list {
    margin: 0;
    padding-left: 18px;
}
.bulk-note-list li {
    margin: 0 0 4px;
}

/* Step 6W5V - Bulk import batch history / rollback safety */
.bulk-import-history-section {
    margin-top: 1.5rem;
    padding: 1rem;
    border: 1px solid #d7e2f0;
    border-radius: 12px;
    background: #f8fbff;
}
.bulk-history-table th,
.bulk-history-table td,
.bulk-history-detail-table th,
.bulk-history-detail-table td {
    vertical-align: top;
}
.bulk-history-actions {
    display: flex;
    flex-wrap: wrap;
    gap: .4rem;
    align-items: center;
}
.bulk-history-actions form {
    margin: 0;
}
.button.small {
    padding: .35rem .65rem;
    font-size: .85rem;
    line-height: 1.15;
}
.button.danger {
    background: #a31919;
    color: #fff;
    border-color: #7f1212;
}
.button.danger:hover,
.button.danger:focus {
    background: #821010;
    color: #fff;
}
.bulk-batch-detail-box {
    margin-top: 1rem;
    padding: 1rem;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #fff;
}


/* Step 6W5X - Equipment detail / annual inspection workflow */
.equipment-detail-summary-grid .driver-summary-card small {
    display: block;
    margin-top: 4px;
    color: #60758a;
    font-weight: 700;
}
.equipment-warning-card {
    border: 2px solid #f97316;
    background: #fff7ed;
    color: #7c2d12;
    border-radius: 14px;
    padding: 16px 18px;
    margin: 18px 0;
}
.equipment-warning-card h2 {
    margin-top: 0;
    color: #9a3412;
}
.checkbox-confirm {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    font-weight: 800;
    margin: 12px 0;
}
.equipment-detail-section {
    margin-top: 18px;
}
.equipment-detail-form textarea,
.equipment-detail-form input[type="file"] {
    padding: 10px 11px;
    border: 1px solid #b8c2d1;
    border-radius: 8px;
    font-size: 14px;
    font-family: Arial, Helvetica, sans-serif;
    background: #ffffff;
}
.button.warning {
    background: #f97316;
    color: #ffffff;
    border: 1px solid #ea580c;
}
.button.small {
    padding: 6px 10px;
    font-size: 0.84rem;
    border-radius: 7px;
}
.breadcrumb-row {
    margin-bottom: 10px;
    font-weight: 700;
    color: #5f7185;
}
.breadcrumb-row a {
    color: #12335a;
    text-decoration: none;
}


/* Step 6W5X1 - equipment annual inspection proof visibility */
.equipment-current-document-card,
.equipment-recent-document-card {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
}
.equipment-current-document-card h3,
.equipment-recent-document-card h3 {
    margin-top: 0;
    color: #0f2f57;
}
.equipment-document-current-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 12px;
    border-radius: 10px;
    background: #fff;
    border: 1px solid #dbe3ef;
}
@media (max-width: 800px) {
    .equipment-document-current-row { display: block; }
    .equipment-document-current-row .button { margin-top: 10px; }
}

/* Step 6W5Y - Navigation context / D&A scope landing cleanup */
.dna-carrier-tpa-landing {
    border-left: 4px solid #d8a000;
    background: #fffdf3;
}
.dna-carrier-tpa-landing h3 {
    margin-top: 0;
    color: #063763;
}

/* Step 6W5Z - Imported driver review / DQ activation workflow */
.imported-driver-review-summary {
    margin-top: 18px;
    padding: 16px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #f8fafc;
}
.imported-driver-review-summary h3 {
    margin-top: 0;
    color: #0f2f57;
}
.imported-profile-review-panel,
.imported-review-status-card,
.imported-review-save-panel,
.imported-review-workflow-links,
.imported-review-grid-section {
    margin: 16px 0;
    padding: 16px 18px;
    border: 1px solid #cbd5e1;
    border-radius: 12px;
    background: #ffffff;
}
.imported-profile-review-panel,
.imported-review-status-card {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    border-left: 5px solid #f59e0b;
    background: #fffdf4;
}
.imported-review-status-card h2,
.imported-profile-review-panel h2 {
    margin: 4px 0 6px;
    color: #0f2f57;
}
.driver-review-mini-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(140px, 1fr));
    gap: 10px;
    min-width: min(620px, 100%);
}
.driver-review-mini-grid div {
    padding: 10px;
    border: 1px solid #d6e2ef;
    border-radius: 9px;
    background: #ffffff;
}
.driver-review-mini-grid strong,
.driver-review-mini-grid span {
    display: block;
}
.driver-review-mini-grid strong { color: #365979; font-size: .82rem; text-transform: uppercase; letter-spacing: .05em; }
.driver-review-mini-grid span { margin-top: 4px; font-weight: 800; color: #0f2f57; }
.imported-review-check-grid .driver-guidance-card.review-ok {
    border-left: 4px solid #15803d;
    background: #f0fdf4;
}
.imported-review-check-grid .driver-guidance-card.review-warning {
    border-left: 4px solid #dc2626;
    background: #fef2f2;
}
.compact-driver-review-form textarea {
    width: 100%;
    min-height: 90px;
}
@media (max-width: 900px) {
    .imported-profile-review-panel,
    .imported-review-status-card { display: block; }
    .driver-review-mini-grid { grid-template-columns: 1fr; min-width: 0; }
}


/* Step 6W6A - Website QA Route Audit Agent */
.qa-audit-page .command-center-intro {
    max-width: 1100px;
}
.qa-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 14px;
    margin: 18px 0 22px;
}
.qa-summary-card {
    border-radius: 14px;
    padding: 16px 18px;
    border: 2px solid #d7dee8;
    background: #fff;
    box-shadow: 0 8px 18px rgba(15, 38, 73, 0.08);
}
.qa-summary-card strong {
    display: block;
    font-size: 34px;
    line-height: 1;
    margin-bottom: 6px;
}
.qa-summary-card span {
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: .04em;
    font-size: 12px;
}
.qa-summary-card.pass { border-color: #2e7d32; }
.qa-summary-card.warn { border-color: #f4c430; }
.qa-summary-card.fail { border-color: #b42318; }
.qa-test-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 18px;
    align-items: center;
    background: #f8fbff;
    border: 2px solid #c9d8ef;
    border-radius: 16px;
    padding: 18px;
    margin: 18px 0 24px;
}
.qa-action-stack {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: stretch;
}
.qa-action-stack form { margin: 0; }
.qa-action-stack .button,
.qa-action-stack button { width: 100%; text-align: center; }
.qa-result-group {
    margin: 22px 0;
}
.qa-result-group h3 {
    background: #0b376d;
    color: #fff;
    padding: 10px 14px;
    margin: 0;
    border-radius: 12px 12px 0 0;
}
.qa-results-table td {
    vertical-align: top;
}
.qa-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 74px;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .04em;
}
.qa-status-pill.pass { background: #e7f6e7; color: #1b5e20; border: 1px solid #2e7d32; }
.qa-status-pill.warn { background: #fff7bf; color: #6b4f00; border: 1px solid #f4c430; }
.qa-status-pill.fail { background: #ffe5e5; color: #9f171b; border: 1px solid #b42318; }
.qa-status-pill.info { background: #e8f0ff; color: #0b376d; border: 1px solid #4472c4; }
.qa-row.qa-fail td { background: #fff7f7; }
.qa-row.qa-warn td { background: #fffdf0; }
.qa-next-tests {
    background: #fff;
    border: 1px solid #d7dee8;
    border-radius: 14px;
    padding: 16px 18px;
    margin-top: 24px;
}
.qa-dashboard-entry {
    border-left: 6px solid #0b376d;
}
@media (max-width: 800px) {
    .qa-test-card { grid-template-columns: 1fr; }
}

/* Step 6W6A6 duplicate cleanup visibility */
.driver-record-card-duplicate {
    border-color: #d9480f;
    box-shadow: 0 0 0 2px rgba(217,72,15,0.15);
}
.driver-inline-duplicate-warning {
    margin-top: 0.55rem;
    padding: 0.6rem 0.75rem;
    border-left: 5px solid #d9480f;
    background: #fff3e8;
    color: #5f2300;
    border-radius: 0.55rem;
    font-size: 0.9rem;
    line-height: 1.35;
}
.inline-cleanup-form {
    display: inline-block;
    margin: 0;
}
.duplicate-driver-review-section {
    scroll-margin-top: 1rem;
}

/* Step 6W6A8 - one Active Carrier Workspace rail across selected-carrier tabs.
   D&A red/yellow status coloring now follows the carrier outside the D&A page too. */
.carrier-tab-nav .carrier-selector-form.nav-dna-critical button.carrier-selector-button,
.left-nav.carrier-tab-nav a.carrier-selector-button.nav-dna-critical,
.carrier-tab-nav a.carrier-selector-button.nav-dna-critical {
    background: #a01919 !important;
    color: #ffffff !important;
    border: 2px solid #ef4444 !important;
}
.carrier-tab-nav .carrier-selector-form.nav-dna-critical button.carrier-selector-button::before,
.left-nav.carrier-tab-nav a.carrier-selector-button.nav-dna-critical::before,
.carrier-tab-nav a.carrier-selector-button.nav-dna-critical::before {
    content: 'Major D&A issue';
    display: block;
    margin-bottom: 4px;
    color: #ffe1e1;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.carrier-tab-nav .carrier-selector-form.nav-dna-warning button.carrier-selector-button,
.left-nav.carrier-tab-nav a.carrier-selector-button.nav-dna-warning,
.carrier-tab-nav a.carrier-selector-button.nav-dna-warning {
    background: #fff200 !important;
    color: #1f2937 !important;
    border: 2px solid #d4b106 !important;
}
.carrier-tab-nav .carrier-selector-form.nav-dna-warning button.carrier-selector-button::before,
.left-nav.carrier-tab-nav a.carrier-selector-button.nav-dna-warning::before,
.carrier-tab-nav a.carrier-selector-button.nav-dna-warning::before {
    content: none !important;
    display: none !important;
}
.carrier-tab-nav .carrier-selector-form.selected.nav-dna-critical button.carrier-selector-button.selected,
.left-nav.carrier-tab-nav a.carrier-selector-button.selected.nav-dna-critical,
.carrier-tab-nav a.carrier-selector-button.selected.nav-dna-critical {
    background: #fff5f5 !important;
    color: #7f1d1d !important;
    border: 3px solid #dc2626 !important;
}
.carrier-tab-nav .carrier-selector-form.selected.nav-dna-warning button.carrier-selector-button.selected,
.left-nav.carrier-tab-nav a.carrier-selector-button.selected.nav-dna-warning,
.carrier-tab-nav a.carrier-selector-button.selected.nav-dna-warning {
    background: #fffde7 !important;
    color: #5f4b00 !important;
    border: 3px solid #d4b106 !important;
}
.carrier-selector-subtle.carrier-nav-dna-reason {
    display: block;
    margin-top: 3px;
    font-weight: 800;
    line-height: 1.2;
}

/* Step 6W6A10 - keep selected Active Carrier Workspace tab visible.
   The selected carrier card now stays centered in the left rail even when its
   normal list position is below the viewport.  The active/selected carrier
   itself stays white; red/yellow D&A meaning is retained through the border. */
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected {
    position: fixed !important;
    top: 50% !important;
    transform: translateY(-50%) translateZ(0) !important;
    z-index: 90 !important;
    width: 226px !important;
    max-width: 226px !important;
    margin: 0 !important;
    border-radius: 8px !important;
    box-shadow: 0 12px 30px rgba(10, 38, 66, 0.28) !important;
}
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected button.carrier-selector-button.selected,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected,
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected {
    background: #ffffff !important;
    color: #111827 !important;
    border: 3px solid #111827 !important;
    font-weight: 900 !important;
}
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected.nav-dna-warning button.carrier-selector-button.selected,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected.nav-dna-warning,
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected.nav-dna-warning {
    background: #ffffff !important;
    color: #111827 !important;
    border: 3px solid #d4b106 !important;
}
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected.nav-dna-critical button.carrier-selector-button.selected,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected.nav-dna-critical,
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected.nav-dna-critical {
    background: #ffffff !important;
    color: #111827 !important;
    border: 3px solid #dc2626 !important;
}
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected button.carrier-selector-button.selected::after,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected::after {
    content: 'Current selection';
    display: block;
    margin-top: 5px;
    font-size: 10px;
    letter-spacing: .04em;
    text-transform: uppercase;
    color: #8a5a00;
}
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected button.carrier-selector-button.selected .carrier-selector-meta,
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected button.carrier-selector-button.selected .carrier-selector-name,
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected button.carrier-selector-button.selected .carrier-selector-subtle,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected .carrier-selector-meta,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected .carrier-selector-name,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected .carrier-selector-subtle {
    color: inherit !important;
    opacity: 1 !important;
}
@media (max-width: 900px) {
    .carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected,
    .carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected {
        position: static !important;
        top: auto !important;
        transform: none !important;
        width: auto !important;
        max-width: none !important;
        box-shadow: none !important;
    }
}

/* Step 6W6A11 - Active Carrier Workspace rail consistency cleanup.
   Company Info renders rail cards as links, while the other carrier tabs render
   them as submit buttons. Keep those behaviors, but force the selected/floating
   carrier card to use one shared size, font, spacing, and white-card shape. */
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected,
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected,
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected > button.carrier-selector-button.selected {
    box-sizing: border-box !important;
    width: 226px !important;
    max-width: 226px !important;
    border-radius: 8px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    text-align: left !important;
}
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected,
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected > button.carrier-selector-button.selected {
    display: block !important;
    min-height: 92px !important;
    padding: 10px 12px !important;
    background: #ffffff !important;
    color: #111827 !important;
    text-decoration: none !important;
    box-shadow: none !important;
    line-height: 1.15 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected > button.carrier-selector-button.selected {
    cursor: pointer !important;
    appearance: none !important;
    -webkit-appearance: none !important;
}
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected .carrier-selector-meta,
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected > button.carrier-selector-button.selected .carrier-selector-meta {
    display: block !important;
    margin: 0 0 2px 0 !important;
    padding: 0 !important;
    color: inherit !important;
    opacity: 1 !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
    text-align: left !important;
}
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected .carrier-selector-name,
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected > button.carrier-selector-button.selected .carrier-selector-name {
    display: block !important;
    margin: 0 0 3px 0 !important;
    padding: 0 !important;
    color: inherit !important;
    opacity: 1 !important;
    font-size: 12px !important;
    line-height: 1.12 !important;
    font-weight: 900 !important;
    text-align: left !important;
}
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected .carrier-selector-subtle,
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected > button.carrier-selector-button.selected .carrier-selector-subtle {
    display: block !important;
    margin: 2px 0 0 0 !important;
    padding: 0 !important;
    color: inherit !important;
    opacity: 1 !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 800 !important;
    text-align: left !important;
}
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected::after,
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected > button.carrier-selector-button.selected::after {
    margin-top: 5px !important;
    font-size: 10px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
}


/* Step 6W6A12 - exact Company Info vs carrier-tab rail pixel match.
   Company Info now uses the same form/button rail markup as Driver List and the
   other carrier tabs. Keep all selected floating buttons locked to one box model
   so the border, content height, and bottom pixels match tab-to-tab. */
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected {
    box-sizing: border-box !important;
    width: 226px !important;
    max-width: 226px !important;
    min-height: 116px !important;
    padding: 0 !important;
}
.left-nav.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected > button.carrier-selector-button.selected {
    box-sizing: border-box !important;
    width: 226px !important;
    max-width: 226px !important;
    min-height: 116px !important;
    padding: 10px 12px 9px 12px !important;
    border-width: 3px !important;
}

/* Step 6W7 - carrier Workspace production cleanup / command center prep. */
.carrier-workspace-home .workspace-next-action {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 18px;
    border: 1px solid #d5dce8;
    border-left: 6px solid #12335a;
    border-radius: 14px;
    background: #f8fafc;
    padding: 16px 18px;
    margin: 18px 0;
}
.carrier-workspace-home .workspace-next-action h2 {
    margin: 4px 0 6px 0;
    color: #12335a;
}
.carrier-workspace-home .workspace-next-action p {
    margin: 0;
    line-height: 1.45;
}
.carrier-workspace-home .workspace-next-action.workspace-action-warning {
    background: #fff7e6;
    border-left-color: #d8a31a;
}
.carrier-workspace-home .workspace-next-action.workspace-action-clear {
    background: #ecfdf5;
    border-left-color: #2e7d32;
}
.workspace-kicker {
    display: inline-block;
    color: #8a5b00;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.workspace-status-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 10px;
    margin: 18px 0;
}
.workspace-status-card {
    display: block;
    text-decoration: none;
    color: #12335a;
    background: #f8fafc;
    border: 1px solid #d5dce8;
    border-radius: 12px;
    padding: 14px 12px;
    min-height: 104px;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.workspace-status-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 14px rgba(15, 23, 42, .09);
    border-color: #9db7d5;
}
.workspace-status-card span {
    display: block;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #334155;
}
.workspace-status-card strong {
    display: block;
    margin-top: 6px;
    font-size: 26px;
    line-height: 1;
    color: #12335a;
}
.workspace-status-card small {
    display: block;
    margin-top: 8px;
    color: #475569;
    font-weight: 700;
    line-height: 1.3;
}
.workspace-status-card.needs-attention {
    border-left: 5px solid #d8a31a;
    background: #fffaf0;
}
.workspace-tool-grid {
    margin-top: 22px;
}
@media (max-width: 1200px) {
    .workspace-status-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 850px) {
    .carrier-workspace-home .workspace-next-action {
        align-items: stretch;
        flex-direction: column;
    }
    .workspace-status-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    .workspace-status-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6W8: Settings/Setup tab and Bulk Import sub-workflow polish. */
.page-title-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 12px;
}
.page-title-row h1 {
    margin: 0;
}
.page-title-row .button {
    flex: 0 0 auto;
}
.badge.neutral {
    background: #e5e7eb;
    color: #1f2937;
    border: 1px solid #cbd5e1;
}
.settings-setup-tool-grid .tool-card {
    min-height: 190px;
}
@media (max-width: 700px) {
    .page-title-row {
        flex-direction: column;
        align-items: stretch;
    }
}

/* Step 6W9 - DQ File sub-workflow panel */
.dq-subworkflow-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 14px 16px;
    margin: 12px 0 16px;
    border: 1px solid #bfd1e5;
    border-left: 4px solid #123c66;
    border-radius: 8px;
    background: #f7fbff;
}
.dq-subworkflow-panel h2 {
    margin: 2px 0 6px;
    color: #073763;
}
.dq-subworkflow-panel p {
    margin: 0;
}
@media (max-width: 900px) {
    .dq-subworkflow-panel {
        display: block;
    }
    .dq-subworkflow-panel .hero-actions {
        margin-top: 10px;
    }
}

/* Step 6W11 - Vehicle List compliance readiness collapse / severity cleanup. */
.vehicle-summary-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}
.driver-summary-card small {
    display: block;
    margin-top: 5px;
    font-size: 0.75rem;
    font-weight: 800;
    color: #475569;
}
.vehicle-card-neutral {
    background: #f8fafc;
    border-color: #d5dce8;
}
.vehicle-card-clear {
    background: #f0fdf4;
    border-color: #86efac;
}
.vehicle-card-clear strong,
.vehicle-card-clear small {
    color: #166534;
}
.vehicle-card-warning {
    background: #fff7ed;
    border-color: #fdba74;
}
.vehicle-card-warning strong,
.vehicle-card-warning small {
    color: #9a3412;
}
.vehicle-card-error {
    background: #fef2f2;
    border-color: #fca5a5;
}
.vehicle-card-error strong,
.vehicle-card-error small {
    color: #991b1b;
}
.vehicle-review-details {
    box-shadow: 0 8px 20px rgba(15, 35, 55, 0.05);
}
.vehicle-review-details > summary {
    list-style: none;
    display: flex;
    align-items: center;
    gap: 10px;
}
.vehicle-review-details > summary::-webkit-details-marker {
    display: none;
}
.vehicle-review-details > summary::before {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 999px;
    border: 1px solid rgba(255,255,255,0.75);
    background: rgba(255,255,255,0.14);
    color: #fff;
    font-weight: 900;
    flex: 0 0 auto;
}
.vehicle-review-details[open] > summary::before {
    content: '-';
}
.vehicle-readiness-section .success-alert,
.vehicle-inventory-section .placeholder-box {
    margin: 14px;
}
.vehicle-inventory-section {
    padding: 0;
    background: transparent;
    border: none;
    box-shadow: none;
}
@media (max-width: 1100px) {
    .vehicle-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 620px) {
    .vehicle-summary-grid {
        grid-template-columns: 1fr;
    }
    .vehicle-review-details > summary {
        align-items: flex-start;
        flex-direction: column;
    }
    .vehicle-review-details > summary::before {
        margin-bottom: 4px;
    }
}

/* Step 6W12 - Documents / record vault cleanup. */
.carrier-documents-vault-page .document-vault-summary-grid {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}
.document-vault-section {
    margin-top: 18px;
}
.document-vault-details {
    margin-bottom: 12px;
}
.document-vault-details > summary {
    min-height: 44px;
}
.document-vault-table th,
.document-vault-table td {
    vertical-align: top;
}
.document-vault-table .button.small {
    margin: 0 0 5px 0;
    white-space: nowrap;
}
@media (max-width: 1300px) {
    .carrier-documents-vault-page .document-vault-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 760px) {
    .carrier-documents-vault-page .document-vault-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 560px) {
    .carrier-documents-vault-page .document-vault-summary-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6W14: D&A audit summary / result proof trail */
.dna-w14-audit-summary {
    margin-top: 16px;
}
.dna-w14-audit-card-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 12px;
    margin: 12px 0 14px;
}
.dna-w14-audit-card {
    border: 1px solid #d8e3ef;
    border-radius: 12px;
    background: #ffffff;
    padding: 12px 14px;
    box-shadow: 0 2px 8px rgba(6, 55, 99, 0.07);
}
.dna-w14-audit-card span {
    display: block;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: .03em;
    text-transform: uppercase;
    color: #46627f;
}
.dna-w14-audit-card strong {
    display: block;
    margin-top: 4px;
    font-size: 26px;
    color: #063763;
}
.dna-w14-audit-card small {
    display: block;
    margin-top: 2px;
    color: #5d7188;
}
.dna-w14-audit-card.good {
    border-color: #a9d7b7;
    background: #f2fbf5;
}
.dna-w14-audit-card.warning {
    border-color: #f2cf74;
    background: #fff8e2;
}
.dna-w14-audit-card.danger {
    border-color: #efb1b1;
    background: #fff1f1;
}
.dna-w14-audit-details {
    border: 1px solid #d8e3ef;
    border-radius: 12px;
    background: #f8fbff;
    padding: 0;
    overflow: hidden;
}
.dna-w14-audit-details > summary {
    cursor: pointer;
    list-style: none;
    padding: 12px 14px;
    background: #063763;
    color: #ffffff;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    font-weight: 800;
}
.dna-w14-audit-details > summary::-webkit-details-marker {
    display: none;
}
.dna-w14-audit-details > summary::before {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(255,255,255,.18);
    margin-right: 8px;
    flex: 0 0 auto;
}
.dna-w14-audit-details[open] > summary::before {
    content: '-';
}
.dna-w14-audit-details > summary span {
    flex: 1 1 auto;
}
.dna-w14-audit-details > summary small {
    color: #dbe9f8;
    font-weight: 700;
}
.dna-w14-audit-table {
    margin: 0;
}
.dna-w14-audit-table td {
    vertical-align: top;
}

/* Step 6W15: D&A result proof queue / completion cleanup. */
.dna-w15-proof-queue {
    scroll-margin-top: 90px;
}
.dna-w15-proof-intro {
    margin: 12px 14px;
    padding: 10px 12px;
    border: 1px solid #cfe0f3;
    border-radius: 10px;
    background: #f7fbff;
}
.dna-w15-proof-intro p {
    margin: 0;
}
.dna-w15-proof-bucket-grid,
.dna-w15-audit-lane-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 12px 14px;
}
.dna-w15-proof-bucket-card,
.dna-w15-audit-lane {
    border: 1px solid #d6e2ef;
    border-radius: 10px;
    background: #ffffff;
    padding: 10px 12px;
    color: #063763;
}
.dna-w15-proof-bucket-card span,
.dna-w15-audit-lane {
    font-weight: 800;
    font-size: 12px;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.dna-w15-proof-bucket-card strong,
.dna-w15-audit-lane strong {
    display: block;
    font-size: 24px;
    margin-top: 2px;
}
.dna-w15-proof-bucket-card.received,
.dna-w15-audit-lane.received {
    border-color: #94d3a2;
    background: #f1fbf4;
}
.dna-w15-proof-bucket-card.warning,
.dna-w15-audit-lane.warning {
    border-color: #f1c95c;
    background: #fff8df;
}
.dna-w15-proof-bucket-card.danger,
.dna-w15-audit-lane.danger {
    border-color: #e6a0a0;
    background: #fff0f0;
}
.dna-w15-proof-bucket-card.pending,
.dna-w15-audit-lane.pending {
    border-color: #b9cce2;
    background: #f4f8fd;
}
.dna-w15-proof-bucket {
    margin: 12px 14px;
    border: 1px solid #d8e3ef;
    border-radius: 12px;
    overflow: hidden;
    background: #ffffff;
}
.dna-w15-proof-bucket > summary {
    list-style: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #063763;
    color: #ffffff;
    padding: 10px 12px;
    font-weight: 900;
}
.dna-w15-proof-bucket > summary::-webkit-details-marker {
    display: none;
}
.dna-w15-proof-bucket > summary::before {
    content: '+';
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    border-radius: 999px;
    background: rgba(255,255,255,.17);
    color: #fff;
    flex: 0 0 auto;
}
.dna-w15-proof-bucket[open] > summary::before {
    content: '-';
}
.dna-w15-proof-bucket > summary span {
    flex: 1 1 auto;
}
.dna-w15-proof-bucket > summary small {
    color: #dbe9f8;
}
.dna-w15-proof-table {
    margin: 0;
}
.dna-w15-proof-table td {
    vertical-align: top;
}
.dna-w15-proof-actions {
    min-width: 260px;
}
.dna-w15-inline-action {
    display: inline-block;
    margin: 4px 4px 0 0;
    vertical-align: top;
    min-width: 190px;
}
.dna-w15-inline-action summary {
    white-space: nowrap;
}
.dna-w15-inline-action form {
    min-width: 260px;
}
.dna-w15-proof-row td:first-child {
    border-left: 4px solid #b9cce2;
}
.dna-w15-proof-pending td:first-child {
    border-left-color: #d49a00;
}
.dna-w15-proof-completed td:first-child {
    border-left-color: #138a3d;
}
.dna-w15-proof-issue td:first-child {
    border-left-color: #b91c1c;
}
.dna-w15-proof-alternate td:first-child {
    border-left-color: #6b7f99;
}
@media (max-width: 1100px) {
    .dna-w15-proof-bucket-grid,
    .dna-w15-audit-lane-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 650px) {
    .dna-w15-proof-bucket-grid,
    .dna-w15-audit-lane-grid {
        grid-template-columns: 1fr;
    }
}
.status-pill.received {
    background: #e7f7ec;
    color: #166534;
    border: 1px solid #86d39a;
}
.status-pill.warning {
    background: #fff6d7;
    color: #815400;
    border: 1px solid #e3bd4b;
}
.status-pill.danger {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #f1a7a7;
}
.status-pill.neutral {
    background: #eef2f6;
    color: #475569;
    border: 1px solid #cbd5e1;
}

/* Step 6W17 - DQ Missing / Needs Review Queue cleanup. */
.dq-workqueue-section {
    margin: 18px 0;
    padding: 16px;
    border: 1px solid #bfd1e5;
    border-radius: 14px;
    background: #f8fbff;
}
.dq-workqueue-stat-grid {
    grid-template-columns: repeat(5, minmax(145px, 1fr));
    margin: 12px 0 14px;
}
.dq-workqueue-stat-card strong {
    font-size: 1.75rem;
}
.dq-workqueue-stat-card small {
    min-height: 44px;
}
.dq-workqueue-danger {
    border-color: #fecaca;
    background: #fff5f5;
}
.dq-workqueue-danger strong {
    color: #b91c1c;
}
.dq-workqueue-warning {
    border-color: #fde68a;
    background: #fff9e8;
}
.dq-workqueue-warning strong {
    color: #9a6700;
}
.dq-workqueue-clear {
    border-color: #bbf7d0;
    background: #f0fdf4;
}
.dq-workqueue-clear strong {
    color: #166534;
}
.dq-workqueue-neutral {
    border-color: #cbd5e1;
    background: #ffffff;
}
.dq-workqueue-list {
    margin-top: 10px;
}
.dq-workqueue-card summary {
    grid-template-columns: 34px minmax(260px, 1fr) 190px;
}
.dq-workqueue-count-strip {
    grid-template-columns: 1fr;
}
.dq-workqueue-entry-card {
    border-left-color: #12335a;
}
.dq-workqueue-card.major-missing .dq-workqueue-entry-card {
    border-left-color: #b91c1c;
}
.dq-workqueue-card.needs-followup .dq-workqueue-entry-card {
    border-left-color: #d99b00;
}
.dq-workqueue-complete-card {
    border-left-color: #166534;
}
.dq-workqueue-item-line {
    margin: 7px 0 3px;
    color: #1e293b;
}
.dq-workqueue-item-line span {
    color: #64748b;
    font-size: 0.88rem;
}
@media (max-width: 1180px) {
    .dq-workqueue-stat-grid {
        grid-template-columns: repeat(2, minmax(145px, 1fr));
    }
    .dq-workqueue-card summary {
        grid-template-columns: 34px 1fr;
    }
    .dq-workqueue-count-strip {
        grid-column: 1 / -1;
    }
}
@media (max-width: 640px) {
    .dq-workqueue-stat-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6W18 - Reports drilldown / action-link consistency. */
.report-action-shortcut-section {
    border: 1px solid #bfd1e5;
    background: #f8fbff;
}
.report-action-shortcut-grid {
    grid-template-columns: repeat(3, minmax(180px, 1fr));
}
.report-action-card {
    text-decoration: none;
    transition: transform 0.12s ease, box-shadow 0.12s ease, border-color 0.12s ease;
}
.report-action-card:hover,
.report-action-card:focus {
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(15, 23, 42, 0.12);
    border-color: #12335a;
}
.report-action-card strong {
    font-size: 1.8rem;
}
.company-report-drilldown-section .compact-actions .button,
#random-testing-readiness .compact-actions .button,
#company-dq-regulatory-items .compact-actions .button {
    white-space: nowrap;
}
@media (max-width: 1100px) {
    .report-action-shortcut-grid {
        grid-template-columns: repeat(2, minmax(180px, 1fr));
    }
}
@media (max-width: 640px) {
    .report-action-shortcut-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6W19A: DQ upload confirmation / proof visibility cleanup */
.dq-upload-confirmation-alert {
    line-height: 1.45;
}
.dq-recent-upload-panel {
    border-left: 4px solid #0f3d67;
}
.dq-proof-context {
    margin-top: 8px;
    padding: 8px;
    background: #f7fbff;
    border: 1px solid #c9dcf2;
    border-radius: 8px;
}
.dq-proof-mini-list {
    display: grid;
    gap: 8px;
    margin-top: 6px;
}
.dq-proof-mini-card {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
    padding: 8px 10px;
    background: #fff;
    border: 1px solid #d7e3f2;
    border-left: 4px solid #7a8ea7;
    border-radius: 8px;
}
.dq-proof-mini-card > div {
    display: grid;
    gap: 2px;
}
.dq-proof-mini-card span {
    font-size: 0.88rem;
}
.dq-proof-mini-card.dq-proof-accepted {
    border-left-color: #157347;
}
.dq-proof-mini-card.dq-proof-pending {
    border-left-color: #d9a514;
}
.dq-proof-mini-card.dq-proof-problem {
    border-left-color: #b01717;
}
.dq-proof-badges {
    margin-top: 2px;
}
.dq-proof-empty {
    margin-top: 7px;
    padding: 7px 9px;
    color: #6b4b00;
    background: #fff8e1;
    border: 1px solid #ead28a;
    border-radius: 7px;
    font-weight: 700;
    font-size: 0.9rem;
}
@media (max-width: 900px) {
    .dq-proof-mini-card {
        align-items: flex-start;
        flex-direction: column;
    }
}

/* Step 6W21 - Actionable QA warnings and guided remediation queues */
.qa-results-table th:last-child,
.qa-results-table td:last-child {
    min-width: 170px;
}
.qa-inline-form {
    display: inline-block;
    margin: 0;
}
.qa-affected-list {
    margin-top: 9px;
    padding: 9px;
    border: 1px solid #d6e2ef;
    border-radius: 9px;
    background: #fff;
}
.qa-affected-list > strong {
    display: block;
    margin-bottom: 6px;
    color: #0b376d;
}
.qa-affected-item {
    display: grid;
    grid-template-columns: minmax(140px, 1fr) minmax(110px, .7fr) auto;
    gap: 8px;
    align-items: center;
    padding: 6px 0;
    border-top: 1px solid #e7edf4;
}
.qa-affected-item:first-of-type {
    border-top: 0;
}
.qa-affected-item span {
    font-weight: 800;
    color: #0f2f57;
}
.qa-affected-item small {
    color: #526b84;
}
.qa-guided-remediation-alert,
.qa-pool-filter-alert {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
    justify-content: space-between;
}
.qa-guided-pool-row td {
    background: #fffdf0;
}
.qa-guided-pool-row td:first-child {
    border-left: 5px solid #dca400;
}
@media (max-width: 900px) {
    .qa-affected-item {
        grid-template-columns: 1fr;
    }
    .qa-results-table th:last-child,
    .qa-results-table td:last-child {
        min-width: 140px;
    }
}

/* Step 6W21A - Every QA warning must show a direct route, affected records, or exact repair location. */
.qa-resolution-list {
    margin-top: 9px;
    padding: 9px 11px;
    border-left: 4px solid #dca400;
    background: #fff9df;
    color: #493800;
    border-radius: 6px;
}
.qa-resolution-list strong {
    display: block;
    margin-bottom: 4px;
    color: #6b4b00;
}
.qa-resolution-list ul {
    margin: 0;
    padding-left: 20px;
}
.qa-resolution-list li + li {
    margin-top: 3px;
}

/* Step 6W21B - controlled D&A pending-pool approval and decision workflow. */
.guided-return-bar {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    margin: 14px 0;
    padding: 12px 14px;
    border: 1px solid #9eb8d2;
    border-radius: 8px;
    background: #edf5fc;
}
.guided-return-bar .button { margin-left: auto; }
.pool-review-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 12px 0;
}
.pool-check-chip {
    display: inline-flex;
    align-items: center;
    border-radius: 999px;
    padding: 3px 8px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.2;
    border: 1px solid transparent;
}
.pool-check-pass { background: #e5f5ea; color: #1d6a37; border-color: #9dccad; }
.pool-check-review { background: #fff4cf; color: #7c5b00; border-color: #e0c46f; }
.pool-check-hard { background: #fde5e5; color: #8a1f1f; border-color: #dda0a0; }
.pool-check-override { background: #eee7fb; color: #513286; border-color: #b9a4de; }
.pool-check-advisory { background: #e9f0f7; color: #35536f; border-color: #b5c6d6; }
.pool-review-table td { vertical-align: top; min-width: 130px; }
.pool-review-table td:first-child { min-width: 190px; }
.pool-review-table td:nth-child(2) { min-width: 260px; }
.pool-review-table td:last-child { min-width: 250px; }
.pool-driver-links { margin-top: 8px; }
.pool-readiness-details,
.pool-action-details,
.pool-note-details {
    margin-top: 8px;
}
.pool-readiness-details > summary,
.pool-action-details > summary,
.pool-note-details > summary {
    cursor: pointer;
    font-weight: 700;
    color: #123c69;
}
.pool-readiness-list {
    margin: 8px 0 0 18px;
    padding: 0;
}
.pool-readiness-list li {
    margin: 6px 0;
    line-height: 1.35;
}
.pool-readiness-list .pool-check-chip { margin-right: 5px; }
.pool-decision-cell .button { margin: 3px 0; }
.pool-decision-form {
    display: grid;
    gap: 7px;
    margin-top: 7px;
    padding: 9px;
    border: 1px solid #d4dde6;
    border-radius: 7px;
    background: #f8fafc;
}
.pool-decision-form label {
    display: grid;
    gap: 4px;
    font-weight: 700;
}
.pool-decision-form textarea {
    width: 100%;
    min-width: 210px;
    resize: vertical;
}
.pool-action-help {
    display: block;
    margin-top: 6px;
    color: #5f6872;
    line-height: 1.35;
}
.pool-override-details > summary { color: #6a3da0; }
.pool-not-applicable-details > summary { color: #8a1f1f; }
.button.danger-button {
    background: #9e2b2b;
    color: #fff;
    border-color: #7e1f1f;
}
.button.danger-button:hover { background: #7e1f1f; }
.button:disabled {
    opacity: .55;
    cursor: not-allowed;
}
.report-pool-removal-details { max-width: 280px; }
@media (max-width: 900px) {
    .guided-return-bar .button { margin-left: 0; }
    .pool-review-table td:last-child { min-width: 220px; }
}
.pool-decision-history { margin: 8px 0 0 18px; padding: 0; }
.pool-decision-history li { margin: 8px 0; }
.pool-decision-history span,
.pool-decision-history small { display: block; color: #5f6872; }
.pool-decision-history p { margin: 4px 0 0; }


/* Step 6W21C: direct QA warning-to-decision guidance. */
.pool-focus-guidance {
    display: block;
    border-width: 2px;
    margin: 14px 0;
}
.pool-focus-guidance > strong,
.pool-focus-guidance > span { display: block; }
.pool-focus-guidance > strong { font-size: 18px; margin-bottom: 4px; }
.pool-focus-guidance ol { margin: 10px 0 12px 22px; padding: 0; }
.pool-focus-guidance li { margin: 5px 0; }
.pool-review-focus-row td {
    background: #fff8cf !important;
    border-top: 3px solid #dca400 !important;
    border-bottom: 3px solid #dca400 !important;
}
.pool-review-focus-row td:first-child { border-left: 3px solid #dca400 !important; }
.pool-review-focus-row td:last-child { border-right: 3px solid #dca400 !important; }
.pool-review-focus-row:focus { outline: 4px solid rgba(6,55,99,.24); outline-offset: 2px; }
.pool-focus-pill { display: inline-flex; margin-bottom: 6px; }


/* Step 6W21D: finish blocked pool-readiness corrections without leaving the queue. */
.pool-blocked-explanation {
    margin: 2px 0 8px;
    padding: 10px;
    border: 2px solid #d6a400;
    border-radius: 8px;
    background: #fff8d8;
    color: #4c3a00;
}
.pool-blocked-explanation > strong,
.pool-blocked-explanation > span { display: block; }
.pool-blocked-explanation > strong { font-size: 16px; margin-bottom: 3px; }
.pool-blocked-explanation ul { margin: 7px 0 0 18px; padding: 0; }
.pool-blocked-explanation li { margin: 4px 0; line-height: 1.3; }
.pool-inline-fix-details {
    margin-top: 10px;
    border: 2px solid #1e5a8a;
    border-radius: 8px;
    background: #f4f9fd;
}
.pool-inline-fix-details > summary {
    padding: 10px 12px;
    background: #dfeefa;
    border-radius: 6px;
    color: #073b67;
    font-size: 15px;
}
.pool-readiness-fix-form {
    display: grid;
    gap: 12px;
    padding: 12px;
}
.pool-fix-grid {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(145px, .75fr);
    gap: 10px;
}
.pool-fix-grid label { display: grid; gap: 5px; font-weight: 700; }
.pool-fix-grid select,
.pool-fix-grid input[type="date"] { width: 100%; }
.pool-confirm-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 9px;
    align-items: start;
    padding: 9px;
    border: 1px solid #d1dbe5;
    border-radius: 7px;
    background: #fff;
}
.pool-confirm-row input { margin-top: 3px; }
.pool-confirm-row span,
.pool-confirm-row small { display: block; }
.pool-confirm-row small { color: #5f6872; margin-top: 3px; font-weight: 400; }
.pool-readonly-fact,
.pool-readonly-program {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    padding: 9px;
    border: 1px solid #c9d7e4;
    border-radius: 7px;
    background: #fff;
}
.pool-readonly-fact span { color: #1d6a37; font-weight: 700; }
.pool-readonly-program .button { margin-left: auto; }
.pool-fix-help {
    margin: 0;
    padding: 9px;
    border-left: 4px solid #2b6f9f;
    background: #eaf4fb;
    line-height: 1.4;
}
.pool-advanced-link {
    color: #4c6377;
    font-size: 12px;
    text-decoration: underline;
}
@media (max-width: 760px) {
    .pool-fix-grid { grid-template-columns: 1fr; }
    .pool-readonly-program .button { margin-left: 0; }
}

/* Step 6W22: role-boundary audit, user access inventory, and clearer final D&A approval. */
.role-access-audit-page .qa-summary-grid,
.user-access-inventory-page .dashboard-grid { margin-bottom: 18px; }
.role-audit-group {
    margin-top: 20px;
    padding-top: 4px;
}
.role-audit-group > h2 {
    margin-bottom: 10px;
    color: #0d3f73;
}
.user-access-filter {
    display: grid;
    grid-template-columns: minmax(240px, 2fr) minmax(190px, 1fr) minmax(150px, .8fr) auto;
    gap: 12px;
    align-items: end;
    margin: 18px 0;
    padding: 14px;
    border: 1px solid #b9cde0;
    border-radius: 9px;
    background: #f4f8fc;
}
.user-access-filter label {
    display: grid;
    gap: 5px;
    font-weight: 700;
}
.user-access-filter input,
.user-access-filter select { width: 100%; }
.user-access-filter .filter-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}
.user-access-table td { vertical-align: top; }
.user-access-table small { color: #5b6773; }
.pool-review-table .status-pill.complete {
    max-width: 250px;
    white-space: normal;
    text-align: left;
    line-height: 1.25;
}
.pool-decision-form .button.primary {
    white-space: normal;
    line-height: 1.25;
}
@media (max-width: 1050px) {
    .user-access-filter { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
    .user-access-filter { grid-template-columns: 1fr; }
}

/* Step 6W23 - controlled account onboarding and hosted billing */
.stacked-form {
    display: grid;
    gap: 12px;
}
.stacked-form label,
.horizontal-form label,
.company-billing-page form label {
    display: grid;
    gap: 6px;
    font-weight: 700;
}
.stacked-form input,
.stacked-form select,
.stacked-form textarea,
.horizontal-form input,
.horizontal-form select,
.company-billing-page input,
.copy-link-input {
    width: 100%;
    box-sizing: border-box;
}
.checkbox-row {
    display: flex !important;
    align-items: center;
    gap: 8px !important;
}
.checkbox-row input {
    width: auto;
}
.horizontal-form {
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) minmax(160px, .7fr) minmax(260px, 1.5fr) auto;
    gap: 12px;
    align-items: end;
}
.inline-action-form {
    margin-top: 14px;
}
.copy-link-input {
    margin-top: 8px;
    padding: 10px;
    font-family: Consolas, monospace;
}
.billing-config-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(180px, 1fr));
    gap: 8px 20px;
}
.billing-price {
    font-size: 1.55rem;
    font-weight: 800;
    margin: 8px 0;
}
.billing-plan-grid .tool-card form {
    margin-top: auto;
}
.billing-plan-grid .tool-card {
    display: flex;
    flex-direction: column;
}
.local-checkout-page {
    max-width: 1050px;
    margin: 0 auto;
}
.small-note {
    font-size: .9rem;
    color: #4c5d73;
}
.account-invitation-page {
    max-width: 1120px;
    margin: 0 auto;
}
@media (max-width: 1050px) {
    .horizontal-form,
    .billing-config-grid {
        grid-template-columns: 1fr;
    }
}

/* Step 6W23A - Beta coupon and one-time event billing */
.beta-confidence-message {
    border-left-width: 6px;
    font-size: 1rem;
    line-height: 1.55;
}
.beta-billing-columns {
    align-items: stretch;
}
.beta-coupon-active {
    border: 1px solid #b8d9c3;
    background: #f2fbf5;
    border-radius: 10px;
    padding: 16px;
}
.beta-coupon-active h3 {
    margin: 8px 0 4px;
    font-size: 1.35rem;
}
.payment-confidence-copy {
    margin-top: 16px;
    padding: 14px;
    border: 1px solid #c9d7e7;
    border-radius: 10px;
    background: #f7fbff;
}
.payment-confidence-copy h3 {
    margin-top: 0;
}
.rate-list {
    display: grid;
    gap: 8px;
}
.rate-row {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    padding: 10px 0;
    border-bottom: 1px solid #e3e9f0;
}
.rate-row:last-child {
    border-bottom: 0;
}
.hosted-payment-actions {
    margin-top: 18px;
}
.compact-adjustment-form {
    display: grid;
    grid-template-columns: minmax(145px, 1fr) minmax(80px, .55fr) minmax(190px, 1.2fr) auto;
    gap: 7px;
    align-items: center;
    min-width: 560px;
}
.compact-adjustment-form select,
.compact-adjustment-form input {
    width: 100%;
    box-sizing: border-box;
}
.compact-rate-form {
    grid-template-columns: minmax(230px, 1fr) auto;
    margin-bottom: 10px;
}
.billing-ledger-table td {
    vertical-align: top;
}
@media (max-width: 1050px) {
    .compact-adjustment-form,
    .compact-rate-form {
        grid-template-columns: 1fr;
        min-width: 0;
    }
    .rate-row {
        align-items: flex-start;
    }
}

/* Step 6W23C - Billing Tools uses the same established carrier-card rail.
   Red means payment/access action is urgent; yellow means Beta, not configured,
   payment method required, or another billing review remains. */
.carrier-tab-nav .carrier-selector-form.nav-billing-critical button.carrier-selector-button,
.left-nav.carrier-tab-nav a.carrier-selector-button.nav-billing-critical,
.carrier-tab-nav a.carrier-selector-button.nav-billing-critical {
    background: #a01919 !important;
    color: #ffffff !important;
    border: 2px solid #ef4444 !important;
}
.carrier-tab-nav .carrier-selector-form.nav-billing-critical button.carrier-selector-button::before,
.left-nav.carrier-tab-nav a.carrier-selector-button.nav-billing-critical::before,
.carrier-tab-nav a.carrier-selector-button.nav-billing-critical::before {
    content: 'Billing action required';
    display: block;
    margin-bottom: 4px;
    color: #ffe1e1;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}
.carrier-tab-nav .carrier-selector-form.nav-billing-warning button.carrier-selector-button,
.left-nav.carrier-tab-nav a.carrier-selector-button.nav-billing-warning,
.carrier-tab-nav a.carrier-selector-button.nav-billing-warning {
    background: #fff200 !important;
    color: #1f2937 !important;
    border: 2px solid #d4b106 !important;
}
.carrier-tab-nav .carrier-selector-form.nav-billing-warning button.carrier-selector-button::before,
.left-nav.carrier-tab-nav a.carrier-selector-button.nav-billing-warning::before,
.carrier-tab-nav a.carrier-selector-button.nav-billing-warning::before {
    content: none !important;
    display: none !important;
}
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected.nav-billing-warning button.carrier-selector-button.selected,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected.nav-billing-warning,
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected.nav-billing-warning {
    background: #ffffff !important;
    color: #111827 !important;
    border: 3px solid #d4b106 !important;
}
.carrier-tab-nav .carrier-selector-list > .carrier-selector-form.selected.nav-billing-critical button.carrier-selector-button.selected,
.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected.nav-billing-critical,
.left-nav.carrier-tab-nav .carrier-selector-list > a.carrier-selector-button.selected.nav-billing-critical {
    background: #ffffff !important;
    color: #111827 !important;
    border: 3px solid #dc2626 !important;
}
.carrier-selector-subtle.carrier-nav-billing-reason {
    display: block;
    margin-top: 3px;
    font-weight: 800;
    line-height: 1.2;
}
.billing-selected-account-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 12px 0;
}
.billing-selected-account-grid .info-card {
    min-height: 105px;
}
.billing-all-accounts-details > summary {
    cursor: pointer;
    font-weight: 800;
    color: #12335a;
    padding: 12px 4px;
}
@media (max-width: 1100px) {
    .billing-selected-account-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 720px) {
    .billing-selected-account-grid {
        grid-template-columns: 1fr;
    }
}
.selected-billing-table-row td {
    background: #fff8d8;
    border-top: 2px solid #d8a31a;
    border-bottom: 2px solid #d8a31a;
}

/* Step 6W23D - selected carrier is the single source of company billing context. */
.selected-company-billing-workspace {
    border: 2px solid #b9cce3;
    background: #fbfdff;
}
.selected-company-instruction {
    margin: 10px 0 18px;
    padding: 12px 14px;
    border-left: 5px solid #d9a514;
    background: #fff8d9;
    color: #18324f;
    font-weight: 700;
}
.billing-estimate-heading {
    margin-top: 8px;
}
.billing-estimate-table th:nth-child(2),
.billing-estimate-table td:nth-child(2),
.billing-estimate-table th:nth-child(3),
.billing-estimate-table td:nth-child(3),
.billing-estimate-table th:nth-child(4),
.billing-estimate-table td:nth-child(4) {
    text-align: right;
}
.billing-estimate-totals {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin: 14px 0 18px;
}
.billing-estimate-totals .info-card {
    min-height: 118px;
}
.billing-estimate-totals .info-card h3 {
    margin: 4px 0 8px;
    font-size: 1.45rem;
}
.billing-due-card {
    border: 2px solid #d7a20c;
    background: #fff9dc;
}
.selected-company-coupon-row {
    align-items: stretch;
}
.beta-coupon-company-panel,
.selected-company-status-panel {
    min-height: 100%;
}
.billing-status-list {
    margin: 0;
}
.billing-status-list > div {
    display: grid;
    grid-template-columns: minmax(150px, .8fr) minmax(0, 1.2fr);
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #dce5ef;
}
.billing-status-list > div:last-child {
    border-bottom: 0;
}
.billing-status-list dt {
    font-weight: 800;
    color: #15385f;
}
.billing-status-list dd {
    margin: 0;
}
.fixed-company-action-label {
    padding: 9px 11px;
    border: 1px solid #d3dfec;
    border-radius: 6px;
    background: #f4f8fc;
}
.systemwide-billing-admin-details {
    margin-top: 20px;
}
.systemwide-billing-admin-details > summary {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: center;
    padding: 14px;
    color: #12335a;
}
.systemwide-billing-admin-details > summary span {
    font-size: .9rem;
    font-weight: 500;
    color: #4a6077;
    text-align: right;
}
.systemwide-billing-admin-body {
    padding-top: 10px;
}
.selected-company-billing-audit-page .three-column-grid {
    margin-bottom: 18px;
}
@media (max-width: 1250px) {
    .billing-estimate-totals {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width: 850px) {
    .billing-estimate-totals {
        grid-template-columns: 1fr;
    }
    .systemwide-billing-admin-details > summary {
        display: block;
    }
    .systemwide-billing-admin-details > summary span {
        display: block;
        margin-top: 6px;
        text-align: left;
    }
}


/* Step 6W23E — direct/wholesale/retail billing separation */
.billing-relationship-banner{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:16px;border:1px solid #b9cbe2;border-left:5px solid #123e70;border-radius:8px;background:#f5f9fd;margin:14px 0}.billing-relationship-banner.ic-relationship{border-left-color:#b67a00;background:#fffaf0}.billing-summary-grid,.billing-layer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.billing-layer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-layer-card{border:1px solid #c7d4e5;border-radius:8px;padding:16px;background:#fff}.billing-layer-card.wholesale-layer{border-top:5px solid #123e70}.billing-layer-card.retail-layer{border-top:5px solid #d99c00}.billing-metric-row{display:flex;justify-content:space-between;gap:15px;padding:8px 0;border-bottom:1px solid #e2e8f0}.billing-metric-row.total{font-size:1.08rem;border-top:2px solid #183f6d;border-bottom:0;margin-top:8px}.billing-estimate-table .billing-total-row{background:#eef5ff}.billing-rate-grid{display:grid;grid-template-columns:repeat(4,minmax(120px,1fr));gap:12px;align-items:end}.billing-rate-grid label{display:flex;flex-direction:column;gap:5px}.billing-rate-grid .billing-rate-notes{grid-column:1/-1}.carrier-billing-page .payment-confidence-copy{margin-top:18px;padding:16px;border:1px solid #8dbaf0;background:#eef7ff;border-radius:8px}.consultant-billing-center{max-width:1600px;margin:0 auto}@media(max-width:1000px){.billing-summary-grid,.billing-layer-grid,.billing-rate-grid{grid-template-columns:1fr}.billing-relationship-banner{align-items:flex-start;flex-direction:column}}


/* Step 6W23F: Internal Command Center active-book Beta value summary. */
.systemwide-beta-value-summary {
    margin: 16px 0 18px;
    padding: 18px;
    border: 1px solid #9fb8d4;
    border-left: 6px solid #123e70;
    border-radius: 10px;
    background: linear-gradient(135deg, #f7fbff 0%, #eef6ff 100%);
    box-shadow: 0 5px 14px rgba(15, 44, 79, .08);
}
.systemwide-beta-value-header {
    display: flex;
    justify-content: space-between;
    gap: 22px;
    align-items: flex-start;
    margin-bottom: 14px;
}
.systemwide-beta-value-header h2 { margin: 2px 0 5px; color: #12335a; }
.systemwide-beta-value-header p { margin: 0; }
.systemwide-beta-grand-total {
    min-width: 260px;
    padding: 13px 16px;
    border: 2px solid #123e70;
    border-radius: 9px;
    background: #fff;
    text-align: right;
}
.systemwide-beta-grand-total span,
.systemwide-beta-value-label,
.systemwide-beta-discount-strip span {
    display: block;
    color: #4b6380;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .035em;
}
.systemwide-beta-grand-total strong { display: block; margin-top: 3px; color: #123e70; font-size: 27px; }
.systemwide-beta-value-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.systemwide-beta-value-card {
    padding: 13px 14px;
    border: 1px solid #bfd0e3;
    border-radius: 8px;
    background: #fff;
}
.systemwide-beta-value-card strong { display: block; margin: 5px 0; color: #12335a; font-size: 18px; }
.systemwide-beta-value-equation { color: #334e68; font-weight: 700; }
.systemwide-beta-discount-strip {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 13px;
}
.systemwide-beta-discount-strip > div {
    padding: 11px 13px;
    border: 1px solid #c7d4e5;
    border-radius: 8px;
    background: #fff;
}
.systemwide-beta-discount-strip strong { display: block; margin-top: 3px; color: #12335a; font-size: 19px; }
.systemwide-beta-discount-strip .systemwide-beta-due {
    border-color: #5dc780;
    background: #effcf3;
}
.systemwide-beta-discount-strip .systemwide-beta-due strong { color: #086b2b; }
.systemwide-beta-value-note { margin: 11px 0 0; color: #4b6380; font-size: 12px; }
@media (max-width: 1100px) {
    .systemwide-beta-value-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .systemwide-beta-value-header { flex-direction: column; }
    .systemwide-beta-grand-total { min-width: 0; width: 100%; text-align: left; }
}
@media (max-width: 700px) {
    .systemwide-beta-value-grid,
    .systemwide-beta-discount-strip { grid-template-columns: 1fr; }
}

/* Step 6W23G - grouped one-time billing ledgers. */
.billing-grouped-ledger {
    margin-top: 22px;
}
.billing-ledger-heading {
    align-items: flex-start;
}
.billing-ledger-heading h2 {
    margin-bottom: 3px;
}
.billing-ledger-heading .small-note {
    margin: 0;
}
.billing-ledger-controls {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin: 8px 0 12px;
}
.billing-activation-ledger,
.billing-ledger-group {
    border: 1px solid #c8d6e6;
    border-radius: 8px;
    background: #ffffff;
    margin-bottom: 10px;
    overflow: hidden;
}
.billing-activation-ledger > .billing-ledger-summary-title,
.billing-ledger-group > summary {
    background: #eaf2fb;
    border-bottom: 1px solid #c8d6e6;
    padding: 11px 14px;
}
.billing-ledger-group > summary {
    cursor: pointer;
    list-style: none;
    position: relative;
    padding-left: 42px;
}
.billing-ledger-group > summary::-webkit-details-marker {
    display: none;
}
.billing-ledger-group > summary::before {
    content: '+';
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: #154273;
    color: #ffffff;
    font-size: 16px;
    font-weight: 900;
    line-height: 19px;
    text-align: center;
}
.billing-ledger-group[open] > summary::before {
    content: '−';
}
.billing-ledger-group[open] > summary {
    background: #dceafb;
}
.billing-ledger-summary-title {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    width: 100%;
}
.billing-ledger-summary-title > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.billing-ledger-category {
    color: #123c69;
    font-size: 1rem;
    font-weight: 900;
}
.billing-ledger-summary-title small {
    color: #53677e;
}
.billing-ledger-summary-math {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 7px 14px;
    color: #334e68;
    font-size: .88rem;
    text-align: right;
}
.billing-ledger-summary-math strong {
    color: #0b3b70;
}
.billing-activation-ledger .table-scroll,
.billing-ledger-group-body .table-scroll {
    margin: 0;
    border: 0;
    border-radius: 0;
}
.billing-activation-ledger .billing-ledger-table,
.billing-ledger-group .billing-ledger-table {
    margin: 0;
}
.billing-ledger-other > summary {
    background: #f4f6f8;
}
@media (max-width: 900px) {
    .billing-ledger-summary-title {
        align-items: flex-start;
        flex-direction: column;
    }
    .billing-ledger-summary-math {
        justify-content: flex-start;
        text-align: left;
    }
    .billing-ledger-controls {
        justify-content: flex-start;
    }
}

/* Step 6W24 - new-record billing entitlement / pending additions */
.pending-billing-additions {
    margin: 20px 0;
    padding: 18px;
    border: 2px solid #c79200;
    border-radius: 10px;
    background: #fff9e8;
}
.pending-billing-additions.all-active {
    border-color: #2f7d32;
    background: #f1fbf2;
}
.pending-billing-additions .pending-additions-checkout-form {
    margin-top: 16px;
}
.billing-record-lock-notice {
    border-width: 2px;
}
.driver-record-card .context-pill.available {
    background: #e7f7e8;
    border-color: #2f7d32;
    color: #1e5c22;
}
.driver-record-card .context-pill.danger {
    background: #fdeaea;
    border-color: #a62222;
    color: #7c1717;
}
@media (max-width: 900px) {
    .pending-billing-additions .billing-summary-grid { grid-template-columns: 1fr 1fr; }
}


/* Step 6W24C - restore warning severity colors in Billing Readiness Audit */
.badge.pending {
    background: #fff7bf;
    color: #6b4f00;
    border: 1px solid #f4c430;
}
.billing-audit-row.billing-audit-warn td {
    background: #fffdf0;
}
.billing-audit-row.billing-audit-fail td {
    background: #fff5f5;
}
.billing-audit-row.billing-audit-warn td:first-child {
    border-left: 4px solid #f4c430;
}
.billing-audit-row.billing-audit-fail td:first-child {
    border-left: 4px solid #ef4444;
}

/* Step 6W24F: campaign assignments and permanent grandfathering */
.billing-campaign-assignment-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
}
.campaign-assignment-summary {
    border: 1px solid #cbd9ea;
    border-left: 5px solid #d8a500;
    border-radius: 8px;
    padding: 12px;
    margin-bottom: 10px;
    background: #fffdf3;
}
.campaign-assignment-summary p { margin: 3px 0; }
.billing-campaign-management { margin-top: 18px; }
.campaign-admin-form { margin-top: 14px; }
.billing-campaign-report-page .filler-table td { vertical-align: top; }

/* Step 6W24G - campaign enrollment coverage and clickable billing summaries. */
.billing-clickable-summary-grid .billing-summary-link {
    display: block;
    color: inherit;
    text-decoration: none;
    transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.billing-clickable-summary-grid .billing-summary-link:hover,
.billing-clickable-summary-grid .billing-summary-link:focus {
    transform: translateY(-2px);
    border-color: #1b4f83;
    box-shadow: 0 9px 20px rgba(15, 23, 42, 0.14);
    outline: none;
}
.billing-clickable-summary-grid .billing-summary-warning {
    border: 2px solid #d99c00;
    background: #fff8d8;
}
.campaign-report-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.campaign-cutoff-banner {
    margin: 14px 0;
    padding: 12px 14px;
    border-left: 5px solid #123e70;
    background: #eef5ff;
    color: #18324f;
    border-radius: 7px;
}
.campaign-repair-form {
    align-items: center;
    gap: 12px;
    margin: 16px 0 20px;
}
.campaign-participation-table td {
    vertical-align: top;
}
.admin-billing-quick-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0 0 18px;
    padding: 12px;
    border: 1px solid #c4d5e8;
    background: #f4f8fd;
    border-radius: 10px;
}
@media (max-width: 1200px) {
    .campaign-report-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
    .campaign-report-summary-grid { grid-template-columns: 1fr; }
}
.billing-heading-actions { align-items: center; margin-top: 0; }


/* Step 6W24H - resumable campaign reconciliation */
.campaign-reconciliation-panel { margin-top: 18px; }
.campaign-reconciliation-progress { width: 100%; height: 22px; margin: 8px 0 16px; accent-color: #123f73; }
.campaign-reconciliation-panel .billing-summary-warning { border-color: #d79b00; background: #fff8df; }

/* Step 6W25 - account onboarding and email foundation */
.email-mode-banner {
    margin: 12px 0 18px;
    padding: 12px 14px;
    border-radius: 8px;
    border-left: 6px solid #1b4f83;
    background: #eef5ff;
}
.email-mode-banner.mode-preview { border-left-color: #d69f00; background: #fff8d8; }
.email-mode-banner.mode-redirect { border-left-color: #7d5cc6; background: #f5efff; }
.email-mode-banner.mode-limited { border-left-color: #138a45; background: #ecf9f0; }
.email-mode-banner.mode-live { border-left-color: #b3261e; background: #fff0ef; }
.email-test-form { align-items: end; }
.notification-stat-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
    margin: 14px 0 20px;
}
.notification-stat-card {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-decoration: none;
    color: inherit;
    border: 1px solid #cbd9ea;
    border-radius: 8px;
    padding: 12px 14px;
    background: #f7faff;
}
.notification-stat-card strong { font-size: 24px; color: #123f73; }
.notification-stat-card:hover { border-color: #123f73; box-shadow: 0 5px 14px rgba(15, 42, 70, .12); }
.notification-stat-card.active { border: 2px solid #123f73; background: #eaf2fb; box-shadow: 0 5px 14px rgba(15, 42, 70, .12); }
.email-preview-frame {
    border: 1px solid #cbd5e1;
    background: #fff;
    border-radius: 8px;
    padding: 22px;
    margin: 16px 0;
    min-height: 180px;
}
.email-plain-preview {
    white-space: pre-wrap;
    background: #f7f9fc;
    border: 1px solid #d7e0eb;
    padding: 16px;
    border-radius: 8px;
}
.email-status-sent, .email-status-delivered { background: #dff4e5; color: #175c2e; }
.email-status-preview, .email-status-pending, .email-status-retrying { background: #fff0b8; color: #6b5200; }
.email-status-failed, .email-status-suppressed { background: #f8d7da; color: #7b1f28; }
.email-status-cancelled { background: #e5e7eb; color: #374151; }
.notification-contacts-page fieldset { border: 1px solid #d4dde8; border-radius: 8px; padding: 10px 14px; }
.notification-contacts-page fieldset legend { font-weight: 700; padding: 0 5px; }
@media (max-width: 760px) {
    .notification-stat-grid { grid-template-columns: 1fr 1fr; }
}

/* Step 6W25A - guided email testing and invitation acceptance */
.email-quick-grid,
.guided-invitation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin: 18px 0;
}
.email-quick-card,
.guided-invitation-card {
    border-top: 5px solid #123f73;
}
.email-quick-card:nth-child(2),
.guided-invitation-card:nth-child(2) {
    border-top-color: #d8a500;
}
.simple-status-list {
    display: grid;
    gap: 8px;
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid #d4dde8;
}
.simple-status-list span {
    display: flex;
    justify-content: space-between;
    gap: 12px;
}
.advanced-settings-disclosure {
    margin: 18px 0;
    border: 1px solid #cbd9ea;
    border-radius: 9px;
    background: #f8fbff;
}
.advanced-settings-disclosure > summary {
    cursor: pointer;
    padding: 14px 16px;
    color: #123f73;
    font-weight: 800;
}
.advanced-settings-body {
    padding: 0 16px 16px;
}
.email-test-submit {
    min-height: 44px;
    font-size: 1rem;
}
.small-help,
.status-help {
    color: #53677e;
}
.notification-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 14px 0;
}
.email-status-archived { background: #e5e7eb; color: #374151; }
.email-status-sent { background: #dff4e5; color: #175c2e; }
.email-status-failed { background: #f8d7da; color: #7b1f28; }
.email-status-retrying { background: #fff0b8; color: #6b5200; }
@media (max-width: 900px) {
    .email-quick-grid,
    .guided-invitation-grid { grid-template-columns: 1fr; }
}


/* Step 6W25B - safe account switching and session-isolation guidance */
.account-switch-warning {
    border: 2px solid #d99a00;
    border-radius: 10px;
    background: #fff8df;
    padding: 18px;
    margin: 16px 0;
}
.account-switch-warning h2 { color: #143b67; margin-top: 0; }
.account-switch-warning .hero-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; }

body[data-fmcsa-customer-guard="1"][data-fmcsa-guard-bootstrap="0"]:not(.fmcsa-session-guard-approved) .site-shell,
body[data-fmcsa-customer-guard="1"][data-fmcsa-guard-bootstrap="0"]:not(.fmcsa-session-guard-approved) .footer {
    visibility: hidden;
}


/* Step 6W25C - account-specific email-link isolation */
.account-email-link-page { max-width: 980px; }
.account-email-link-card {
    border: 1px solid #b9cce2;
    border-left: 6px solid #123f73;
    border-radius: 10px;
    background: #f8fbff;
    padding: 20px;
    margin: 16px 0;
}
.account-email-link-card h2 { margin-top: 0; color: #143b67; }
.account-link-details { display: grid; gap: 10px; margin: 16px 0; }
.account-link-details > div { display: grid; grid-template-columns: 160px 1fr; gap: 12px; border-bottom: 1px solid #d7e1ec; padding-bottom: 8px; }
.account-link-details dt { font-weight: 800; color: #2a4667; }
.account-link-details dd { margin: 0; }
@media (max-width: 650px) { .account-link-details > div { grid-template-columns: 1fr; gap: 3px; } }

/* Step 6W27C - persistent purchased-capacity visibility across carrier workspace */
.carrier-capacity-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 16px;
    margin: 0 0 14px 0;
    padding: 10px 14px;
    border: 1px solid #9ab8d6;
    border-left: 4px solid #143f6b;
    border-radius: 8px;
    background: #f3f8fd;
    color: #12365a;
}
.carrier-capacity-strip span {
    white-space: nowrap;
}
.carrier-capacity-strip small {
    color: #4f657b;
}
.carrier-capacity-strip a {
    margin-left: auto;
    font-weight: 700;
}
@media (max-width: 850px) {
    .carrier-capacity-strip a { margin-left: 0; width: 100%; }
}

/* Step 6W27L - legal/DBA branding presentation */
.brand-title {
    line-height: 1.12;
    max-width: 1100px;
}

.landing-legal-dba {
    margin: -4px 0 14px;
    font-size: 18px;
    color: #36506d;
}

@media (max-width: 760px) {
    .brand-title {
        font-size: 24px;
    }
}


/* Step 6W27O — guided new-customer intake progress */
.intake-progress-strip {
    display: grid;
    grid-template-columns: repeat(5, minmax(135px, 1fr));
    gap: 8px;
    margin: 14px 0 18px;
}
.intake-progress-step {
    border: 1px solid #c8d8ea;
    border-radius: 10px;
    background: #f6f9fc;
    padding: 10px 12px;
    min-height: 68px;
}
.intake-progress-step span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #dbe7f4;
    color: #0b3766;
    font-weight: 900;
    margin-right: 6px;
}
.intake-progress-step strong {
    color: #0b3766;
}
.intake-progress-step small {
    display: block;
    margin-top: 6px;
    color: #5f6f82;
}
.intake-progress-step.complete {
    border-color: #57b979;
    background: #effbf3;
}
.intake-progress-step.complete span {
    background: #d6f5df;
    color: #14733a;
}
.intake-progress-step.current {
    border: 2px solid #d8a10a;
    background: #fff8df;
    box-shadow: 0 1px 3px rgba(80, 55, 0, 0.12);
}
.intake-progress-step.current span {
    background: #d8a10a;
    color: #111;
}
@media (max-width: 1100px) {
    .intake-progress-strip { grid-template-columns: repeat(2, minmax(220px, 1fr)); }
}
@media (max-width: 650px) {
    .intake-progress-strip { grid-template-columns: 1fr; }
}

/* Step 6W27P — guided Sales Offer and multi-benefit coupon planning */
.four-column-form-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.intake-sales-offer {
    border: 2px solid #d8a10a;
    background: #fffdf5;
    border-radius: 12px;
    padding: 18px;
    margin: 18px 0;
}
.intake-sales-offer h3 { margin-top: 18px; }
.sales-offer-form input[type="number"],
.sales-offer-form input[type="text"],
.sales-offer-form textarea { width: 100%; box-sizing: border-box; }
.intake-account-step { margin-bottom: 18px; }
@media (max-width: 1100px) { .four-column-form-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 650px) { .four-column-form-grid { grid-template-columns: 1fr; } }

/* Step 6W27Q — human-centered shared New Customer Setup */
.intake-human-page {
    max-width: 1480px;
    margin: 0 auto;
    font-size: 17px;
    line-height: 1.48;
}
.intake-human-header {
    padding: 8px 4px 18px;
    border-bottom: 1px solid #d2dce8;
    margin-bottom: 18px;
}
.intake-human-header h1 {
    font-size: clamp(30px, 3vw, 42px);
    line-height: 1.1;
    margin: 4px 0 10px;
}
.intake-human-header p:not(.eyebrow) {
    max-width: 980px;
    font-size: 19px;
    color: #40546b;
}
.intake-human-progress {
    display: grid;
    grid-template-columns: repeat(5, minmax(150px, 1fr));
    gap: 10px;
    margin: 12px 0 24px;
}
.intake-human-progress-step {
    display: flex;
    align-items: center;
    gap: 9px;
    min-height: 62px;
    padding: 11px 13px;
    border: 1px solid #c8d7e7;
    border-radius: 10px;
    background: #f6f9fc;
    color: #50647a;
}
.intake-human-progress-step span,
.intake-section-heading .step-number {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 31px;
    height: 31px;
    border-radius: 50%;
    background: #dce8f4;
    color: #123f6d;
    font-weight: 900;
}
.intake-human-progress-step.complete { background: #eef9f1; border-color: #73bd88; color: #175d31; }
.intake-human-progress-step.complete span { background: #cfeeda; color: #176336; }
.intake-human-progress-step.current { background: #fff7dc; border: 2px solid #d8a10a; color: #173d67; }
.intake-human-progress-step.current span { background: #d8a10a; color: #111; }
.intake-human-section {
    border: 1px solid #ccd9e6;
    border-radius: 14px;
    padding: 22px;
    margin: 0 0 18px;
    background: #fff;
}
.intake-human-section.active-step {
    border: 2px solid #d8a10a;
    box-shadow: 0 2px 10px rgba(36, 64, 92, 0.08);
}
.intake-section-heading {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 18px;
}
.intake-section-heading h2,
.intake-human-section h2 {
    font-size: 27px;
    line-height: 1.15;
    margin: 0 0 5px;
    color: #0c3763;
}
.intake-section-heading p { margin: 0; color: #52677c; font-size: 17px; }
.identity-section {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #f7fafc;
    border-left: 5px solid #153f6a;
}
.intake-reference-box {
    min-width: 280px;
    padding: 12px 15px;
    border-radius: 10px;
    background: #edf4fb;
    border: 1px solid #c7d7e8;
}
.intake-human-form label {
    font-size: 16px;
    font-weight: 750;
    color: #153b64;
}
.intake-human-form input,
.intake-human-form select,
.intake-human-form textarea,
.intake-checkout-form input {
    width: 100%;
    box-sizing: border-box;
    min-height: 46px;
    padding: 9px 11px;
    margin-top: 5px;
    font-size: 17px;
}
.intake-human-form textarea { min-height: 92px; }
.intake-primary-action {
    min-height: 50px;
    padding: 12px 22px;
    font-size: 17px;
    font-weight: 800;
    margin-top: 14px;
}
.intake-order-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 14px;
    margin: 12px 0 18px;
}
.intake-order-grid label {
    display: grid;
    grid-template-columns: 1fr auto;
    align-items: center;
    gap: 4px 10px;
    border: 1px solid #cbd8e6;
    border-radius: 12px;
    padding: 15px;
    background: #f8fbfd;
}
.intake-order-grid label span { font-size: 20px; font-weight: 850; color: #123c67; }
.intake-order-grid label strong { font-size: 15px; color: #52677c; }
.intake-order-grid label input { grid-column: 1 / -1; font-size: 23px; font-weight: 850; }
.intake-savings-box {
    padding: 17px;
    margin: 14px 0;
    border: 1px solid #efc34c;
    border-radius: 12px;
    background: #fff9e7;
}
.intake-savings-box h3 { margin-top: 0; font-size: 22px; color: #173d67; }
.intake-value-summary {
    display: grid;
    grid-template-columns: repeat(3, minmax(0,1fr));
    gap: 12px;
    margin: 10px 0 18px;
}
.intake-value-summary > div {
    padding: 17px;
    border-radius: 12px;
    border: 1px solid #cbd9e7;
    background: #f8fbfd;
}
.intake-value-summary > div.final { background: #eef9f1; border-color: #6ebb84; }
.intake-value-summary span { display:block; font-size: 13px; font-weight: 900; letter-spacing: .05em; color:#7a5910; }
.intake-value-summary strong { display:block; margin:5px 0; font-size: 31px; color:#0b3766; }
.intake-value-summary small { font-size: 15px; color:#5a6c80; }
.intake-order-table th,
.intake-order-table td { font-size: 16px; padding: 10px 12px; }
.intake-complete-summary,
.intake-waiting-box,
.intake-payment-handoff {
    border: 1px solid #c9d8e7;
    border-radius: 10px;
    padding: 15px 17px;
    background: #f6f9fc;
    font-size: 17px;
}
.intake-payment-handoff h3 { font-size: 22px; margin-top: 0; color:#123d69; }
.intake-admin-tools { margin-top: 24px; }
.intake-admin-tools > summary,
.intake-advanced > summary { font-size: 16px; font-weight: 800; color:#274b70; cursor:pointer; }
.intake-start-grid {
    display:grid;
    grid-template-columns: 1.1fr .9fr;
    gap:18px;
    margin:18px 0;
}
.intake-start-card {
    border:1px solid #cbd9e7;
    border-radius:14px;
    padding:24px;
    background:#f8fbfd;
}
.intake-start-card.primary-card { border:2px solid #153f6a; background:#f3f8fd; }
.intake-start-card .big-step { display:inline-flex; min-width:46px; height:46px; align-items:center; justify-content:center; border-radius:50%; background:#153f6a; color:#fff; font-size:23px; font-weight:900; }
.intake-start-card h2 { font-size:28px; margin:12px 0 8px; }
.intake-start-card p { font-size:18px; color:#50657c; }
.intake-resume-list { display:grid; gap:8px; max-height:360px; overflow:auto; }
.intake-resume-list a { display:flex; justify-content:space-between; gap:12px; padding:11px 12px; border:1px solid #cbd9e7; border-radius:8px; background:#fff; text-decoration:none; }
.intake-resume-list a:hover { border-color:#143f6b; }
.intake-self-service-note { display:flex; justify-content:space-between; align-items:center; gap:20px; border:1px solid #7db48c; border-radius:12px; padding:18px 20px; background:#f1faf4; }
.intake-self-service-note h2 { margin:0 0 5px; font-size:24px; }
.intake-coupon-field { display:block; max-width:600px; margin:12px 0; }
@media (max-width: 1050px) {
    .intake-human-progress { grid-template-columns: repeat(2,minmax(220px,1fr)); }
    .intake-order-grid,.intake-value-summary,.intake-start-grid { grid-template-columns:1fr; }
    .identity-section,.intake-self-service-note { align-items:flex-start; flex-direction:column; }
    .intake-reference-box { min-width:0; width:100%; box-sizing:border-box; }
}
@media (max-width: 620px) {
    .intake-human-progress { grid-template-columns:1fr; }
    .intake-human-section { padding:16px; }
    .intake-human-header h1 { font-size:30px; }
}

/* Step 6W27R — single-current-step customer setup state machine */
.intake-state-machine-page { max-width: 1380px; }
.intake-setup-identity { margin-bottom: 14px; }
.intake-setup-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 18px;
}
.intake-setup-summary > div {
    min-height: 92px;
    padding: 14px 15px;
    border: 1px solid #cbd9e7;
    border-radius: 10px;
    background: #f7fafc;
}
.intake-setup-summary span,
.intake-live-value-preview span {
    display: block;
    color: #795a12;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: .06em;
}
.intake-setup-summary strong {
    display: block;
    margin: 5px 0 3px;
    color: #103b67;
    font-size: 19px;
}
.intake-setup-summary small { color: #5b6d80; font-size: 14px; }
.intake-current-step-form { max-width: 1180px; }
.intake-standard-customer-note {
    margin: 14px 0;
    padding: 14px 16px;
    border: 1px solid #78ad87;
    border-radius: 10px;
    background: #eff9f2;
    color: #225d34;
    font-size: 16px;
}
.intake-live-value-preview {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 18px 0 8px;
}
.intake-live-value-preview > div {
    padding: 16px;
    border: 1px solid #cbd9e7;
    border-radius: 11px;
    background: #f7fafc;
}
.intake-live-value-preview > div.final { background: #eef9f1; border-color: #6eb983; }
.intake-live-value-preview strong { display: block; margin-top: 4px; color: #103b67; font-size: 28px; }
.intake-account-status-card {
    padding: 18px 20px;
    border: 1px solid #cbd9e7;
    border-radius: 12px;
    background: #f7fafc;
}
.intake-account-status-card.waiting { border-color: #e4b43d; background: #fff9e8; }
.intake-account-status-card.ready { border-color: #6eb983; background: #eef9f1; }
.intake-account-status-card h3 { margin: 0 0 8px; color: #103b67; font-size: 23px; }
.inline-action-form { display: inline-block; margin: 6px 8px 0 0; }
.intake-change-offer-form { margin-top: 16px; }
.compact-value-summary strong { font-size: 26px; }
.intake-complete-panel { background: #f4fbf6; border-color: #64aa79; }
.intake-current-step-form .one-column-form-grid { display: grid; grid-template-columns: 1fr; }
@media (max-width: 1050px) {
    .intake-setup-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .intake-live-value-preview { grid-template-columns: 1fr; }
}
@media (max-width: 650px) {
    .intake-setup-summary { grid-template-columns: 1fr; }
}

/* Step 6W27R: simplified employee Customer Setup search. */
.intake-customer-search-form {
  max-width: 980px;
}
.intake-search-result-cards {
  display: grid;
  gap: 16px;
}
.intake-search-result-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
  gap: 20px;
  align-items: center;
  border: 1px solid #c6d5e6;
  border-left: 5px solid #123f70;
  border-radius: 12px;
  background: #fff;
  padding: 20px;
}
.intake-search-result-card h2 {
  margin: 3px 0 8px;
  font-size: 1.45rem;
  line-height: 1.2;
}
.intake-search-result-card p {
  margin: 5px 0;
}
.intake-search-result-actions {
  display: grid;
  gap: 9px;
  justify-items: stretch;
}
.intake-search-result-actions .button,
.intake-search-result-actions form,
.intake-search-result-actions form .button {
  width: 100%;
  text-align: center;
}
@media (max-width: 900px) {
  .intake-search-result-card {
    grid-template-columns: 1fr;
  }
}

/* Step 6W27R final polish — public signup, cancelled setup, and state-aware actions */
.public-registration-layout .content-area,
.public-registration-layout main.content-area {
    width: min(1380px, calc(100% - 32px));
    max-width: 1380px;
    margin: 0 auto;
}
.public-registration-layout .main-layout {
    display: block;
}
.public-result-note {
    display: block;
    margin-top: 8px;
    max-width: 320px;
    color: #52677c;
    font-size: 14px;
    line-height: 1.4;
}
.button.disabled-button,
a.button.disabled-button {
    opacity: .72;
    cursor: not-allowed;
    pointer-events: none;
    white-space: normal;
}
.intake-cancelled-panel {
    border-color: #bd6666;
    background: #fff7f7;
}
.intake-cancelled-panel h2,
.intake-cancelled-panel h3 {
    color: #7a2525;
}
.intake-cancel-tools {
    margin-top: 16px;
    border-color: #d6a0a0;
    background: #fff9f9;
}
.intake-cancel-tools summary {
    color: #7a2525;
}
@media (max-width: 700px) {
    .public-registration-layout .content-area,
    .public-registration-layout main.content-area {
        width: calc(100% - 18px);
    }
}
.existing-owner-account-card {
    align-self: stretch;
    min-height: 82px;
    padding: 14px 16px;
    border: 1px solid #6fa981;
    border-radius: 10px;
    background: #eff9f2;
    color: #244f31;
    line-height: 1.45;
}
.existing-owner-account-card strong { color: #123f70; font-size: 17px; }

/* Step 6W27S — repair Customer Setup queue and keep resume cards readable. */
.setup-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 6px 12px;
    border: 1px solid #b7cbe0;
    border-radius: 999px;
    background: #edf4fb;
    color: #123f6d;
    font-size: 15px;
    font-weight: 850;
}
.intake-repair-notice {
    margin: 0 0 18px;
    font-size: 16px;
}
.intake-resume-section {
    margin: 22px 0;
    padding: 20px;
    border: 1px solid #cbd9e7;
    border-radius: 14px;
    background: #f8fbfd;
}
.intake-resume-heading {
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 16px;
}
.intake-resume-heading h2 {
    margin: 2px 0 5px;
    color: #103b67;
    font-size: 27px;
}
.intake-resume-heading p:not(.eyebrow) {
    margin: 0;
    color: #52677c;
    font-size: 16px;
}
.intake-resume-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}
.intake-resume-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(210px, 260px);
    gap: 18px;
    align-items: center;
    padding: 18px;
    border: 1px solid #c6d5e6;
    border-left: 5px solid #153f6a;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 1px 4px rgba(25, 53, 82, .05);
}
.intake-resume-card h3 {
    margin: 7px 0 5px;
    color: #0d3763;
    font-size: 23px;
    line-height: 1.18;
}
.resume-step {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 9px;
    border-radius: 999px;
    background: #fff3c7;
    color: #755200;
    font-size: 13px;
    font-weight: 900;
}
.resume-company-id,
.resume-contact {
    margin: 4px 0;
    color: #52677c;
    font-size: 15px;
}
.intake-resume-card-status {
    display: grid;
    gap: 5px;
    align-content: center;
}
.intake-resume-card-status strong {
    color: #153f6a;
    font-size: 18px;
}
.intake-resume-card-status span {
    color: #53697f;
    font-size: 14px;
}
.intake-resume-card-status .button {
    width: 100%;
    box-sizing: border-box;
    margin-top: 7px;
    text-align: center;
}
.intake-conditional-field[hidden] {
    display: none !important;
}
@media (max-width: 1180px) {
    .intake-resume-cards { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
    .intake-resume-card { grid-template-columns: 1fr; }
    .intake-resume-section { padding: 14px; }
}

/* Step 6W27W - plain-English public carrier authorization confirmation. */
.self-service-authorization-box {
    margin: 16px 0;
    padding: 16px 18px;
    border: 1px solid #c7d7e8;
    border-radius: 12px;
    background: #f7fafc;
}
.self-service-authorization-box > strong {
    display: block;
    margin-bottom: 8px;
    color: #153b64;
    font-size: 18px;
}
.self-service-authorization-box .checkbox-row {
    margin: 0;
}
.self-service-authorization-box .muted-text {
    margin: 8px 0 0 30px;
}
.intake-payment-recovery-form {
    margin-top: 10px;
}
.billing-return-capacity-grid .info-card h2 {
    margin-bottom: 8px;
}


/* Step 6W27X - active-customer closeout / unified carrier workspace.
   Company Info, Add / Import, Driver List, Vehicle List, DQ File, D&A, Reports,
   Documents, Settings/Setup, Workspace, and Billing share one horizontal tab system. */
.access-style-tabs .function-tab-links a.company-tab {
    box-sizing: border-box !important;
    min-height: 40px !important;
    padding: 12px 16px !important;
    background: #12335a !important;
    color: #ffffff !important;
    border: 1px solid #0c2541 !important;
    border-bottom: 0 !important;
    border-radius: 9px 9px 0 0 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
}
.access-style-tabs .function-tab-links a.company-tab:hover {
    background: #1e4f83 !important;
    color: #ffffff !important;
}
.access-style-tabs .function-tab-links a.company-tab.active {
    background: #ffffff !important;
    color: #111827 !important;
    border-color: #111827 !important;
}

/* Step 6W27Y - integrated DQ lifecycle control center. */
.dq-view-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(120px, 1fr));
    gap: 8px;
    margin: 16px 0 18px;
}
.dq-view-tabs a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 10px 12px;
    border: 1px solid #bfd1e5;
    border-radius: 10px;
    background: #f7fbff;
    color: #12335a;
    text-decoration: none;
    font-weight: 800;
}
.dq-view-tabs a strong {
    min-width: 28px;
    padding: 3px 7px;
    border-radius: 999px;
    background: #e6eef7;
    text-align: center;
}
.dq-view-tabs a.active {
    background: #12335a;
    color: #ffffff;
    border-color: #0c2541;
}
.dq-view-tabs a.active strong {
    background: #ffffff;
    color: #12335a;
}
.dq-driver-list-heading {
    margin-top: 22px;
}
.dq-driver-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.dq-history-pill {
    display: inline-flex;
    align-items: center;
    padding: 3px 8px;
    border: 1px solid #cbd5e1;
    border-radius: 999px;
    background: #f1f5f9;
    color: #475569;
    font-size: 12px;
    font-weight: 800;
}
.dq-next-action-box {
    display: grid;
    gap: 5px;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #cbd5e1;
    border-left: 5px solid #64748b;
    border-radius: 9px;
    background: #f8fafc;
}
.dq-next-action-box strong {
    color: #12335a;
}
.dq-next-action-box span,
.dq-next-action-box small {
    color: #52677c;
}
.dq-next-action-box .button {
    width: fit-content;
    margin-top: 3px;
}
.dq-next-action-high {
    border-left-color: #b91c1c;
    background: #fff7f7;
}
.dq-next-action-followup {
    border-left-color: #d99b00;
    background: #fffaf0;
}
.dq-next-action-upcoming {
    border-left-color: #2563eb;
    background: #f4f8ff;
}
.dq-next-action-clear {
    border-left-color: #166534;
    background: #f3fbf6;
}
.dq-next-action-history {
    border-left-color: #64748b;
    background: #f8fafc;
}
.dq-lifecycle-card.dq-next-high {
    border-left: 5px solid #b91c1c;
}
.dq-lifecycle-card.dq-next-followup {
    border-left: 5px solid #d99b00;
}
.dq-lifecycle-card.dq-next-upcoming {
    border-left: 5px solid #2563eb;
}
.dq-lifecycle-card.dq-next-clear {
    border-left: 5px solid #166534;
}
.dq-lifecycle-card.dq-next-history {
    border-left: 5px solid #64748b;
}
.dq-due-line {
    display: inline-block;
    margin: 4px 0 6px;
    padding: 5px 8px;
    border-radius: 7px;
    font-size: 13px;
}
.dq-due-overdue,
.dq-due-today {
    background: #fee2e2;
    color: #991b1b;
}
.dq-due-soon {
    background: #fff4cc;
    color: #7a5200;
}
.dq-due-future {
    background: #eef6ff;
    color: #174a7c;
}
.dq-item-effective-expired,
.dq-item-effective-overdue {
    border-left: 5px solid #b91c1c;
}
.dq-item-effective-needs_review,
.dq-item-effective-waiting_reply {
    border-left: 5px solid #d99b00;
}
.dq-item-effective-not_due {
    border-left: 5px solid #2563eb;
}
@media (max-width: 980px) {
    .dq-view-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .dq-view-tabs { grid-template-columns: 1fr; }
}


/* Step 6W27Y - DQ effective-status badges */
.driver-badge-received,
.driver-badge-accepted,
.driver-badge-complete {
    background: #ecfdf5;
    border-color: #86efac;
    color: #166534;
}
.driver-badge-missing,
.driver-badge-expired,
.driver-badge-overdue {
    background: #fef2f2;
    border-color: #fca5a5;
    color: #991b1b;
}
.driver-badge-not-due {
    background: #eff6ff;
    border-color: #93c5fd;
    color: #1d4ed8;
}


/* Step 6W27Z - unified Users, Roles & Support Access */
.user-access-inventory-page .hero-actions { margin: 14px 0; }
.account-team-note { font-size: .92rem; opacity: .86; }
.user-access-table td { vertical-align: top; }
@media (max-width: 980px) {
  .user-access-table .inline-action-form { display: block; margin-top: 6px; }
}


/* Step 6W28 - protected Primary Account Owner control */
.primary-owner-summary-card { margin: 14px 0; }
.primary-owner-summary-card h3 { margin-bottom: 4px; }
.owner-conflict-resolution-panel { border-width: 2px; }


/* Step 6W28A - guided second-Level-1 block popup */
.level1-owner-block-dialog {
    width: min(760px, calc(100vw - 32px));
    max-height: calc(100vh - 48px);
    overflow: auto;
    border: 2px solid #b91c1c;
    border-radius: 12px;
    padding: 0;
    box-shadow: 0 24px 70px rgba(15, 23, 42, .30);
}
.level1-owner-block-dialog::backdrop { background: rgba(15, 23, 42, .52); }
.level1-owner-block-content { padding: 22px; }
.level1-owner-block-content h2 { margin-top: 2px; }
.level1-transfer-steps { margin: 16px 0; }
.level1-transfer-steps ol { margin: 10px 0 0 22px; padding: 0; }
.level1-transfer-steps li { margin: 8px 0; line-height: 1.45; }
.level1-owner-block-actions { justify-content: flex-end; align-items: center; }
.level1-owner-block-actions form { margin: 0; }


/* Step 6W28B - searchable carrier/company chooser */
#create-user-company-search { width: 100%; }

/* Step 6W28C: transaction-only owner control repair; cache marker. */

/* Step 6W28D - human-readable Primary Account Owner transfer workflow. */


/* Step 6W28G - Carrier Overview terminology / summary-page cleanup.
   workspace.php remains the compatibility route; the user-facing concept is Overview. */
.workspace-overview-note { margin-top: 14px; }


/* Step 6W28J - website-wide permission-aware carrier navigation. */
.access-style-tabs .function-tab-links span.company-tab.disabled-tab {
    box-sizing: border-box !important;
    min-height: 40px !important;
    padding: 12px 16px !important;
    background: #d7dbe1 !important;
    color: #6b7280 !important;
    border: 1px solid #9ca3af !important;
    border-bottom: 0 !important;
    border-radius: 9px 9px 0 0 !important;
    font-size: 14px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    cursor: help !important;
    opacity: .82;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    position: relative;
}
.carrier-disabled-tooltip {
    position: absolute;
    z-index: 1200;
    left: 50%;
    top: calc(100% + 8px);
    width: max-content;
    max-width: min(360px, calc(100vw - 32px));
    padding: 9px 11px;
    border: 1px solid #64748b;
    border-radius: 6px;
    background: #ffffff;
    color: #172033 !important;
    box-shadow: 0 8px 22px rgba(15, 23, 42, .2);
    font-size: 12px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;
    text-align: left;
    text-transform: none !important;
    letter-spacing: normal !important;
    white-space: normal;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -3px);
    transition: opacity .12s ease, transform .12s ease, visibility .12s ease;
    pointer-events: none;
}
.disabled-tab:hover > .carrier-disabled-tooltip,
.disabled-tab:focus-visible > .carrier-disabled-tooltip,
.workspace-status-card.unavailable:hover > .carrier-disabled-tooltip,
.workspace-status-card.unavailable:focus-visible > .carrier-disabled-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
.access-style-tabs .function-tab-links span.company-tab.disabled-tab:focus-visible,
.workspace-status-card.unavailable:focus-visible {
    outline: 3px solid #d99b00;
    outline-offset: 2px;
}
.carrier-tab-access-hint {
    padding: 6px 10px 7px;
    border: 1px solid #c7cdd6;
    border-top: 0;
    background: #f3f4f6;
    color: #4b5563;
    font-size: 12px;
    font-weight: 700;
}
.carrier-access-guidance {
    margin-bottom: 12px;
}
.workspace-status-card.unavailable {
    background: #e5e7eb;
    border-color: #aab1bc;
    color: #6b7280;
    cursor: help;
    opacity: .82;
    position: relative;
}
.workspace-status-card.unavailable:hover {
    transform: none;
    box-shadow: none;
    border-color: #aab1bc;
}
.workspace-status-card.unavailable span,
.workspace-status-card.unavailable strong,
.workspace-status-card.unavailable small {
    color: #6b7280;
}
.workspace-status-card.unavailable strong {
    font-size: 17px;
    line-height: 1.15;
}


/* Step 6W30D1 - public company-information navigation and pages */
@media (max-width: 1220px) {
    .top-nav {
        grid-template-columns: 1fr;
    }

    .top-nav-left,
    .top-nav-center,
    .top-nav-right {
        justify-content: center;
    }
}

.public-company-content {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.public-company-hero,
.public-story-card,
.public-values-card,
.public-contact-card,
.public-legal-card {
    background: #ffffff;
    border: 1px solid #d5dce8;
    border-radius: 16px;
    box-shadow: 0 6px 16px rgba(15, 23, 42, 0.08);
}

.public-company-hero {
    padding: 32px;
    background: linear-gradient(135deg, #ffffff 0%, #f4f8ff 100%);
    border-top: 5px solid #d8a31a;
}

.public-company-hero h1 {
    max-width: 980px;
    margin-bottom: 12px;
}

.public-company-lead {
    max-width: 940px;
    margin: 0;
    color: #36506d;
    font-size: 18px;
    line-height: 1.6;
}

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

.public-story-card {
    position: relative;
    padding: 26px;
    border-top: 4px solid #12335a;
}

.public-story-card h2 {
    margin-bottom: 10px;
}

.public-story-card p,
.public-values-card p,
.public-contact-card p,
.public-legal-card p {
    margin-bottom: 0;
    line-height: 1.65;
    color: #31465f;
}

.public-story-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    height: 30px;
    margin-bottom: 13px;
    padding: 0 10px;
    border-radius: 999px;
    background: #e7f0ff;
    color: #12335a;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.public-values-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(300px, 0.9fr);
    gap: 28px;
    padding: 28px;
    border-top: 5px solid #d8a31a;
}

.public-values-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    align-content: start;
}

.public-values-list span {
    padding: 12px 14px;
    border: 1px solid #d8e2ef;
    border-radius: 10px;
    background: #f8fafc;
    color: #24364b;
    font-weight: 700;
}

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

.public-contact-card {
    padding: 26px;
}

.public-contact-primary {
    border-top: 5px solid #12335a;
}

.public-contact-wide {
    grid-column: 1 / -1;
    border-left: 5px solid #d8a31a;
}

.public-contact-details {
    display: grid;
    gap: 0;
    margin: 18px 0 0;
}

.public-contact-details > div {
    display: grid;
    grid-template-columns: minmax(150px, 0.55fr) minmax(0, 1fr);
    gap: 18px;
    padding: 12px 0;
    border-top: 1px solid #e2e8f0;
}

.public-contact-details dt {
    color: #64748b;
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.public-contact-details dd {
    margin: 0;
    color: #24364b;
    font-weight: 700;
}

.public-contact-card a,
.public-legal-card a {
    color: #12335a;
    font-weight: 700;
}

.public-contact-email {
    margin-top: 8px;
    font-size: 20px;
}

.public-legal-effective {
    margin: 14px 0 0;
    color: #64748b;
}

.public-legal-stack {
    display: grid;
    gap: 14px;
}

.public-legal-card {
    padding: 25px 28px;
    scroll-margin-top: 20px;
}

.public-legal-card h2 {
    margin-bottom: 9px;
}

.public-legal-card p + p {
    margin-top: 12px;
}

.site-footer {
    margin-top: 18px;
    padding: 24px 20px 28px;
    text-align: center;
    color: #64748b;
    font-size: 14px;
    background: #f8fafc;
    border-top: 1px solid #d5dce8;
}

.site-footer p {
    margin: 8px 0 0;
}

.site-footer-links {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 18px;
}

.site-footer-links a {
    color: #12335a;
    font-weight: 700;
    text-decoration: none;
}

.site-footer-links a:hover {
    text-decoration: underline;
}

@media (max-width: 980px) {
    .public-story-grid,
    .public-values-card,
    .public-contact-grid {
        grid-template-columns: 1fr;
    }

    .public-contact-wide {
        grid-column: auto;
    }
}

@media (max-width: 620px) {
    .brand-area {
        padding-left: 16px;
        padding-right: 16px;
    }

    .top-nav {
        padding-left: 12px;
        padding-right: 12px;
    }

    .top-nav-group {
        width: 100%;
    }

    .top-nav a {
        flex: 1 1 auto;
        text-align: center;
    }

    .public-company-hero,
    .public-story-card,
    .public-values-card,
    .public-contact-card,
    .public-legal-card {
        padding: 22px;
    }

    .public-contact-details > div {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .public-values-list {
        grid-template-columns: 1fr;
    }
}

/* Step 6W30D2A1 - controlled tester delivery and production Census maintenance cleanup */

/* Step 6W30D2A2 - guided Help Center and reusable second-window assistance */
.access-help-link {
    display: inline-block;
    text-decoration: none;
    border-radius: 7px;
    padding: 10px 13px;
    font-weight: 800;
    border: 1px solid #2f6f45;
    background: #e9f7ee;
    color: #184e2d;
    white-space: nowrap;
}
.access-help-link:hover,
.access-help-link:focus-visible {
    background: #d5efdf;
    color: #103b21;
}
.context-help-strip {
    margin: 12px 0 16px;
    padding: 12px 14px;
    border: 1px solid #7ba5cf;
    border-left: 5px solid #24659a;
    border-radius: 10px;
    background: #f2f8ff;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}
.context-help-copy {
    display: flex;
    flex-direction: column;
    gap: 3px;
    color: #163b61;
}
.context-help-copy strong { font-size: 16px; }
.context-help-copy span { color: #344f69; line-height: 1.4; }
.context-help-button { flex: 0 0 auto; }

.help-window-shell {
    width: min(1460px, calc(100% - 24px));
    margin: 12px auto 24px;
    color: #132b45;
}
.help-window-header {
    background: #12335a;
    color: #fff;
    border-bottom: 5px solid #d8a31a;
    border-radius: 12px 12px 0 0;
    padding: 20px 24px;
    display: flex;
    justify-content: space-between;
    gap: 24px;
    align-items: flex-start;
}
.help-window-header h1 { color: #fff; margin: 2px 0 8px; font-size: 34px; }
.help-window-header p { margin: 4px 0; max-width: 920px; line-height: 1.45; }
.help-window-header .eyebrow { color: #f5c442; }
.help-window-role {
    min-width: 170px;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 10px;
    padding: 12px 14px;
    display: flex;
    flex-direction: column;
    gap: 4px;
    text-align: right;
}
.help-window-layout {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    min-height: 640px;
    background: #fff;
    border: 1px solid #b7c8db;
    border-top: 0;
}
.help-topic-nav {
    padding: 18px 14px;
    background: #edf5fd;
    border-right: 1px solid #b7c8db;
    display: flex;
    flex-direction: column;
    gap: 7px;
}
.help-topic-nav a {
    text-decoration: none;
    color: #173a63;
    background: #fff;
    border: 1px solid #c6d6e7;
    border-radius: 8px;
    padding: 10px 11px;
    font-weight: 750;
    line-height: 1.25;
}
.help-topic-nav a:hover,
.help-topic-nav a:focus-visible { border-color: #3c76aa; background: #f8fbff; }
.help-topic-nav a.current {
    background: #12335a;
    color: #fff;
    border-color: #12335a;
}
.help-topic-content { padding: 24px 28px 32px; min-width: 0; }
.help-topic-content h2 { margin: 2px 0 10px; color: #12335a; font-size: 29px; }
.help-topic-content h3 { color: #12335a; margin-top: 0; }
.help-topic-content > p { line-height: 1.55; }
.help-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 13px;
    margin-top: 18px;
}
.help-action-grid a {
    text-decoration: none;
    color: #173a63;
    background: #f7fbff;
    border: 1px solid #b8cee2;
    border-radius: 10px;
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.help-action-grid a:hover,
.help-action-grid a:focus-visible { background: #edf6ff; border-color: #4f83b4; }
.help-action-grid strong { font-size: 17px; }
.help-action-grid span { line-height: 1.4; color: #49647f; }
.help-step-list { display: grid; gap: 10px; margin: 18px 0 22px; }
.help-step-list > div {
    display: grid;
    grid-template-columns: 42px 1fr;
    gap: 12px;
    align-items: start;
    padding: 12px 14px;
    background: #f8fbff;
    border: 1px solid #c8d9ea;
    border-radius: 9px;
}
.help-step-list b {
    width: 34px; height: 34px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    background: #d8a31a; color: #111827; font-size: 18px;
}
.help-step-list span { line-height: 1.5; }
.help-scenario-card {
    margin: 14px 0;
    padding: 16px 18px;
    border: 1px solid #c7d7e7;
    border-left: 5px solid #5a84ae;
    border-radius: 10px;
    background: #fff;
}
.help-scenario-card.important {
    border-left-color: #d09a10;
    background: #fffaf0;
}
.help-scenario-card p,
.help-scenario-card li { line-height: 1.5; }
.help-next-actions {
    margin-top: 20px;
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
}
.help-next-actions a {
    display: inline-block;
    text-decoration: none;
    font-weight: 800;
    color: #fff;
    background: #12335a;
    border-radius: 7px;
    padding: 10px 13px;
}
.help-window-footer {
    padding: 12px 18px;
    background: #fff7dd;
    border: 1px solid #e2bf5d;
    border-top: 0;
    border-radius: 0 0 12px 12px;
    color: #60480a;
}
@media (max-width: 980px) {
    .help-window-layout { grid-template-columns: 1fr; }
    .help-topic-nav { border-right: 0; border-bottom: 1px solid #b7c8db; display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); }
    .help-action-grid { grid-template-columns: 1fr; }
    .context-help-strip { align-items: stretch; flex-direction: column; }
    .context-help-button { align-self: flex-start; }
}
@media (max-width: 620px) {
    .help-window-header { flex-direction: column; }
    .help-window-role { text-align: left; width: 100%; }
    .help-topic-nav { grid-template-columns: 1fr; }
    .help-topic-content { padding: 18px 16px 26px; }
}


/* Step 6W30D3D1 - carrier claim mode toggle mirrors top header state: white = active, blue = available. */
.claim-mode-toggle {
    gap: 10px;
}

.claim-mode-button {
    appearance: none;
    border: 1px solid #0c2541;
    border-radius: 7px;
    padding: 10px 14px;
    background: #12335a;
    color: #ffffff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.claim-mode-button:hover:not(:disabled),
.claim-mode-button:focus-visible:not(:disabled) {
    background: #0c2541;
}

.claim-mode-button.claim-mode-active,
.claim-mode-button.claim-mode-active:disabled {
    background: #ffffff;
    color: #12335a;
    border-color: #12335a;
    box-shadow: inset 0 0 0 1px rgba(18, 51, 90, 0.08);
    cursor: default;
    opacity: 1;
}

.claim-mode-help {
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid #c8d8eb;
    border-radius: 7px;
    background: #f3f7fc;
}


/* Step 6W30D3D3 - use the exact top-right section-button DNA for claim mode.
   Blue = available destination; white = current/active mode. */
.claim-mode-toggle .claim-mode-button {
    font: inherit;
    font-weight: 700;
    cursor: pointer;
    opacity: 1 !important;
}
.claim-mode-toggle .claim-mode-button.access-section-current,
.claim-mode-toggle .claim-mode-button.claim-mode-active,
.claim-mode-toggle .claim-mode-button[aria-current="true"] {
    background: #ffffff !important;
    color: #12335a !important;
    border-color: #12335a !important;
    box-shadow: inset 0 0 0 1px rgba(18, 51, 90, 0.08) !important;
    opacity: 1 !important;
}
.claim-mode-toggle .claim-mode-button:not(.access-section-current):not(.claim-mode-active) {
    background: #12335a !important;
    color: #ffffff !important;
    border-color: #0c2541 !important;
}
.claim-mode-toggle .claim-mode-button:disabled {
    cursor: default;
    opacity: 1 !important;
}


/* STEP 6W30E5L — public Federal lookup + Intrastate creation entry point */
.public-carrier-entry-page .public-entry-lead { font-size: 1.04rem; line-height: 1.45; }
.public-carrier-entry-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:18px; margin:18px 0 22px; align-items:stretch; }
.public-carrier-path-card { border:1px solid #c9d7e6; border-radius:12px; padding:20px; background:#fff; box-shadow:0 2px 8px rgba(20,55,91,.05); }
.public-carrier-path-card.federal-path-card { border-top:5px solid #173f6d; }
.public-carrier-path-card.intrastate-path-card { border-top:5px solid #d9a300; }
.public-carrier-path-card h2 { margin-top:2px; color:#123c69; }
.public-path-form { display:grid; grid-template-columns:1fr; gap:12px; margin:16px 0 10px; }
.public-path-form label { min-width:0; }
.public-path-form .button { justify-self:start; }
.public-path-two-fields { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.public-intrastate-confirm { align-items:flex-start; background:#fff8dd; border:1px solid #e4c65d; border-radius:8px; padding:10px 12px; }
.public-search-results-section { margin-top:20px; border-top:1px solid #d5dee8; padding-top:20px; }
.public-what-next { margin-top:24px; }
.public-next-step-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
.public-next-step-grid h3 { margin-top:0; color:#123c69; }
.public-intrastate-review-grid { margin:18px 0; }
.public-intrastate-owner-form h2 { margin-top:22px; }
@media (max-width: 980px) { .public-carrier-entry-grid { grid-template-columns:1fr; } .public-next-step-grid { grid-template-columns:1fr 1fr; } }
@media (max-width: 640px) { .public-path-two-fields, .public-next-step-grid { grid-template-columns:1fr; } }

/* STEP 6W30E5M/E5N — public carrier entry human-factor guidance */
.state-usdot-modal-trigger { border:0; padding:0; background:transparent; color:#0b4f8a; font:inherit; font-weight:800; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.state-usdot-modal-trigger:hover, .state-usdot-modal-trigger:focus-visible { color:#082f55; outline:2px solid #8bbce8; outline-offset:2px; border-radius:3px; }
.state-usdot-dialog { width:min(720px,92vw); max-height:85vh; padding:0; border:2px solid #173f6d; border-radius:12px; background:#fff; color:#18283b; box-shadow:0 18px 55px rgba(8,32,58,.34); }
.state-usdot-dialog::backdrop { background:rgba(5,24,44,.62); }
.state-usdot-dialog:not([open]) { display:none !important; }
.state-usdot-dialog[open] { display:block; }
.state-usdot-dialog-header { display:flex; align-items:flex-start; justify-content:space-between; gap:18px; padding:18px 20px 12px; border-bottom:1px solid #d7e1ec; }
.state-usdot-dialog-header h2 { margin:2px 0 0; color:#123c69; }
.state-usdot-dialog > p, .state-usdot-dialog-note, .state-usdot-dialog-actions, .state-usdot-not-listed-grid { margin-left:20px; margin-right:20px; }
.state-usdot-dialog-x { flex:0 0 auto; width:36px; height:36px; border:1px solid #b9c9d8; border-radius:7px; background:#f4f7fa; color:#173f6d; font-size:28px; line-height:30px; cursor:pointer; }
.state-usdot-dialog-x:hover, .state-usdot-dialog-x:focus-visible { background:#e6eef6; outline:2px solid #8bbce8; outline-offset:2px; }
.state-usdot-not-listed-grid { columns:2; column-gap:52px; margin-top:14px; margin-bottom:16px; padding:14px 22px 14px 42px; border:1px solid #cbd9e6; border-radius:8px; background:#f7fbff; list-style:disc outside; }
.state-usdot-not-listed-grid li { break-inside:avoid; margin:0 0 8px; padding-left:2px; color:#111; }
.state-usdot-not-listed-grid li::marker { color:#111; font-size:1em; }
.state-usdot-not-listed-grid li span { color:#18283b; font-weight:700; }
.state-usdot-dialog-note { margin-top:14px; padding:12px 14px; border-left:4px solid #d9a300; background:#fff8dd; line-height:1.4; }
.state-usdot-source { padding-top:12px; border-top:1px solid #d7e1ec; font-size:.9em; color:#455d76; line-height:1.45; }
.state-usdot-source a { font-weight:800; }
.state-usdot-dialog-actions { display:flex; justify-content:flex-end; padding:0 0 18px; }
.public-intrastate-confirm #intrastate-confirm-text { font-weight:700; }
@media (max-width:700px) { .state-usdot-not-listed-grid { columns:1; } }


/* STEP 6W30E5Q — customer first-login and account-activation polish */
.account-invitation-page .two-column { align-items: stretch; }
.account-invitation-page .panel { padding: 22px; }
.account-invitation-page .panel h2 { margin-top: 0; }
.account-password-form { display: grid; gap: 14px; }
.account-password-form label { display: grid; gap: 6px; font-weight: 750; color: #173f6d; }
.account-password-form input[type="password"] { width: 100%; box-sizing: border-box; min-height: 44px; padding: 9px 11px; font-size: 16px; }
.account-password-form .alert { margin: 2px 0 0; line-height: 1.45; }
.account-password-form .button { justify-self: start; min-height: 44px; padding-left: 20px; padding-right: 20px; }
.intake-reference-box strong { color: #123c69; }
@media (max-width: 760px) { .account-invitation-page .two-column { grid-template-columns: 1fr; } }


/* Step 6W30E5T — customer Add / Import onboarding worksheet */
.customer-record-onboarding{display:flex;flex-direction:column;gap:18px;margin-top:16px}.customer-record-hero{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px;border:1px solid #b7cae2;border-left:5px solid #123e70;border-radius:10px;background:#f7fbff}.customer-record-hero h2{margin:2px 0 6px}.customer-beta-value-box{min-width:310px;max-width:430px;display:flex;flex-direction:column;gap:4px;padding:14px 16px;border:1px solid #78c78d;border-radius:8px;background:#effbf2}.customer-beta-value-box strong{font-size:1.08rem;color:#165b2d}.customer-plan-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.customer-plan-card{display:flex;flex-direction:column;gap:5px;text-decoration:none;color:#123e70;padding:15px;border:1px solid #b9cae0;border-radius:9px;background:#fff}.customer-plan-card:hover{border-color:#123e70;background:#f6faff}.customer-plan-card.complete{background:#f1fbf4;border-color:#8ac69a}.customer-plan-card>span{font-weight:800}.customer-plan-card>strong{font-size:1.18rem}.customer-plan-card>small{color:#52667f}.customer-record-section{border:1px solid #c5d3e4;border-radius:10px;background:#fff;padding:18px}.customer-record-section.zero-plan{background:#f4f6f8;color:#45576c}.customer-record-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px}.customer-record-heading h2{margin:2px 0 5px}.customer-record-complete{white-space:nowrap;padding:7px 10px;border-radius:999px;background:#e6f6ea;color:#176332;font-weight:800;border:1px solid #8dcc9d}.customer-quick-record-form{border-top:1px solid #dde5ef;padding-top:14px}.customer-record-checks{display:flex;flex-wrap:wrap;gap:10px 22px;margin:12px 0}.customer-record-checks label{font-weight:700}.customer-form-note{margin:8px 0 14px;padding:10px 12px;border-left:4px solid #2d6fae;background:#f1f7fd;color:#334d69}.customer-extra-record{margin-top:8px}.customer-extra-record>summary{cursor:pointer;font-weight:800;color:#123e70;padding:10px 0}.customer-need-more-section,.customer-bulk-import-section{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px;border:1px solid #c7d5e6;border-radius:10px;background:#f8fbff}.customer-need-more-section{border-left:5px solid #d99c00;background:#fffaf0}.customer-purchase-more,.customer-order-history{border:1px solid #c6d3e2;border-radius:9px;background:#fff}.customer-purchase-more>summary,.customer-order-history>summary{cursor:pointer;font-weight:800;color:#123e70;padding:15px 18px}.customer-purchase-more>*:not(summary),.customer-order-history>*:not(summary){margin-left:18px;margin-right:18px}.customer-capacity-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:14px}.customer-capacity-summary>div{padding:12px;border:1px solid #d4deea;border-radius:7px;display:flex;flex-direction:column;gap:4px}.customer-additional-order-form{padding-bottom:18px}.customer-order-review{border:1px solid #d3b45a;border-radius:10px;padding:18px;background:#fffdf7}@media(max-width:1050px){.customer-record-hero,.customer-need-more-section,.customer-bulk-import-section{flex-direction:column;align-items:stretch}.customer-beta-value-box{min-width:0;max-width:none}.customer-plan-grid,.customer-capacity-summary{grid-template-columns:1fr}.customer-record-heading{flex-direction:column}.customer-record-complete{white-space:normal}}


/* Step 6W30E5U - server-rendered federal D&A N/A state for non-CDL fleets. */
.function-tabs .disabled-tab.not-applicable-tab,
.mcp-da-server-na {
    filter: grayscale(1);
    opacity: .58;
}
.mcp-da-server-na { background: #f1f3f5 !important; border-color: #adb5bd !important; color: #5f6872 !important; }
.carrier-tab-nav .carrier-selector-form.nav-dna-na button.carrier-selector-button,
.left-nav.carrier-tab-nav a.carrier-selector-button.nav-dna-na,
.carrier-tab-nav a.carrier-selector-button.nav-dna-na {
    background: #eef1f4 !important;
    color: #5f6872 !important;
    border: 2px solid #adb5bd !important;
}
.carrier-tab-nav .carrier-selector-form.selected.nav-dna-na button.carrier-selector-button.selected,
.left-nav.carrier-tab-nav a.carrier-selector-button.selected.nav-dna-na,
.carrier-tab-nav a.carrier-selector-button.selected.nav-dna-na {
    background: #f7f8f9 !important;
    color: #4f5963 !important;
    border: 3px solid #8f99a3 !important;
}

/* Step 2026-08-27: customer onboarding form cleanup (Add / Import) */
.add-import-page .customer-record-onboarding{
    gap:12px;
    margin-top:12px;
}
.add-import-page .customer-onboarding-toolbar{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    padding:12px 14px;
    border:1px solid #b7cae2;
    border-left:5px solid #123e70;
    border-radius:9px;
    background:#f7fbff;
}
.add-import-page .customer-onboarding-toolbar .eyebrow{
    margin:0 0 2px;
}
.add-import-page .customer-onboarding-toolbar-copy{
    margin:0;
    font-weight:700;
    color:#314a67;
}
.add-import-page .customer-beta-value-box{
    min-width:0;
    max-width:470px;
    padding:9px 12px;
    gap:2px;
}
.add-import-page .customer-plan-grid{
    gap:10px;
}
.add-import-page .customer-plan-card{
    padding:11px 13px;
    gap:3px;
}
.add-import-page .customer-plan-card>strong{
    font-size:1.08rem;
}
.add-import-page .customer-record-section{
    padding:14px 16px;
}
.add-import-page .customer-record-heading{
    margin-bottom:9px;
    align-items:center;
}
.add-import-page .customer-record-heading h2{
    margin:1px 0 3px;
}
.add-import-page .customer-record-heading p:last-child{
    margin:0;
}
.add-import-page .customer-quick-record-form{
    padding-top:11px;
}
.add-import-page .customer-entry-grid{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px 14px;
    align-items:end;
}
.add-import-page .customer-entry-grid label{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:5px;
    font-weight:700;
    color:#132f51;
}
.add-import-page .customer-entry-grid label.field-span-2{
    grid-column:span 2;
}
.add-import-page .customer-entry-grid input,
.add-import-page .customer-entry-grid select{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    min-height:38px;
    padding:7px 9px;
    border:1px solid #aebdce;
    border-radius:6px;
    background:#fff;
    font:inherit;
}
.add-import-page .customer-entry-grid label.field-span-2 button{
    width:auto;
    align-self:flex-start;
}
.add-import-page .customer-entry-grid label.field-span-2 span{
    align-self:flex-start;
}
.add-import-page .customer-record-checks{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
    margin:10px 0;
}
.add-import-page .customer-record-checks label{
    display:flex;
    align-items:flex-start;
    gap:8px;
    padding:9px 10px;
    border:1px solid #d7e0eb;
    border-radius:7px;
    background:#f8fbff;
    line-height:1.25;
}
.add-import-page .customer-record-checks input{
    margin-top:2px;
    flex:0 0 auto;
}
.add-import-page .customer-form-note{
    margin:8px 0 10px;
    padding:8px 10px;
}
.add-import-page .customer-record-actions{
    display:flex;
    justify-content:flex-end;
    margin-top:10px;
}
.add-import-page .customer-record-actions .button{
    min-width:130px;
}
.add-import-page .customer-extra-record>summary{
    padding:7px 0;
}
.add-import-page .customer-after-entry-grid{
    display:grid;
    grid-template-columns:1.25fr .75fr;
    gap:12px;
}
.add-import-page .customer-need-more-section,
.add-import-page .customer-bulk-import-section{
    min-height:0;
    padding:14px 16px;
    align-items:center;
}
.add-import-page .customer-need-more-section h2,
.add-import-page .customer-bulk-import-section h2{
    margin:2px 0 4px;
}
.add-import-page .customer-need-more-section p,
.add-import-page .customer-bulk-import-section p{
    margin-top:4px;
    margin-bottom:4px;
}
.add-import-page .customer-bulk-import-section{
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
}
.add-import-page .customer-bulk-import-section .button{
    margin-top:8px;
}
.add-import-page .customer-order-history>summary{
    padding:11px 14px;
}

@media(max-width:1250px){
    .add-import-page .customer-entry-grid{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .add-import-page .customer-entry-grid label.field-span-2{
        grid-column:span 1;
    }
    .add-import-page .customer-record-checks{
        grid-template-columns:1fr;
    }
}
@media(max-width:950px){
    .add-import-page .customer-onboarding-toolbar{
        flex-direction:column;
        align-items:stretch;
    }
    .add-import-page .customer-entry-grid{
        grid-template-columns:repeat(2,minmax(0,1fr));
    }
    .add-import-page .customer-after-entry-grid{
        grid-template-columns:1fr;
    }
}
@media(max-width:620px){
    .add-import-page .customer-entry-grid{
        grid-template-columns:1fr;
    }
    .add-import-page .customer-entry-grid label.field-span-2{
        grid-column:span 1;
    }
    .add-import-page .customer-record-actions{
        justify-content:stretch;
    }
    .add-import-page .customer-record-actions .button{
        width:100%;
    }
}


/* XAMPP-only Driver/Truck/Trailer test-data helper. Rendered only for a local request. */
.add-import-page .customer-xampp-test-helper{
    display:grid;
    grid-template-columns:minmax(280px,1fr) 110px auto;
    gap:10px 14px;
    align-items:end;
    margin:0 0 12px;
    padding:12px 14px;
    border:1px dashed #88a8c8;
    border-radius:8px;
    background:#f4f9ff;
}
.add-import-page .customer-xampp-test-copy strong,
.add-import-page .customer-xampp-test-copy small{
    display:block;
}
.add-import-page .customer-xampp-test-copy small{
    margin-top:3px;
    color:#52677d;
}
.add-import-page .customer-xampp-test-number{
    display:flex;
    flex-direction:column;
    gap:4px;
    font-weight:700;
    color:#132f51;
}
.add-import-page .customer-xampp-test-number input{
    width:100%;
    min-height:38px;
    box-sizing:border-box;
    padding:7px 9px;
    border:1px solid #aebdce;
    border-radius:6px;
    background:#fff;
    font:inherit;
}
.add-import-page .customer-xampp-test-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}
.add-import-page .customer-xampp-test-status{
    grid-column:1/-1;
    min-height:1.2em;
    font-size:.9rem;
    font-weight:700;
    color:#275d35;
}
@media(max-width:950px){
    .add-import-page .customer-xampp-test-helper{
        grid-template-columns:1fr 110px;
    }
    .add-import-page .customer-xampp-test-actions{
        grid-column:1/-1;
    }
}
@media(max-width:620px){
    .add-import-page .customer-xampp-test-helper{
        grid-template-columns:1fr;
    }
    .add-import-page .customer-xampp-test-actions,
    .add-import-page .customer-xampp-test-status{
        grid-column:1;
    }
    .add-import-page .customer-xampp-test-actions .button{
        width:100%;
    }
}

/* Step 6W30E5B1 - shared driver workspace identity + blue/white sub-navigation */
.driver-workspace-shell {
    margin: 0 0 18px 0;
    border: 1px solid #b9cbe0;
    border-radius: 12px;
    background: #f8fbff;
    overflow: hidden;
}

.driver-workspace-identity {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 18px 14px;
    border-bottom: 1px solid #b9cbe0;
    background: #ffffff;
}

.driver-workspace-name-block {
    min-width: 0;
    flex: 1 1 auto;
}

.driver-workspace-name-block h1 {
    margin: 2px 0 8px;
    color: #102f55;
    font-size: clamp(24px, 2.2vw, 34px);
    line-height: 1.1;
    word-break: normal;
    overflow-wrap: anywhere;
}

.driver-workspace-context {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.driver-workspace-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    flex: 0 0 auto;
}

.driver-function-tabs {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 4px;
    padding: 8px 10px 0;
    background: #dce9f7;
    border-top: 1px solid #ffffff;
}

.driver-function-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 9px 12px;
    border: 1px solid #173f6b;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: #173f6b;
    color: #ffffff;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
}

.driver-function-tab:hover,
.driver-function-tab:focus {
    background: #0f3157;
    color: #ffffff;
    text-decoration: none;
}

.driver-function-tab.active {
    background: #ffffff;
    color: #102f55;
    border-color: #173f6b;
    position: relative;
    z-index: 2;
}

.driver-function-tab.disabled-tab {
    background: #d1d5db;
    border-color: #9ca3af;
    color: #6b7280;
    cursor: not-allowed;
}

.driver-page-section-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    margin: 4px 0 14px;
    padding-bottom: 10px;
    border-bottom: 2px solid #173f6b;
}

.driver-page-section-heading h2,
.driver-page-section-heading h1 {
    margin: 0 0 4px;
    color: #102f55;
}

.driver-page-section-heading p {
    margin: 0;
    color: #475569;
    font-weight: 600;
}

/* Classification screen: make the job-position decision visually dominant and human-scannable. */
.driver-classification-choice-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.driver-classification-choice {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: flex-start;
    padding: 16px;
    border: 2px solid #b8c9dc;
    border-radius: 10px;
    background: #ffffff;
    cursor: pointer;
}

.driver-classification-choice:has(input:checked) {
    border-color: #173f6b;
    box-shadow: 0 0 0 2px rgba(23, 63, 107, .10);
    background: #f4f8fd;
}

.driver-classification-choice input {
    margin-top: 4px;
    transform: scale(1.2);
}

.driver-classification-choice strong {
    display: block;
    color: #102f55;
    font-size: 16px;
    margin-bottom: 4px;
}

.driver-classification-choice span {
    color: #475569;
    line-height: 1.4;
}

.driver-classification-section {
    margin-top: 16px;
    padding: 16px;
    border: 1px solid #cbd5e1;
    border-radius: 10px;
    background: #ffffff;
}

.driver-classification-section h2 {
    margin: 0 0 6px;
    color: #102f55;
}

.driver-classification-section > p {
    margin-top: 0;
}

.required-field-label::after {
    content: ' *';
    color: #b91c1c;
    font-weight: 900;
}

@media (max-width: 1100px) {
    .driver-workspace-identity {
        align-items: flex-start;
        flex-direction: column;
    }
    .driver-workspace-actions {
        justify-content: flex-start;
    }
    .driver-classification-choice-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .driver-function-tabs {
        padding-bottom: 8px;
    }
    .driver-function-tab {
        border-bottom: 1px solid #173f6b;
        border-radius: 8px;
        flex: 1 1 160px;
        white-space: normal;
    }
}

/* Step 6W30E5C: direct equipment add routing target. */
.tool-card.selected-add-target {
    outline: 3px solid var(--navy, #153f69);
    outline-offset: 2px;
}

/* Step 6W30E5C-UI: presentation-only cleanup for Add Equipment. */
.equipment-clean-page {
    padding: 20px;
}
.equipment-clean-heading {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 20px;
    padding-bottom: 16px;
    border-bottom: 1px solid #d4dce6;
}
.equipment-clean-heading h1 {
    margin: 2px 0 6px;
}
.equipment-clean-copy {
    max-width: 820px;
    margin: 0;
    color: #46566a;
    line-height: 1.45;
}
.equipment-clean-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: flex-end;
}
.equipment-clean-capacity-row {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) auto;
    gap: 12px;
    align-items: stretch;
    margin: 16px 0 12px;
}
.equipment-clean-capacity-card {
    border: 1px solid #c7d4e3;
    border-radius: 10px;
    background: #f7faff;
    padding: 12px 16px;
}
.equipment-clean-capacity-card span {
    display: block;
    color: #8c6400;
    font-size: 0.78rem;
    font-weight: 900;
    letter-spacing: 0.06em;
}
.equipment-clean-capacity-card strong {
    display: block;
    margin-top: 3px;
    color: #153f69;
    font-size: 1.3rem;
}
.equipment-clean-route-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}
.equipment-clean-route-actions .current-equipment-route {
    box-shadow: inset 0 0 0 2px #fff, 0 0 0 2px #153f69;
}
.equipment-clean-testbar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) auto minmax(180px, 1fr);
    gap: 12px;
    align-items: center;
    margin: 12px 0 16px;
    padding: 10px 14px;
    border: 1px solid #a9c9ed;
    border-radius: 8px;
    background: #edf6ff;
}
.equipment-clean-testbar > div {
    display: flex;
    gap: 8px;
    align-items: baseline;
    flex-wrap: wrap;
}
.equipment-clean-testbar > div span,
.equipment-clean-testbar > #mcp-equipment-test-status {
    color: #41556e;
    font-size: 0.9rem;
}
.equipment-clean-testbar label {
    display: flex;
    gap: 6px;
    align-items: center;
    font-weight: 800;
}
.equipment-clean-testbar input {
    width: 78px;
}
.equipment-clean-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    align-items: start;
}
.equipment-clean-card {
    border: 1px solid #c6d2df;
    border-radius: 12px;
    background: #fff;
    overflow: hidden;
}
.equipment-clean-card.selected-add-target {
    outline: 3px solid #153f69;
    outline-offset: 2px;
}
.equipment-clean-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    padding: 16px 16px 14px;
    background: #f7faff;
    border-bottom: 1px solid #d9e1ea;
}
.equipment-clean-card-header h2 {
    margin: 2px 0 4px;
}
.equipment-clean-card-header p:last-child {
    margin: 0;
    color: #506176;
    line-height: 1.4;
}
.equipment-clean-available {
    flex: 0 0 auto;
    border: 1px solid #a9c0d8;
    border-radius: 999px;
    background: #fff;
    color: #153f69;
    padding: 5px 10px;
    font-size: 0.84rem;
    font-weight: 900;
    white-space: nowrap;
}
.equipment-clean-helper-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
    margin: 14px 14px 0;
    padding: 10px 12px;
    border: 1px solid #b9d3ee;
    border-radius: 8px;
    background: #eef6ff;
}
.equipment-clean-helper-actions > span {
    color: #334d6b;
    font-size: 0.9rem;
    font-weight: 800;
}
.equipment-clean-form {
    padding: 14px;
}
.equipment-clean-fieldset {
    margin: 0 0 12px;
    padding: 10px 12px 12px;
    border: 1px solid #d1dbe6;
    border-radius: 8px;
    background: #fff;
}
.equipment-clean-fieldset legend {
    padding: 0 7px;
    color: #153f69;
    font-weight: 900;
}
.equipment-clean-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px 12px;
}
.equipment-clean-fields-single {
    grid-template-columns: 1fr;
}
.equipment-clean-fields label,
.equipment-clean-notes {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    font-weight: 800;
}
.equipment-clean-fields label > span,
.equipment-clean-notes > span {
    color: #1e3856;
    font-size: 0.9rem;
}
.equipment-clean-fields input,
.equipment-clean-notes textarea {
    box-sizing: border-box;
    width: 100%;
}
.equipment-clean-notes {
    margin: 0 0 12px;
}
.equipment-clean-save-row {
    display: flex;
    justify-content: flex-end;
    padding-top: 2px;
}
@media (max-width: 1150px) {
    .equipment-clean-capacity-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .equipment-clean-route-actions {
        grid-column: 1 / -1;
    }
}
@media (max-width: 900px) {
    .equipment-clean-heading,
    .equipment-clean-grid {
        display: block;
    }
    .equipment-clean-actions {
        justify-content: flex-start;
        margin-top: 12px;
    }
    .equipment-clean-card + .equipment-clean-card {
        margin-top: 18px;
    }
    .equipment-clean-testbar {
        grid-template-columns: 1fr;
    }
}
@media (max-width: 620px) {
    .equipment-clean-capacity-row,
    .equipment-clean-fields {
        grid-template-columns: 1fr;
    }
}


/* Batch D: the existing Step 1-5 progress cards are now real onboarding navigation. */
.intake-human-progress-link {
    text-decoration: none;
    cursor: pointer;
}
.intake-human-progress-link:hover,
.intake-human-progress-link:focus-visible {
    text-decoration: none;
}

/* 2026-08-28 - Add/Import form-isolated XAMPP helpers. Presentation only. */
.add-import-page .customer-xampp-test-helper{
    grid-template-columns:minmax(280px,1fr) 110px;
    align-items:end;
}
.add-import-page .customer-xampp-test-status{
    grid-column:1/-1;
    margin-top:2px;
}
.add-import-page .customer-record-actions.customer-record-actions-isolated{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:14px;
    flex-wrap:wrap;
    padding-top:10px;
    border-top:1px solid #d9e3ef;
}
.add-import-page .customer-record-test-actions{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}
.add-import-page .customer-record-test-label{
    font-weight:800;
    color:#132f51;
    margin-right:2px;
}
.add-import-page .customer-record-save-action{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:10px;
    margin-left:auto;
}
.add-import-page .customer-record-save-note{
    font-size:.9rem;
    font-weight:700;
    color:#52677d;
    white-space:nowrap;
}
.add-import-page .customer-record-actions.customer-record-actions-isolated .button{
    min-width:0;
}
.add-import-page .customer-record-save-action .button{
    min-width:130px;
}
@media(max-width:950px){
    .add-import-page .customer-record-actions.customer-record-actions-isolated{
        align-items:stretch;
    }
    .add-import-page .customer-record-save-action{
        width:100%;
    }
}
@media(max-width:620px){
    .add-import-page .customer-xampp-test-helper{
        grid-template-columns:1fr;
    }
    .add-import-page .customer-xampp-test-status{
        grid-column:1;
    }
    .add-import-page .customer-record-test-actions,
    .add-import-page .customer-record-save-action{
        width:100%;
        flex-direction:column;
        align-items:stretch;
    }
    .add-import-page .customer-record-test-actions .button,
    .add-import-page .customer-record-save-action .button{
        width:100%;
    }
    .add-import-page .customer-record-save-note{
        white-space:normal;
    }
}

/* Step 6W31D: human-first Driver Application workflow (self-service + carrier-assisted intake) */
.application-workflow-page .content-area > .page-card {
    min-height: auto !important;
    margin-bottom: 16px !important;
    border-radius: 10px !important;
}

.application-workflow-overview-card,
.application-workflow-content-card,
.application-workflow-footer {
    padding: 20px !important;
}

.application-account-details {
    margin: 10px 0 14px;
    border: 1px solid #c8d6e5;
    border-radius: 10px;
    background: #f8fbff;
}
.application-account-details > summary {
    cursor: pointer;
    padding: 10px 12px;
    color: #12335a;
    font-weight: 800;
}
.application-account-details > .account-summary-card,
.application-account-details > .account-summary,
.application-account-details > div {
    margin: 0 12px 12px;
}

.application-progress-summary {
    display: grid;
    grid-template-columns: minmax(220px, .65fr) minmax(280px, 1.35fr);
    gap: 14px;
    align-items: center;
    border: 1px solid #bfd0e3;
    background: #f8fbff;
    border-radius: 12px;
    padding: 12px 14px;
    margin: 14px 0;
}
.application-progress-summary > div:first-child {
    display: flex;
    flex-direction: column;
    gap: 3px;
}
.application-progress-summary strong {
    color: #12335a;
    font-size: 16px;
}
.application-progress-summary span {
    color: #475569;
    font-weight: 700;
}
.application-progress-track {
    height: 14px;
    overflow: hidden;
    border-radius: 999px;
    background: #e5e7eb;
    border: 1px solid #cbd5e1;
}
.application-progress-track > span {
    display: block;
    height: 100%;
    background: #15803d;
    border-radius: inherit;
}

.application-next-step {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}
.application-next-step .button {
    margin-left: auto;
}

.application-step-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
    gap: 12px;
    margin: 14px 0 4px;
}
.application-step-card {
    display: grid;
    grid-template-columns: 34px 1fr;
    grid-template-rows: 1fr auto;
    column-gap: 10px;
    row-gap: 10px;
    border: 2px solid #d29a00;
    background: #fff8df;
    border-radius: 12px;
    padding: 12px;
    min-height: 152px;
}
.application-step-card.is-complete {
    border-color: #15803d;
    background: #eefaf1;
}
.application-step-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 999px;
    background: #d8a31a;
    color: #111827;
    font-weight: 900;
}
.application-step-card.is-complete .application-step-number {
    background: #15803d;
    color: #fff;
}
.application-step-copy {
    min-width: 0;
}
.application-step-copy h3 {
    margin: 2px 0 6px;
    color: #12335a;
    font-size: 16px;
}
.application-step-status,
.application-review-status {
    margin: 3px 0;
    line-height: 1.35;
}
.application-step-status {
    font-weight: 800;
    color: #7c4a03;
}
.application-step-card.is-complete .application-step-status {
    color: #166534;
}
.application-review-status {
    color: #475569;
    font-size: 13px;
    font-weight: 700;
}
.application-step-button {
    grid-column: 1 / -1;
    width: 100%;
    box-sizing: border-box;
    text-align: center;
    background: #d8a31a;
    color: #111827;
    border: 1px solid #9f7410;
}
.application-step-card.is-complete .application-step-button,
.application-complete-button {
    background: #15803d !important;
    color: #fff !important;
    border-color: #166534 !important;
}

.application-workflow-panel,
.application-manual-entry {
    border: 1px solid #bfd0e3;
    border-radius: 10px;
    background: #fff;
    overflow: hidden;
}
.application-workflow-panel > summary,
.application-manual-entry > summary {
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 12px 14px;
    background: #eef4fb;
    color: #12335a;
    font-weight: 900;
}
.application-workflow-panel > summary span:last-child {
    font-size: 12px;
    color: #475569;
}
.application-workflow-panel[open] > summary,
.application-manual-entry[open] > summary {
    border-bottom: 1px solid #bfd0e3;
}
.application-workflow-panel-body,
.application-manual-entry-body {
    padding: 14px;
}
.application-manual-entry {
    margin-top: 14px;
}

.application-workflow-page .form-grid > label:not(.checkbox-label),
.application-signature-form > label:not(.checkbox-label) {
    display: flex;
    flex-direction: column;
    gap: 6px;
    color: #12335a;
    font-weight: 700;
}
.application-workflow-page .form-grid > label input,
.application-workflow-page .form-grid > label select,
.application-workflow-page .form-grid > label textarea,
.application-signature-form input[type="text"] {
    width: 100%;
    box-sizing: border-box;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid #aebed0;
    border-radius: 7px;
    background: #fff;
    font: inherit;
}
.application-signature-form {
    display: grid;
    gap: 12px;
    max-width: 920px;
}
.application-signature-form .checkbox-label {
    display: flex;
    gap: 9px;
    align-items: flex-start;
    line-height: 1.45;
}
.application-signature-form .checkbox-label input {
    margin-top: 3px;
    flex: 0 0 auto;
}
.application-signature-form .button {
    justify-self: start;
}

.application-final-step-panel {
    border: 2px solid #d29a00;
    background: #fff8df;
    border-radius: 12px;
    padding: 16px;
    margin: 16px 0;
}
.application-final-step-panel h2 {
    margin-bottom: 8px;
}
.application-final-step-panel p {
    margin-top: 0;
}

.application-technical-details {
    margin-top: 12px;
}
.application-readiness-panel .application-step-grid {
    margin-bottom: 14px;
}

.application-workflow-page button[disabled],
.application-workflow-page .button[aria-disabled="true"] {
    opacity: .55;
    cursor: not-allowed;
}

@media (max-width: 900px) {
    .application-progress-summary {
        grid-template-columns: 1fr;
    }
    .application-next-step .button {
        margin-left: 0;
        width: 100%;
        text-align: center;
    }
    .application-step-grid {
        grid-template-columns: 1fr;
    }
}

/* STEP 6W31E - reusable human-first workflow status components.
   Generic class names are intentional so the same visual language can be reused
   later in vehicle/equipment intake and other workflow-heavy areas. */
.workflow-state-grid {
    display: grid;
    gap: 12px;
    margin: 14px 0;
}
.workflow-state-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.workflow-state-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.workflow-summary-card,
.workflow-state-card {
    border: 1px solid #cbd5e1;
    border-left: 6px solid #64748b;
    border-radius: 12px;
    background: #fff;
    padding: 13px 14px;
    box-shadow: 0 1px 5px rgba(15, 23, 42, .05);
}
.workflow-summary-card span {
    display: block;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .04em;
    color: #475569;
}
.workflow-summary-card strong {
    display: block;
    margin-top: 2px;
    font-size: 28px;
    color: #12335a;
}
.workflow-summary-card small { color: #475569; }
.workflow-state-complete { border-left-color: #15803d !important; background: #f4fff7 !important; }
.workflow-state-pending { border-left-color: #d39b00 !important; background: #fffaf0 !important; }
.workflow-state-action { border-left-color: #b91c1c !important; background: #fff7f7 !important; }
.workflow-state-neutral { border-left-color: #5b7da3 !important; background: #f7fbff !important; }
.workflow-state-list { display: grid; gap: 10px; }
.workflow-state-card {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
}
.workflow-state-card-main { min-width: 0; flex: 1; }
.workflow-state-card h3 { margin: 0; color: #12335a; }
.workflow-state-card p { margin: 5px 0; color: #334155; }
.workflow-state-title-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.workflow-state-pill {
    display: inline-block;
    padding: 3px 9px;
    border-radius: 999px;
    border: 1px solid #cbd5e1;
    background: #f8fafc;
    color: #334155;
    font-size: 12px;
    font-weight: 900;
    white-space: nowrap;
}
.workflow-state-pill.workflow-state-complete,
.workflow-state-complete .workflow-state-pill { border-color: #86d39b; background: #eaf9ee; color: #11652d; }
.workflow-state-pill.workflow-state-pending,
.workflow-state-pending .workflow-state-pill { border-color: #e6bf58; background: #fff3c8; color: #7a5000; }
.workflow-state-pill.workflow-state-action,
.workflow-state-action .workflow-state-pill { border-color: #f0a0a0; background: #ffe9e9; color: #9a1717; }
.workflow-state-pill.workflow-state-neutral,
.workflow-state-neutral .workflow-state-pill { border-color: #b6cbe3; background: #eef5fd; color: #365978; }
.workflow-state-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
}
.workflow-state-compact { padding: 11px 12px; }
.workflow-evidence-line {
    margin-top: 8px !important;
    padding: 7px 9px;
    border: 1px solid #cbd8e6;
    border-radius: 8px;
    background: rgba(255,255,255,.8);
    color: #334155;
    font-size: .92rem;
}
.workflow-evidence-empty { color: #7f1d1d; border-color: #efb2b2; background: #fff; }
.workflow-section-heading {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 12px;
    margin-bottom: 10px;
}
.workflow-section-heading h2 { margin-bottom: 3px; }
.workflow-section-heading p { margin: 0; color: #64748b; }
.workflow-inline-state {
    margin: 9px 0;
    padding: 9px 10px;
    border: 1px solid #cbd5e1;
    border-left: 5px solid #64748b;
    border-radius: 9px;
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}
.workflow-inline-state > div:first-child { display: grid; gap: 3px; }
.workflow-inline-state span { color: #475569; font-size: .92rem; }
.dq-human-review-page .dq-audit-category { margin: 9px 0; }
.dq-human-review-page .driver-profile-panel { min-height: 0; }
@media (max-width: 1050px) {
    .workflow-state-grid-four,
    .workflow-state-grid-two { grid-template-columns: 1fr; }
    .workflow-state-card,
    .workflow-inline-state { display: block; }
    .workflow-state-actions { justify-content: flex-start; margin-top: 10px; }
}


/* STEP 6W31F - Shared DQ continuation / reviewer-authority cues */
.dq-workflow-continue{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0 14px;padding:10px 12px;border:1px solid #b9d3ea;border-radius:10px;background:#f4f9fd}
.dq-workflow-continue .muted-text{margin:0}
.workflow-review-waiting{display:inline-block;padding:8px 10px;border:1px solid #e2bd55;border-radius:8px;background:#fff7df;color:#674b00;font-weight:700;font-size:.9rem;text-align:center}
.previous-employer-review-callout{margin:10px 0}


/* Step 6W31G - shared human-first managed evidence review controls */
.managed-evidence-review-box,
.managed-evidence-upload-decision {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #d6e0ec;
    border-radius: 10px;
    background: #f8fbff;
}
.managed-evidence-upload-decision h4 { margin: 0 0 6px; }
.managed-review-confirm {
    display: block;
    font-weight: 700;
    line-height: 1.35;
    margin-bottom: 10px;
}
.managed-review-confirm input { margin-right: 7px; }
.managed-review-defects {
    margin: 8px 0 12px;
    border: 1px solid #e1e7ef;
    border-radius: 8px;
    background: #fff;
}
.managed-review-defects summary {
    cursor: pointer;
    padding: 10px 12px;
    font-weight: 700;
}
.managed-review-defect-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
    padding: 4px 12px 12px;
}
.managed-review-defect-grid label { line-height: 1.3; }
.managed-review-note { display: block; font-weight: 700; }
.managed-review-note input { width: 100%; margin-top: 5px; }
.managed-review-decision-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}
.managed-detail-exception { margin-top: 14px; }
.managed-detail-exception > summary { cursor: pointer; font-weight: 800; }
@media (max-width: 900px) {
    .managed-review-defect-grid { grid-template-columns: 1fr; }
}

/* Step 6W31H - DQ managed workflow Review Mode */
.dq-managed-review-mode {
    margin: 14px 0;
    padding: 16px;
    border: 2px solid #2d6da3;
    border-radius: 12px;
    background: #f5faff;
}
.dq-managed-review-mode-heading {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
    flex-wrap: wrap;
}
.dq-managed-review-mode h2 { margin: 3px 0 5px; }
.dq-managed-review-mode p { margin: 4px 0; }
.dq-managed-review-counts { display: flex; gap: 10px; flex-wrap: wrap; }
.dq-managed-review-counts span {
    display: inline-block;
    padding: 7px 10px;
    border: 1px solid #b9d3ea;
    border-radius: 999px;
    background: #fff;
}
.dq-review-priority-panel {
    margin: 12px 0 16px;
    padding: 14px;
    border: 2px solid #e1ad24;
    border-radius: 12px;
    background: #fffaf0;
}
.dq-review-priority-panel > h2 { margin-top: 0; }
.dq-full-workflow-tools {
    margin: 16px 0 0;
    border: 1px solid #c8d6e5;
    border-radius: 10px;
    background: #fff;
}
.dq-full-workflow-tools > summary {
    cursor: pointer;
    padding: 13px 15px;
    font-weight: 800;
    color: #123d69;
    background: #eef5fb;
    border-radius: 10px;
}
.dq-full-workflow-tools[open] > summary { border-bottom: 1px solid #c8d6e5; border-radius: 10px 10px 0 0; }
.dq-full-workflow-tools-body { padding: 14px; }
.dq-managed-no-pending .dq-workflow-continue { margin-bottom: 0; }
.managed-review-driver-confirm {
    display: block;
    margin: 8px 0 10px;
    padding: 9px 10px;
    border: 1px solid #bfd3e6;
    border-radius: 8px;
    background: #fff;
    font-weight: 700;
}
.managed-review-driver-confirm input { margin-right: 7px; }
@media (max-width: 900px) {
    .dq-managed-review-mode-heading { display: block; }
    .dq-managed-review-counts { margin-top: 10px; }
}

/* Step 6W31R8: shared D&A selected-driver approval/email workflow. */
.button.success {
    background: #258a46;
    color: #ffffff;
}
.button.success:hover,
.button.success:focus {
    background: #1d6f38;
    color: #ffffff;
}
.dna-driver-notice-panel {
    margin: 18px 0;
    border: 2px solid #b8cde3;
    border-radius: 10px;
    padding: 16px;
    background: #ffffff;
}
.dna-driver-notice-panel .section-heading-row {
    align-items: flex-start;
    gap: 18px;
}
.dna-driver-notice-table input[type="checkbox"] {
    width: 20px;
    height: 20px;
}
.dna-driver-notice-approval-box {
    margin-top: 14px;
    padding: 14px;
    border: 1px solid #d6a500;
    border-radius: 9px;
    background: #fff8cf;
}
.dna-driver-notice-approval-box > label {
    display: block;
    margin-bottom: 12px;
}
.dna-driver-notice-approval-box input[type="text"] {
    display: block;
    width: min(620px, 100%);
    margin-top: 6px;
}
.dna-driver-notice-approver-grid {
    margin: 12px 0;
    padding: 12px;
    border: 1px solid #c8d6e5;
    border-radius: 8px;
    background: #ffffff;
}
.dna-driver-notice-approver-grid > label {
    display: block;
    margin: 10px 0 0;
    font-weight: 700;
}
.dna-driver-notice-approver-grid > label:first-of-type { margin-top: 6px; }

/* ============================================================
   MCP EMPLOYEE PHONE PRESENCE - STAGE 1B
   ============================================================ */

.mcp-phone-presence {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.mcp-phone-word {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    padding: 0;
    font: inherit;
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
    cursor: pointer;
}

.mcp-phone-toggle {
    border: 1px solid rgba(255,255,255,0.48);
    border-radius: 999px;
    padding: 2px 8px;
    background: rgba(255,255,255,0.10);
    color: #ffffff;
    font-size: 11px;
    line-height: 1.5;
    font-weight: 800;
    cursor: pointer;
}

.mcp-phone-toggle.is-selected[data-phone-available] {
    background: #198754;
    border-color: #bce6ce;
}

.mcp-phone-toggle.is-selected[data-phone-not-available] {
    background: #d99a16;
    border-color: #ffe4a0;
    color: #132b46;
}

.mcp-phone-status-text {
    margin-left: 3px;
    font-size: 11px;
    font-weight: 700;
    opacity: 0.95;
}

.mcp-phone-modal {
    display: none;
    position: fixed;
    inset: 0;
    z-index: 10050;
    background: rgba(12, 31, 51, 0.62);
    padding: 28px;
    align-items: center;
    justify-content: center;
}

.mcp-phone-modal.is-open {
    display: flex;
}

.mcp-phone-modal-card {
    width: min(460px, 96vw);
    max-height: 92vh;
    overflow: auto;
    background: #ffffff;
    color: #18324e;
    border: 1px solid #b9c7d6;
    border-radius: 10px;
    box-shadow: 0 18px 60px rgba(0,0,0,0.25);
    padding: 22px;
}

.mcp-phone-modal-card h2 {
    margin: 0 0 8px 0;
    color: #123f70;
}

.mcp-phone-modal-card p {
    margin: 8px 0 16px 0;
}

.mcp-phone-choice-row {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.mcp-phone-choice {
    flex: 1 1 160px;
    min-height: 44px;
    border: 2px solid #123f70;
    border-radius: 6px;
    background: #123f70;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.mcp-phone-choice.secondary {
    background: #ffffff;
    color: #123f70;
}

.mcp-phone-reminder-choices {
    margin-top: 16px;
    padding-top: 14px;
    border-top: 1px solid #d8e0e8;
}

.mcp-phone-reminder-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 8px;
}

.mcp-phone-reminder-buttons button {
    min-height: 40px;
    border: 1px solid #123f70;
    border-radius: 6px;
    background: #f5f8fb;
    color: #123f70;
    font-weight: 800;
    cursor: pointer;
}

.mcp-phone-reminder-buttons button:last-child {
    grid-column: 1 / -1;
}

.mcp-phone-dialer-card {
    width: min(390px, 96vw);
}

.mcp-phone-dialer-field {
    display: block;
    margin: 12px 0;
    font-weight: 800;
}

.mcp-phone-dialer-field input {
    box-sizing: border-box;
    width: 100%;
    margin-top: 5px;
    padding: 10px 11px;
    border: 1px solid #9eb0c1;
    border-radius: 6px;
    font-size: 16px;
}

.mcp-phone-directory-tabs {
    display: flex;
    gap: 6px;
    margin: 10px 0 12px 0;
}

.mcp-phone-directory-tabs button {
    flex: 1;
    border: 1px solid #aab9c8;
    border-radius: 5px;
    background: #f4f7fa;
    color: #123f70;
    padding: 7px 4px;
    font-weight: 800;
}

.mcp-phone-keypad {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
    margin: 14px 0;
}

.mcp-phone-keypad button {
    min-height: 46px;
    border: 1px solid #aab9c8;
    border-radius: 7px;
    background: #f8fafc;
    color: #123f70;
    font-size: 19px;
    font-weight: 800;
    cursor: pointer;
}

.mcp-phone-dialer-tools {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

.mcp-phone-dialer-tools button {
    flex: 1;
    min-height: 38px;
    border: 1px solid #aab9c8;
    border-radius: 6px;
    background: #ffffff;
    color: #123f70;
    font-weight: 800;
}

.mcp-phone-call-disabled {
    width: 100%;
    min-height: 46px;
    border: 2px solid #9aa8b5;
    border-radius: 6px;
    background: #e8edf2;
    color: #647382;
    font-weight: 800;
    cursor: not-allowed;
}

.mcp-phone-stage-note {
    margin-top: 10px;
    font-size: 12px;
    color: #5c6d7d;
}

.mcp-phone-modal-close {
    float: right;
    appearance: none;
    border: 0;
    background: transparent;
    color: #123f70;
    font-size: 23px;
    line-height: 1;
    cursor: pointer;
}

@media (max-width: 760px) {
    .mcp-phone-presence {
        display: flex;
        margin-top: 5px;
    }

    .mcp-phone-reminder-buttons {
        grid-template-columns: 1fr;
    }

    .mcp-phone-reminder-buttons button:last-child {
        grid-column: auto;
    }
}

/* END MCP EMPLOYEE PHONE PRESENCE - STAGE 1B */

/* ============================================================
   MCP PHONE TOP BAR POLISH
   Match Logged in as / Group / Level styling.
   ============================================================ */

.mcp-phone-presence {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: inherit;
    font: inherit;
    font-size: inherit;
    line-height: inherit;
}

.mcp-phone-word {
    appearance: none;
    border: 0;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: 700;
    text-decoration: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

.mcp-phone-word:hover,
.mcp-phone-word:focus {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.mcp-phone-toggle {
    appearance: none;
    border: 1px solid transparent;
    border-radius: 3px;
    background: transparent;
    color: inherit;
    font: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: 400;
    padding: 1px 5px;
    margin: 0;
    box-shadow: none;
    cursor: pointer;
}

.mcp-phone-toggle:hover,
.mcp-phone-toggle:focus {
    background: rgba(255,255,255,0.12);
    color: inherit;
}

.mcp-phone-toggle.is-selected[data-phone-available] {
    background: rgba(73, 180, 105, 0.55);
    border-color: #9be0ae;
    color: #ffffff;
}

.mcp-phone-toggle.is-selected[data-phone-not-available] {
    background: rgba(207, 79, 79, 0.62);
    border-color: #f0aaaa;
    color: #ffffff;
}

.mcp-phone-status-text {
    color: inherit;
    font: inherit;
    font-size: inherit;
    line-height: inherit;
    font-weight: 400;
    margin-left: 3px;
}

/* END MCP PHONE TOP BAR POLISH */

/* ============================================================
   MCP PHONE MANUAL DIAL - STAGE 1D
   ============================================================ */

.mcp-phone-call-button {
    width: 100%;
    min-height: 46px;
    border: 2px solid #123f70;
    border-radius: 6px;
    background: #123f70;
    color: #ffffff;
    font-weight: 800;
    cursor: pointer;
}

.mcp-phone-call-button:hover,
.mcp-phone-call-button:focus {
    background: #0d345e;
}

.mcp-phone-call-button:disabled {
    border-color: #9aa8b5;
    background: #e8edf2;
    color: #647382;
    cursor: not-allowed;
}

/* END MCP PHONE MANUAL DIAL - STAGE 1D */
