/* The IAA Verify application stylesheet. Consolidated component and page rules; source order is intentional. */

:root {
    --iaa-blue: #082b55;
    --iaa-blue-2: #0f477e;
    --iaa-green: #86c441;
    --iaa-orange: #f08b22;
    --ink: #071b38;
    --muted: #64748b;
    --line: #dbe4ef;
    --panel: #ffffff;
    --soft: #f3f7fb;
    --success-bg: #e8f8ee;
    --success-text: #116b34;
    --warning-bg: #fff6dd;
    --warning-text: #8a5a00;
    --error-bg: #fdecec;
    --error-text: #9f1d1d;
    --info-bg: #eaf3ff;
    --info-text: #0f477e;
}

* {
    box-sizing: border-box;
}

html {
    min-height: 100%;
    background:
        radial-gradient(circle at top left, rgba(134, 196, 65, 0.18), transparent 32rem),
        radial-gradient(circle at bottom right, rgba(240, 139, 34, 0.18), transparent 28rem),
        linear-gradient(135deg, #edf4f8 0%, #f8fbff 100%);
}

body {
    margin: 0;
    min-height: 100%;
    color: var(--ink);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    line-height: 1.5;
}

.page-shell {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
    padding: 28px 0;
}

.hero-card {
    overflow: hidden;
    border: 1px solid rgba(8, 43, 85, 0.12);
    border-radius: 30px;
    background: rgba(255, 255, 255, 0.92);
    box-shadow: 0 24px 70px rgba(7, 27, 56, 0.13);
    backdrop-filter: blur(10px);
}

.brand-row {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 24px 28px;
    border-bottom: 1px solid var(--line);
}

.brand-mark {
    position: relative;
    width: 52px;
    height: 42px;
    flex: 0 0 auto;
}

.brand-slash {
    position: absolute;
    top: 4px;
    width: 13px;
    height: 34px;
    border-radius: 4px;
    transform: skewX(-20deg);
}

.slash-one {
    left: 4px;
    background: #76808e;
}

.slash-two {
    left: 18px;
    background: var(--iaa-blue-2);
}

.slash-three {
    left: 32px;
    background: var(--iaa-green);
}

.brand-copy strong,
.brand-copy span {
    display: block;
}

.brand-copy strong {
    font-size: 16px;
    letter-spacing: -0.01em;
}

.brand-copy span {
    color: var(--muted);
    font-size: 13px;
}

.content-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: 34px;
    padding: 42px;
}

.intro-panel {
    padding: 20px 0;
}

.eyebrow {
    display: inline-flex;
    margin: 0 0 18px;
    padding: 7px 12px;
    border-radius: 999px;
    background: var(--success-bg);
    color: var(--success-text);
    font-weight: 800;
    font-size: 13px;
}

h1,
h2 {
    margin: 0;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

h1 {
    max-width: 620px;
    font-size: clamp(36px, 6vw, 64px);
}

h2 {
    font-size: 26px;
}

.lead {
    max-width: 640px;
    margin: 24px 0;
    color: #334155;
    font-size: clamp(17px, 2vw, 20px);
}

.trust-list {
    display: grid;
    gap: 12px;
    max-width: 580px;
    margin-top: 28px;
}

.trust-list div {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 14px 16px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: #f9fbfd;
    color: #26364b;
    font-weight: 650;
}

.tick {
    display: inline-grid;
    place-items: center;
    width: 24px;
    height: 24px;
    flex: 0 0 auto;
    border-radius: 999px;
    background: var(--iaa-green);
    color: #fff;
    font-size: 14px;
    font-weight: 900;
}

.checker-panel {
    align-self: start;
    padding: 28px;
    border: 1px solid var(--line);
    border-radius: 24px;
    background:
        linear-gradient(180deg, #ffffff 0%, #f7faff 100%);
    box-shadow: 0 16px 40px rgba(8, 43, 85, 0.08);
}

.form-help {
    margin: 10px 0 24px;
    color: var(--muted);
}

label {
    display: block;
    margin: 18px 0 8px;
    color: #19304f;
    font-weight: 800;
}

input,select {
    width: 100%;
    min-height: 54px;
    padding: 13px 15px;
    border: 1px solid #c9d6e5;
    border-radius: 14px;
    background: #fff;
    color: var(--ink);
    font: inherit;
    font-size: 18px;
    outline: none;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

input:focus {
    border-color: var(--iaa-blue-2);
    box-shadow: 0 0 0 4px rgba(15, 71, 126, 0.14);
}

button,
.result-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 54px;
    margin-top: 22px;
    padding: 13px 18px;
    border: 0;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--iaa-blue) 0%, var(--iaa-blue-2) 100%);
    color: #fff;
    cursor: pointer;
    font: inherit;
    font-weight: 900;
    text-decoration: none;
    box-shadow: 0 12px 24px rgba(8, 43, 85, 0.22);
}

button:hover,
.result-button:hover {
    filter: brightness(1.05);
}

button:disabled {
    cursor: wait;
    opacity: 0.72;
}

.notice {
    border-radius: 16px;
    font-size: 15px;
}

.notice p {
    margin: 8px 0 0;
}

.notice-success {
    background: var(--success-bg);
    color: var(--success-text);
}

.notice-warning {
    background: var(--warning-bg);
    color: var(--warning-text);
}

.notice-error {
    background: var(--error-bg);
    color: var(--error-text);
}

.notice-info {
    background: var(--info-bg);
    color: var(--info-text);
}

.notice .result-button {
    width: auto;
    margin-top: 8px;
    min-height: 44px;
    padding: 10px 14px;
    border-radius: 12px;
    font-size: 14px;
}

.small-muted {
    color: inherit;
    opacity: 0.8;
    font-size: 13px;
}

.footer-note {
    max-width: 820px;
    margin: 18px auto 0;
    color: #55657a;
    text-align: center;
    font-size: 14px;
}

@media (max-width: 820px) {
    .page-shell {
        width: min(100% - 22px, 640px);
        padding: 12px 0 22px;
    }

    .hero-card {
        border-radius: 24px;
    }

    .brand-row {
        padding: 18px;
    }

    .content-grid {
        grid-template-columns: 1fr;
        gap: 12px;
        padding: 22px 18px 24px;
    }

    .intro-panel {
        padding: 0;
    }

    .lead {
        margin: 18px 0;
    }

    .trust-list {
        margin-top: 18px;
    }

    .checker-panel {
        padding: 20px;
        border-radius: 20px;
    }
}

/* Signup additions */
.top-nav {
    flex-wrap: wrap;
}

.top-nav a {
    display: inline-flex;
    align-items: center;
}

.signup-grid {
    align-items: start;
}

.signup-panel h3 {
    margin: 22px 0 6px;
    font-size: 1.05rem;
}

.info-box {
    margin-top: 22px;
    padding: 18px;
    border-radius: 18px;
    background: rgba(8, 43, 85, 0.06);
    border: 1px solid rgba(8, 43, 85, 0.10);
}

.info-box ul {
    margin: 8px 0 14px 20px;
    padding: 0;
}

.route-choice {
    margin: 0 0 18px;
    padding: 0;
    border: 0;
}

.route-choice legend {
    margin-bottom: 10px;
    font-weight: 800;
}

.choice-card {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 12px;
    align-items: start;
    margin-bottom: 10px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 16px;
    background: var(--soft);
    cursor: pointer;
}

.choice-card input {
    width: auto;
    margin-top: 4px;
}

.choice-card strong,
.choice-card small {
    display: block;
}

.choice-card small {
    color: var(--muted);
    line-height: 1.35;
}

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

.form-divider {
    margin: 22px 0;
    border: 0;
    border-top: 1px solid var(--line);
}

.inline-action {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 10px;
    align-items: end;
}

.secondary-button {
    min-height: 48px;
    border: 1px solid rgba(8, 43, 85, 0.18);
    border-radius: 14px;
    padding: 0 16px;
    font-weight: 800;
    cursor: pointer;
}

.secondary-button:hover {
    background: #f7fbff;
}

.checkbox-row {
    display: grid;
    grid-template-columns: auto 1fr;
    gap: 10px;
    align-items: start;
    margin: 16px 0 20px;
    color: var(--muted);
    font-size: 0.95rem;
}

.checkbox-row input {
    width: auto;
    margin-top: 4px;
}

.mini-result {
    margin-top: 10px;
}

@media (max-width: 760px) {

    .form-row.two-col,
    .inline-action {
        grid-template-columns: 1fr;
    }

    .secondary-button {
        width: 100%;
    }
}
.brand-home {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: inherit;
    text-decoration: none;
}

.top-nav {
    margin-left: auto;
    display: inline-flex;
    gap: 4px;
    padding: 5px;
    border: 1px solid rgba(8, 43, 85, 0.12);
    border-radius: 999px;
    background: #f3f7fb;
    box-shadow: inset 0 1px 2px rgba(8, 43, 85, 0.04);
}

.top-nav a {
    min-height: 34px;
    padding: 7px 14px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: #334155;
    font-size: 14px;
    font-weight: 850;
    text-decoration: none;
    white-space: nowrap;
}

.top-nav a:hover {
    background: rgba(255, 255, 255, 0.8);
    color: var(--iaa-blue);
}

.top-nav a[aria-current="page"] {
    box-shadow: 0 4px 10px rgba(8, 43, 85, 0.18);
}

.privacy-note {
    max-width: 580px;
    margin: 20px 0 0;
    color: #55657a;
    font-size: 15px;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.route-tabs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 8px;
    padding: 6px;
    border: 1px solid var(--line);
    border-radius: 18px;
    background: #f3f7fb;
}

.route-tabs .choice-card {
    position: relative;
    display: block;
    min-height: 92px;
    margin: 0;
    padding: 15px 14px;
    border: 1px solid transparent;
    border-radius: 14px;
    background: transparent;
    cursor: pointer;
    transition: background 0.15s ease, border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.route-tabs .choice-card:hover {
    background: rgba(255, 255, 255, 0.75);
}

.route-tabs .choice-card input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.route-tabs .choice-card strong {
    display: block;
    margin-bottom: 4px;
    color: #19304f;
    font-size: 15px;
    line-height: 1.2;
}

.route-tabs .choice-card small {
    display: block;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.35;
}

.route-tabs .choice-card:has(input:checked) {
    background: #fff;
    border-color: rgba(8, 43, 85, 0.18);
    box-shadow: 0 8px 20px rgba(8, 43, 85, 0.10);
}

.route-tabs .choice-card:has(input:checked)::after {
    content: "";
    position: absolute;
    top: 12px;
    right: 12px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--iaa-green);
    box-shadow: 0 0 0 4px rgba(134, 196, 65, 0.16);
}

.label-optional {
    color: var(--muted);
    font-weight: 700;
    font-size: 13px;
}

.compact-checkbox {
    margin-top: 14px;
}

.inline-action .secondary-button {
    width: auto;
    min-width: 92px;
    margin-top: 0;
    box-shadow: none;
}

.signup-panel .primary-button {
    margin-top: 10px;
}

@media (max-width: 760px) {
    .brand-row {
        flex-wrap: wrap;
        align-items: center;
    }

    .brand-home {
        flex: 1 1 100%;
    }

    .top-nav {
        width: 100%;
        margin-left: 0;
        display: grid;
        grid-template-columns: 1fr 1fr;
    }

    .top-nav a {
        justify-content: center;
    }

    .route-tabs {
        grid-template-columns: 1fr;
    }

    .route-tabs .choice-card {
        min-height: auto;
        padding-right: 36px;
    }
}
.signup-panel label[for="national_insurance_number"] {
    margin-top: 18px;
}

.full-width-input {
    width: 100%;
}

#company_number_block[hidden],
#company_confirmed_actions[hidden],
#manual_installer_fields[hidden] {
    display: none !important;
}

.compact-checkbox {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 18px 0 20px;
    padding: 14px 16px;
    border-radius: 16px;
    background: #f8fbff;
    border: 1px solid var(--line);
    color: #3b4b61;
    font-weight: 750;
}

.compact-checkbox input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    display: inline-grid;
    place-content: center;
    width: 22px;
    height: 22px;
    min-height: 22px;
    flex: 0 0 22px;
    margin: 0;
    padding: 0;
    border: 2px solid #b6c6d8;
    border-radius: 7px;
    background: #fff;
    cursor: pointer;
}

.compact-checkbox input[type="checkbox"]::before {
    content: "";
    width: 11px;
    height: 11px;
    transform: scale(0);
    transition: transform 0.12s ease-in-out;
    clip-path: polygon(14% 44%, 0 59%, 41% 100%, 100% 21%, 84% 8%, 38% 68%);
    background: #fff;
}

.compact-checkbox input[type="checkbox"]:checked {
    border-color: var(--iaa-green);
    background: var(--iaa-green);
}

.compact-checkbox input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.compact-checkbox span {
    line-height: 1.35;
}

.text-button {
    width: auto;
    min-height: 0;
    margin-top: 12px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--iaa-blue);
    box-shadow: none;
    cursor: pointer;
    font: inherit;
    font-weight: 850;
    text-align: left;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.text-button:hover {
    filter: none;
    color: var(--iaa-blue-2);
}

.danger-text {
    color: #9f1d1d;
}

.manual-toggle {
    display: inline-flex;
    margin-top: 14px;
}

.manual-installer-fields {
    margin-top: 16px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.manual-installer-fields label:first-of-type {
    margin-top: 0;
}

/* v0.18.72.1: optional installer details are a flat, collapsed signup section. */
.signup-installer-section {
    margin: 0;
    padding: 0;
    border: 0;
}

.signup-installer-section > summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 10px;
    min-height: 44px;
    margin: 0;
    padding: 0;
    color: var(--iaa-blue);
    cursor: pointer;
    list-style: none;
}

.signup-installer-section > summary::-webkit-details-marker {
    display: none;
}

.signup-installer-section > summary::after {
    content: "";
    width: 9px;
    height: 9px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-2px);
    transform-origin: center;
    transition: transform .15s ease;
}

.signup-installer-section[open] > summary::after {
    transform: rotate(225deg) translate(-1px, -1px);
}

.signup-installer-summary-title {
    font-size: 16px;
    font-weight: 900;
}

.signup-installer-summary-action {
    color: #49627f;
    font-size: 13px;
    font-weight: 800;
}

.signup-installer-section > summary:hover .signup-installer-summary-title,
.signup-installer-section > summary:focus-visible .signup-installer-summary-title {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.signup-installer-section > summary:focus-visible {
    outline: 2px solid rgba(8, 43, 85, .28);
    outline-offset: 5px;
    border-radius: 2px;
}

.signup-installer-section .when-open {
    display: none;
}

.signup-installer-section[open] .when-closed {
    display: none;
}

.signup-installer-section[open] .when-open {
    display: inline;
}

.signup-installer-fields {
    padding: 10px 0 2px;
}

.signup-installer-help {
    margin: 0 0 18px;
}

.signup-consent-divider {
    margin-bottom: 18px;
}

.signup-consent.compact-checkbox {
    align-items: flex-start;
    margin: 0 0 18px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #31435b;
}

.signup-consent.compact-checkbox input[type="checkbox"] {
    margin-top: 2px;
}

@media (max-width: 520px) {
    .signup-installer-section > summary {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .signup-installer-summary-action {
        display: none;
    }
}

.company-summary {
    display: grid;
    gap: 10px;
}

.company-summary-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.company-summary-head strong {
    color: #10284a;
    font-size: 16px;
}

.company-summary-head span {
    flex: 0 0 auto;
    padding: 4px 8px;
    border-radius: 999px;
    background: #eef3f8;
    color: #3d5068;
    font-size: 12px;
    font-weight: 850;
}

.company-status {
    display: inline-flex;
    width: max-content;
    padding: 5px 9px;
    border-radius: 999px;
    font-size: 12px;
    font-weight: 900;
    text-transform: capitalize;
}

.company-status-ok {
    background: var(--success-bg);
    color: var(--success-text);
}

.company-status-blocked {
    background: var(--error-bg);
    color: var(--error-text);
}

.company-summary address {
    margin: 0;
    color: #31435b;
    font-style: normal;
    line-height: 1.45;
}

.company-help,
.company-warning {
    margin: 10px 0 0;
    font-size: 14px;
    line-height: 1.45;
}

.company-help {
    color: var(--success-text);
}

.company-warning {
    color: var(--error-text);
    font-weight: 800;
}

.company-confirmed-actions {
    margin-bottom: 8px;
}

#company_number[readonly] {
    background: #f3f7fb;
    color: #64748b;
}

@media (max-width: 760px) {
    .company-summary-head {
        display: grid;
        gap: 8px;
    }

    .company-summary-head span {
        width: max-content;
    }
}

/* Installer admin workspace */
.hidden{display:none!important}.installer-login-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(320px,.7fr);gap:28px;align-items:start}.admin-hero-bar{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-top:16px;padding:22px;border-radius:24px;background:linear-gradient(135deg,#12385c,#2f6f9f);color:#fff}.admin-hero-bar h1{margin:0;color:#fff}.admin-hero-bar .form-help,.admin-hero-bar .eyebrow{color:rgba(255,255,255,.82)}.installer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:22px}.admin-panel{background:#fff;border:1px solid rgba(18,56,92,.12);box-shadow:0 16px 45px rgba(18,56,92,.08)}.admin-panel.span-2{grid-column:span 2}.admin-panel h2{margin:0 0 8px;color:#12385c}.panel-heading{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.admin-list{display:grid;gap:10px;margin-top:14px}.admin-user-row,.admin-accreditation-row{width:100%;border:1px solid rgba(18,56,92,.1);background:#f7fafc;border-radius:16px;padding:14px;text-align:left;display:flex;align-items:center;justify-content:space-between;gap:14px}.admin-user-row{cursor:pointer}.admin-user-row.active{border-color:#2f6f9f;background:#eef7ff}.admin-user-row b,.admin-accreditation-row b{display:block;color:#12385c}.admin-user-row span,.admin-accreditation-row span{display:block;color:#5b6b7d;font-size:13px;margin-top:3px}.secondary-button,.danger-button{border:0;border-radius:999px;padding:10px 14px;font-weight:800;cursor:pointer}.secondary-button{background:#eef3f7;color:#12385c}.danger-button{background:#fff1f1;color:#9e1b1b}.empty-state{margin:0;color:#5b6b7d;background:#f7fafc;border-radius:16px;padding:16px}.admin-panel label{display:block;margin-top:12px;font-weight:700;color:#12385c}.admin-panel input,.admin-panel select{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid rgba(18,56,92,.18);border-radius:14px;padding:12px 13px;font:inherit}.admin-panel button:not(.secondary-button):not(.danger-button){margin-top:14px;width:100%}.top-nav a[aria-current="page"]{background:#12385c;color:#fff}@media(max-width:850px){.installer-login-layout,.installer-grid{grid-template-columns:1fr}.admin-panel.span-2{grid-column:auto}.admin-hero-bar,.panel-heading,.admin-accreditation-row{flex-direction:column;align-items:stretch}.installer-admin-card{padding:18px}}.installer-admin-card{padding:18px 28px 26px}.compact-admin-hero{margin-top:10px}.compact-admin-hero h1{line-height:1.02;max-width:720px}.compact-admin-hero .secondary-button{width:auto;min-width:180px;margin-top:0;background:#eef3f7;color:#12385c;box-shadow:none}.installer-admin-layout{margin-top:18px}.users-panel,.accreditations-panel{grid-column:1}.add-panel,.create-skill-panel{grid-column:2}.panel-heading.compact-heading{align-items:center}.panel-heading.compact-heading h2{margin-bottom:4px}.panel-heading.compact-heading p{margin:0;color:#5b6b7d}.slim-button{width:auto!important;min-height:42px;margin-top:0!important;box-shadow:none}.table-tools{margin:12px 0}.table-tools input{min-height:44px;font-size:15px}.admin-table{border-spacing:0;font-size:14px}.admin-table th{position:sticky;top:0;z-index:1;background:#eef5fb;color:#12385c;text-align:left;padding:10px 12px;font-size:13px}.admin-table td{padding:11px 12px;border-top:1px solid rgba(18,56,92,.08);vertical-align:middle}.admin-table tr.admin-user-row{cursor:pointer}.admin-table tr.admin-user-row:hover td{background:#f7fbff}.admin-table tr.admin-user-row.active td{background:#eaf5ff}.admin-table b{color:#12385c}.empty-cell{color:#5b6b7d;text-align:center;padding:22px!important}.status-pill{display:inline-flex;align-items:center;border-radius:999px;padding:5px 9px;background:#eef3f7;color:#12385c;font-weight:800;font-size:12px}.status-active{background:#e7f7ee;color:#17643a}.status-suspended{background:#fff1f1;color:#9e1b1b}.admin-accreditation-row{padding:12px 14px}.compact-action{width:auto!important;min-width:110px;margin-top:0!important;box-shadow:none}.admin-panel input[type="hidden"]{display:none}.create-skill-panel,.add-panel{align-self:start}.add-panel .form-row.two-col{gap:10px}.add-panel button,.create-skill-panel button{min-height:48px}.result-area{margin-top:12px}.notice{padding:12px 14px}@media(max-width:920px){.installer-admin-layout{grid-template-columns:1fr}.users-panel,.accreditations-panel,.add-panel,.create-skill-panel{grid-column:auto}.compact-admin-hero{flex-direction:column;align-items:stretch}.compact-admin-hero .secondary-button{width:100%}.admin-table-wrap{max-height:320px}}
.installer-admin-card{width:100%;box-sizing:border-box;}
.users-panel{min-width:0;}
.admin-table-wrap{overflow-x:auto;}
.admin-table{min-width:720px;}
.admin-table th,.admin-table td{box-sizing:border-box;overflow-wrap:anywhere;}
.admin-table th:nth-child(1),.admin-table td:nth-child(1){width:34%;}
.admin-table th:nth-child(2),.admin-table td:nth-child(2){width:32%;}
.admin-table th:nth-child(3),.admin-table td:nth-child(3){width:20%;}
.admin-table th:nth-child(4),.admin-table td:nth-child(4){width:14%;text-align:left;}
.admin-table tr.admin-user-row{display:table-row;width:auto;border:0;background:transparent;border-radius:0;padding:0;text-align:left;}
.admin-table tr.admin-user-row td{display:table-cell;}
.admin-table tr.admin-user-row.active td{border-top-color:rgba(47,111,159,.24);border-bottom:1px solid rgba(47,111,159,.16);}
.admin-table tr.admin-user-row.active td:first-child{border-left:2px solid #2f6f9f;}
.admin-table tr.admin-user-row.active td:last-child{border-right:2px solid #2f6f9f;}
.add-panel{position:sticky;top:16px;}
.create-skill-panel{display:none!important;}
.modal-backdrop{place-items:center;}
.modal-card{border:1px solid rgba(18,56,92,.12);}
.modal-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px;}
.modal-head h2{margin:0;color:#12385c;}
.icon-button{border:0;border-radius:999px;width:40px;height:40px;font-size:26px;line-height:1;background:#eef3f7;color:#12385c;cursor:pointer;}
.modal-card label{display:block;margin-top:14px;font-weight:800;color:#12385c;}
.modal-card input{width:100%;box-sizing:border-box;margin-top:6px;border:1px solid rgba(18,56,92,.18);border-radius:14px;padding:12px 13px;font:inherit;}
.modal-card button:not(.icon-button){margin-top:16px;width:100%;}
@media(max-width:980px){.installer-admin-layout{grid-template-columns:1fr}.add-panel{position:static}.admin-table{min-width:620px}}.admin-tab{border:1px solid rgba(15,23,42,.16);background:#fff;color:#0f172a;font-weight:700;cursor:pointer}.admin-tab.active{background:#0f172a;color:#fff}.admin-filter-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem;margin:.8rem 0}.admin-filter-grid input,.admin-filter-grid select{width:100%}.admin-detail-grid{display:grid;grid-template-columns:minmax(280px,1fr) minmax(280px,1fr);gap:1rem}.compact-form h3{margin-top:0}.action-pair{display:flex;gap:.5rem;flex-wrap:wrap}.admin-table code{white-space:pre-wrap;word-break:break-word;font-size:.78rem}.admin-tab-panel.hidden,#org_edit.hidden,#admin_new_skill_box.hidden{display:none!important}@media(max-width:900px){.admin-filter-grid,.admin-detail-grid{grid-template-columns:1fr}.admin-tabs{align-items:stretch}.admin-tab{flex:1}}
.admin-shell{
    width:min(1320px, calc(100% - 28px));
    padding:12px 0 20px;
}
#admin-app.installer-app{
    margin-top:0;
}
#admin-app .admin-hero-bar{
    min-height:0;
    align-items:center;
    margin:0 0 12px;
    padding:14px 18px;
    border-radius:16px;
}
#admin-app .admin-hero-bar .eyebrow{
    display:none;
}
#admin-app .admin-hero-bar h1{
    font-size:28px;
    line-height:1.1;
    margin:0;
}
#admin-app .admin-hero-bar .form-help{
    margin:.25rem 0 0;
    font-size:14px;
}
#admin-app .admin-hero-bar .secondary-button{
    width:auto;
    min-width:116px;
    min-height:40px;
    margin:0;
    padding:8px 16px;
    box-shadow:none;
}
#admin-app .admin-tabs{
    display:flex;
    align-items:center;
    justify-content:flex-start;
    gap:8px;
    flex-wrap:wrap;
    margin:0 0 12px;
    padding:8px;
    border:1px solid rgba(18,56,92,.10);
    border-radius:16px;
    background:#fff;
    box-shadow:0 8px 22px rgba(18,56,92,.06);
}
#admin-app .admin-tab{
    width:auto;
    min-height:38px;
    margin:0;
    padding:8px 14px;
    border-radius:999px;
    box-shadow:none;
    background:#eef3f7;
    color:#12385c;
}
#admin-app .admin-tab.active{
    background:#12385c;
    color:#fff;
}
#admin-app .admin-panel{
    border-radius:16px;
    padding:16px;
    box-shadow:0 8px 28px rgba(18,56,92,.06);
}
#admin-app .admin-tab-panel{
    margin-top:0;
}
#admin-app .panel-heading.compact-heading h2,
#admin-app .admin-panel h2{
    font-size:22px;
    line-height:1.2;
}
#admin-app .admin-filter-grid{
    margin:.6rem 0;
}
@media(max-width:900px){
    #admin-app .admin-hero-bar{
        align-items:stretch;
        flex-direction:column;
    }
    #admin-app .admin-hero-bar .secondary-button{
        width:100%;
    }
    #admin-app .admin-tab{
        flex:1 1 auto;
    }
}
#admin-app .admin-table-wrap{
    max-height:360px;
    overflow:auto;
    border-radius:12px;
}
#admin-app .admin-table{
    table-layout:auto;
    min-width:0;
    width:100%;
    border-collapse:collapse;
}
#admin-app .admin-table th,
#admin-app .admin-table td{
    padding:9px 12px;
    line-height:1.35;
    vertical-align:top;
    white-space:normal;
    overflow-wrap:anywhere;
}
#admin-app .admin-table tbody tr{
    height:auto!important;
}
#admin-app .admin-table tr.admin-user-row{
    display:table-row!important;
    border:0!important;
    border-radius:0!important;
    padding:0!important;
    background:transparent!important;
}
#admin-app .admin-table tr.admin-user-row td{
    display:table-cell!important;
    background:#fff;
}
#admin-app .admin-table tr.admin-user-row:hover td{
    background:#f7fbff!important;
}
#admin-app .admin-table tr.admin-user-row.active td{
    background:#eaf5ff!important;
}
#admin-app .admin-table-users{
    table-layout:fixed;
    min-width:960px;
}
#admin-app .admin-table-users th,
#admin-app .admin-table-users td{
    white-space:nowrap;
    overflow:hidden;
    overflow-wrap:normal;
    text-overflow:ellipsis;
}
#admin-app .admin-table-users th:nth-child(1),
#admin-app .admin-table-users td:nth-child(1){width:20%;}
#admin-app .admin-table-users th:nth-child(2),
#admin-app .admin-table-users td:nth-child(2){width:24%;}
#admin-app .admin-table-users th:nth-child(3),
#admin-app .admin-table-users td:nth-child(3){width:10%;}
#admin-app .admin-table-users th:nth-child(4),
#admin-app .admin-table-users td:nth-child(4){width:12%;}
#admin-app .admin-table-users th:nth-child(5),
#admin-app .admin-table-users td:nth-child(5){width:16%;}
#admin-app .admin-table-users th:nth-child(6),
#admin-app .admin-table-users td:nth-child(6){width:18%;}
#admin-app .admin-table-orgs th:nth-child(1),
#admin-app .admin-table-orgs td:nth-child(1){width:28%;}
#admin-app .admin-table-orgs th:nth-child(2),
#admin-app .admin-table-orgs td:nth-child(2){width:20%;}
#admin-app .admin-table-orgs th:nth-child(3),
#admin-app .admin-table-orgs td:nth-child(3){width:26%;}
#admin-app .admin-table-orgs th:nth-child(4),
#admin-app .admin-table-orgs td:nth-child(4){width:12%;}
#admin-app .admin-table-orgs th:nth-child(5),
#admin-app .admin-table-orgs td:nth-child(5){width:14%;}
#admin-app .admin-table-audit th:nth-child(1),
#admin-app .admin-table-audit td:nth-child(1){width:16%;}
#admin-app .admin-table-audit th:nth-child(2),
#admin-app .admin-table-audit td:nth-child(2){width:18%;}
#admin-app .admin-table-audit th:nth-child(3),
#admin-app .admin-table-audit td:nth-child(3){width:22%;}
#admin-app .admin-table-audit th:nth-child(4),
#admin-app .admin-table-audit td:nth-child(4){width:44%;}
#admin-app .empty-cell{
    padding:18px!important;
}
#admin-app .admin-detail-grid{
    grid-template-columns:repeat(3,minmax(280px,1fr));
    align-items:start;
}
#admin-app .compact-form,
#admin-app .admin-edit-form,
#admin-app .admin-message-form{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    column-gap:14px;
    row-gap:10px;
    align-items:center;
}
#admin-app .compact-form h3,
#admin-app .compact-form .result-area,
#admin-app .compact-form .action-pair,
#admin-app .compact-form button,
#admin-app .compact-form #admin_new_skill_box,
#admin-app .admin-message-form .action-pair,
#admin-app .admin-message-form .result-area{
    grid-column:1 / -1;
}
#admin-app .compact-form label,
#admin-app .admin-message-form label{
    margin:0;
    font-weight:800;
}
#admin-app .compact-form input,
#admin-app .compact-form select,
#admin-app .compact-form textarea,
#admin-app .admin-panel textarea{
    width:100%;
    box-sizing:border-box;
    margin:0;
    border:1px solid rgba(18,56,92,.18);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
}
#admin-app .compact-form textarea,
#admin-app .admin-message-form textarea{
    min-height:96px;
    resize:vertical;
}
#admin-app .compact-form button:not(.secondary-button):not(.danger-button),
#admin-app .admin-message-form button:not(.secondary-button):not(.danger-button){
    margin-top:4px;
}
#admin-app #admin_new_skill_box{
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    column-gap:14px;
    row-gap:10px;
    padding:12px;
    border:1px solid rgba(18,56,92,.12);
    border-radius:12px;
    background:#f7fafc;
}
#admin-app #admin_new_skill_box.hidden{display:none!important;}
#admin-app #admin_new_skill_box button{grid-column:1 / -1;}
#admin-app .selected-message-panel{
    background:#fbfdff;
}
#admin-app #tab-messages .admin-message-form{
    max-width:900px;
}
@media(max-width:1100px){
    #admin-app .admin-detail-grid{grid-template-columns:1fr 1fr;}
    #admin-app .selected-message-panel{grid-column:1 / -1;}
}
@media(max-width:760px){
    #admin-app .admin-detail-grid{grid-template-columns:1fr;}
    #admin-app .compact-form,
    #admin-app .admin-edit-form,
    #admin-app .admin-message-form,
    #admin-app #admin_new_skill_box{grid-template-columns:1fr;}
    #admin-app .admin-table{min-width:720px;}
}
.admin-shell{padding-top:12px;}
.admin-shell .installer-admin-card{padding:14px 16px 18px;border-radius:18px;}
.compact-admin-hero{padding:14px 18px;min-height:0;border-radius:16px;margin-bottom:14px;align-items:center;}
.compact-admin-hero h1{font-size:clamp(1.6rem,2.2vw,2.3rem);margin:2px 0 2px;}
.compact-admin-hero .eyebrow{margin-bottom:2px;}
.admin-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 14px;}
.admin-tab{width:auto;min-width:0;padding:9px 14px;border-radius:999px;box-shadow:none;}
.admin-panel{padding:14px;border-radius:16px;}
.panel-heading.compact-heading{margin-bottom:10px;}
.admin-filter-grid-wide{grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) minmax(180px,1fr) minmax(180px,1fr) minmax(160px,1fr) auto;align-items:center;}
.admin-search-actions{display:flex;align-items:center;gap:14px;margin:8px 0 10px;}
.admin-search-actions .secondary-button{width:auto;min-width:180px;padding:10px 16px;}
.admin-table-wrap{max-height:360px;overflow:auto;border:1px solid var(--border,#d5e0ec);border-radius:14px;background:#fff;}
.admin-table{width:100%;border-collapse:collapse;table-layout:fixed;}
.admin-table th,.admin-table td{padding:10px 12px;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.admin-table thead th{position:sticky;top:0;z-index:1;background:#edf5fc;font-size:.78rem;text-align:left;}
.admin-table tbody tr{height:44px;}
.admin-table tbody tr:hover{background:#f6fbff;}
.admin-table-users th:nth-child(1),.admin-table-users td:nth-child(1){width:28%;}
.admin-table-users th:nth-child(2),.admin-table-users td:nth-child(2){width:30%;}
.admin-table-users th:nth-child(3),.admin-table-users td:nth-child(3){width:14%;}
.admin-table-users th:nth-child(4),.admin-table-users td:nth-child(4){width:14%;}
.admin-table-users th:nth-child(5),.admin-table-users td:nth-child(5){width:14%;}
.admin-table-orgs th:nth-child(1),.admin-table-orgs td:nth-child(1){width:26%;}
.admin-table-orgs th:nth-child(2),.admin-table-orgs td:nth-child(2){width:22%;}
.admin-table-orgs th:nth-child(3),.admin-table-orgs td:nth-child(3){width:28%;}
.admin-table-orgs th:nth-child(4),.admin-table-orgs td:nth-child(4){width:12%;}
.admin-table-orgs th:nth-child(5),.admin-table-orgs td:nth-child(5){width:12%;}
.admin-table-audit th:nth-child(1),.admin-table-audit td:nth-child(1){width:16%;}
.admin-table-audit th:nth-child(2),.admin-table-audit td:nth-child(2){width:22%;}
.admin-table-audit th:nth-child(3),.admin-table-audit td:nth-child(3){width:22%;}
.admin-table-audit th:nth-child(4),.admin-table-audit td:nth-child(4){width:40%;white-space:normal;}
.admin-detail-two-col{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px;align-items:start;}
.compact-form{display:grid;grid-template-columns:145px minmax(0,1fr);gap:10px 12px;align-items:center;}
.compact-form h3,.compact-form h2,.compact-form .form-help,.compact-form .result-area{grid-column:1/-1;}
.compact-form label{margin:0;font-size:.8rem;font-weight:750;}
.compact-form input,.compact-form select,.compact-form textarea{width:100%;min-height:38px;padding:8px 10px;border-radius:10px;font-size:.9rem;}
.compact-form button{grid-column:2/3;width:100%;min-height:38px;padding:9px 12px;}
.compact-form .action-pair{grid-column:2/3;display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.compact-form .smart-field{width:100%;}
.admin-wide-panel{margin-top:14px;}
.admin-wide-panel .admin-accreditation-row{padding:10px 12px;}
.admin-accreditation-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;}
.admin-accreditation-row span{display:block;font-size:.8rem;color:#52677f;margin-top:3px;}
.admin-accreditation-row .action-pair{display:flex;gap:8px;}
.admin-accreditation-row .compact-action{width:auto;min-width:82px;padding:8px 10px;}
.smart-field input[type="search"]{width:100%;}
.modal-backdrop{position:fixed;inset:0;background:rgba(4,18,38,.48);z-index:1000;display:flex;align-items:center;justify-content:center;padding:20px;}
.modal-backdrop.hidden{display:none;}
.modal-card{position:relative;width:min(620px,96vw);background:#fff;border-radius:18px;box-shadow:0 22px 70px rgba(6,32,65,.35);padding:22px;}
.modal-card h2{margin:0 0 12px;font-size:1.35rem;}
.modal-close{position:absolute;right:12px;top:10px;width:34px;height:34px;border-radius:50%;padding:0;background:#eef4fa;color:#0b315d;box-shadow:none;}
.modal-card .compact-form{grid-template-columns:110px minmax(0,1fr);}
.modal-card textarea{resize:vertical;min-height:110px;}
.admin_users_result_loaded #message_search_results{display:inline-flex;}
@media (max-width:900px){
  .admin-filter-grid-wide{grid-template-columns:1fr;}
  .admin-detail-two-col{grid-template-columns:1fr;}
  .compact-form,.modal-card .compact-form{grid-template-columns:1fr;}
  .compact-form button,.compact-form .action-pair{grid-column:1/-1;}
  .admin-accreditation-row{grid-template-columns:1fr;}
  .admin-table{min-width:820px;}
}
#message_search_results{display:inline-flex;}
.admin-shell{max-width:1380px;}
#installer-app .accreditations-panel{grid-column:1 / -1;}
#installer-app .admin-table-wrap{max-height:340px;}
#installer-app .installer-search-actions{margin-top:10px;justify-content:space-between;}
#installer-app .installer-search-actions .secondary-button{width:auto;min-width:180px;}
#admin-app .admin-filter-grid-wide{grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) minmax(160px,1fr) minmax(160px,1fr) minmax(130px,.8fr) minmax(150px,.9fr) auto;}
#admin-app .admin-search-actions{justify-content:space-between;margin:10px 0 0;}
#admin-app .admin-detail-two-col{width:100%;}
#admin-app .checker-panel.compact-form{box-shadow:0 10px 28px rgba(18,56,92,.08);}
#admin-app .modal-close,.modal-close,#installer-app .icon-button,.icon-button{width:34px!important;height:34px!important;min-height:34px!important;min-width:34px!important;margin:0!important;padding:0!important;border-radius:999px!important;box-shadow:none!important;display:inline-grid!important;place-items:center!important;line-height:1!important;}
.modal-card:before{content:none!important;display:none!important;}
.modal-card .compact-form textarea,#admin-app .compact-form textarea,#installer-app .compact-form textarea{border:1px solid rgba(18,56,92,.18);border-radius:12px;padding:10px 12px;font:inherit;background:#fff;}
.muted-text{color:#6b7a8d;}
@media(max-width:900px){#admin-app .admin-filter-grid-wide{grid-template-columns:1fr;}}
#installer-app .compact-admin-hero{margin:6px 0 10px!important;}
#installer-app .compact-admin-hero .eyebrow,#installer-app .compact-admin-hero .form-help{font-size:.82rem!important;}
#installer-app .compact-admin-hero .secondary-button{min-width:120px!important;min-height:36px!important;}
#installer-app .selected-user-panel,#installer-app .add-panel{grid-column:auto!important;align-self:start;}
#installer-app .accreditations-panel,#installer-app #installer_cpd_panel{grid-column:1/-1!important;}
.selected-user-card{display:block;}
.selected-user-summary{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;align-items:start;}
.selected-user-summary h2{margin:0 0 8px;color:#12385c;}
.selected-user-summary dl{display:grid;grid-template-columns:90px minmax(0,1fr);gap:6px 10px;margin:0;}
.selected-user-summary dt{font-weight:800;color:#12385c;font-size:.82rem;}
.selected-user-summary dd{margin:0;color:#334155;overflow-wrap:anywhere;}
.selected-user-photo{width:76px;height:76px;border-radius:18px;object-fit:cover;background:#eef5fb;border:1px solid rgba(18,56,92,.12);}
.selected-user-photo-placeholder{display:grid;place-items:center;font-weight:900;font-size:1.6rem;color:#12385c;}
.stacked-actions{display:grid!important;grid-template-columns:1fr auto;gap:8px 14px;align-items:center;}
.stacked-actions .pagination-strip{grid-column:1/-1;}
.stacked-actions .message-users-button{grid-column:1/-1;justify-self:start;min-width:0!important;width:auto!important;}
.pagination-strip{display:flex;gap:4px;flex-wrap:wrap;align-items:center;}
.page-button{width:auto!important;min-width:34px!important;min-height:32px!important;margin:0!important;padding:6px 10px!important;border:1px solid rgba(18,56,92,.16)!important;border-radius:10px!important;background:#fff!important;color:#12385c!important;box-shadow:none!important;font-weight:800!important;}
.page-button.active{background:#12385c!important;color:#fff!important;}
.page-button:disabled{opacity:.45;cursor:not-allowed;}
.page-ellipsis{padding:0 4px;color:#6b7a8d;}
.audit-filter-grid{grid-template-columns:minmax(220px,2fr) minmax(180px,1fr) 170px 170px auto!important;align-items:end;}
.inline-date-label{display:grid!important;gap:4px;margin:0!important;font-size:.78rem;color:#12385c;font-weight:800;}
.modal-card select,.modal-card textarea,.modal-card input,#installer_message_modal select,#installer_message_modal textarea,#installer_message_modal input{width:100%;box-sizing:border-box;border:1px solid rgba(18,56,92,.18);border-radius:12px;padding:10px 12px;font:inherit;background:#fff;}
@media(max-width:900px){#installer-app .installer-admin-layout{grid-template-columns:1fr!important}.selected-user-panel,#installer-app .add-panel{grid-column:1/-1!important}.audit-filter-grid{grid-template-columns:1fr!important}.stacked-actions{grid-template-columns:1fr}.stacked-actions .message-users-button{width:100%!important}}
#installer-app .compact-admin-hero{padding:14px 18px!important;min-height:0!important;border-radius:18px!important;margin-bottom:14px!important;display:flex;align-items:center;justify-content:space-between;}
#installer-app .compact-admin-hero h1{font-size:1.55rem!important;line-height:1.15;margin:.1rem 0!important;}
#installer-app .compact-admin-hero .eyebrow,#installer-app .compact-admin-hero .form-help{margin:.15rem 0!important;}
#installer-app .compact-admin-hero .secondary-button{width:auto!important;min-width:130px;min-height:40px;padding:.55rem 1rem!important;}
#installer-app .installer-admin-layout{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:14px!important;align-items:start;}
#installer-app .users-panel{grid-column:1/-1!important;}
#installer-app .selected-user-panel{grid-column:1/2!important;}
#installer-app .add-panel{grid-column:2/3!important;}
#installer-app .accreditations-panel,#installer-app .cpd-panel{grid-column:1/-1!important;}
#installer-app .admin-accreditation-row{display:flex!important;align-items:center;justify-content:space-between;gap:12px;}
#installer-app .admin-accreditation-row span{display:block;}
.cpd-rejected{background:#fff1f1!important;border-color:#f4c7c7!important;}
.cpd-rejected b{color:#9e1b1b!important;}
#admin-app .admin-detail-two-col{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;}
#admin-app .admin-wide-panel{grid-column:1/-1!important;width:100%;}
#admin-app .cpd-row{display:flex;justify-content:space-between;gap:12px;}
#admin-app .pagination-strip{display:inline-flex;gap:4px;align-items:center;flex-wrap:wrap;}
#admin-app .pagination-strip button{width:auto!important;min-width:34px;min-height:34px;padding:.35rem .55rem!important;border-radius:10px!important;box-shadow:none!important;}
#admin-app .pagination-strip button.active{background:#0f3d6b;color:#fff;}
#modal_msg_type,#installer_msg_type{appearance:auto!important;border:1px solid #cbd8e6!important;border-radius:12px!important;background:#fff!important;min-height:42px!important;padding:.55rem .75rem!important;width:100%!important;color:#12385c!important;}
@media(max-width:900px){#installer-app .installer-admin-layout,#admin-app .admin-detail-two-col{grid-template-columns:1fr!important;}#installer-app .selected-user-panel,#installer-app .add-panel{grid-column:1/-1!important;}}

#admin-app .table-subline{font-size:.72rem;white-space:normal;margin-top:2px;color:#5b6b7d;}
.selected-user-heading{align-items:center;gap:16px}.selected-user-heading .header-action-pair{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.selected-user-heading .header-action-pair button{min-width:96px;padding:9px 14px}.selected-user-heading .header-action-pair button:disabled{opacity:.55;cursor:not-allowed}
@media(max-width:760px){.selected-user-heading{align-items:flex-start}.selected-user-heading .header-action-pair{width:100%}.selected-user-heading .header-action-pair button{flex:1}}
#admin-app .power-filter-grid{grid-template-columns:minmax(260px,2fr) minmax(190px,1fr) auto;align-items:center;}
#admin-app .power-user-edit{margin-top:18px;max-width:100%;}
#admin-app .power-user-edit h3{margin-top:12px;border-top:1px solid rgba(18,56,92,.12);padding-top:14px;}
#admin-app .power-user-edit h3:first-child{margin-top:0;border-top:0;padding-top:0;}
#admin-app .admin-table-orgs th:nth-child(1),#admin-app .admin-table-orgs td:nth-child(1){width:26%;}
#admin-app .admin-table-orgs th:nth-child(2),#admin-app .admin-table-orgs td:nth-child(2){width:22%;}
#admin-app .admin-table-orgs th:nth-child(3),#admin-app .admin-table-orgs td:nth-child(3){width:28%;}
#admin-app .admin-table-orgs th:nth-child(4),#admin-app .admin-table-orgs td:nth-child(4){width:12%;}
#admin-app .admin-table-orgs th:nth-child(5),#admin-app .admin-table-orgs td:nth-child(5){width:12%;}
#admin-app select{appearance:auto;}
@media(max-width:900px){#admin-app .power-filter-grid{grid-template-columns:1fr;}}
.installer-association-panel{margin-top:18px}
.association-add-form{margin-top:14px;display:grid;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr) auto;gap:10px;align-items:end}
.association-add-form label{margin-bottom:0}
.installer-link-row.muted-row{opacity:.68}
.power-user-edit-heading{margin-bottom:12px}
.power-user-edit-heading h3{margin:0}
@media(max-width:760px){.association-add-form{grid-template-columns:1fr}.power-user-edit-heading{align-items:flex-start}}
#admin-app .scope-installer-select{
  appearance:auto!important;
  width:100%!important;
  min-height:42px!important;
  border:1px solid #cbd8e6!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#12385c!important;
  padding:.55rem .75rem!important;
  box-shadow:inset 0 1px 0 rgba(15,61,107,.04)!important;
}
#admin-app .installer-search-field{position:relative;}
#admin-app .installer-search-results{
  position:absolute;
  z-index:40;
  top:calc(100% + 6px);
  left:0;
  right:0;
  background:#fff;
  border:1px solid #d8e3ee;
  border-radius:14px;
  box-shadow:0 14px 34px rgba(15,42,71,.16);
  overflow:hidden;
}
#admin-app .installer-search-row{
  display:block!important;
  width:100%!important;
  text-align:left!important;
  border:0!important;
  border-bottom:1px solid #eef3f7!important;
  background:#fff!important;
  color:#12385c!important;
  padding:10px 12px!important;
  border-radius:0!important;
  box-shadow:none!important;
}
#admin-app .installer-search-row:hover,#admin-app .installer-search-row:focus{background:#f4f9ff!important;outline:none;}
#admin-app .installer-search-row:last-child{border-bottom:0!important;}
#admin-app .installer-search-name{display:block;font-weight:800;font-size:.92rem;line-height:1.25;}
#admin-app .installer-search-meta{display:block;margin-top:3px;font-size:.76rem;color:#5c6b7a;line-height:1.3;}
#admin-app .installer-search-note{padding:10px 12px;font-size:.82rem;color:#5c6b7a;background:#f8fbfe;}
#admin-app .power-user-edit > .panel-heading,
#admin-app .power-user-edit > .power-user-edit-heading{
  grid-column:1 / -1!important;
}
#admin-app .power-user-edit > input[type="hidden"]{
  display:none!important;
}
#admin-app .power-user-edit > h3{
  grid-column:1 / -1!important;
}
.auth-grid{align-items:start;}
.installer-login-panel{margin-top:0;}
.admin-search-actions .header-action-pair{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
.admin-search-actions .header-action-pair .secondary-button{width:auto!important;min-height:42px;margin-top:0!important;box-shadow:none;}
.admin-details summary{list-style:none;}
.admin-details summary::-webkit-details-marker{display:none;}
.admin-details summary:after{content:"+";float:right;color:#5b6b7d;}
.admin-details[open] summary:after{content:"-";}
.job-card-form.compact-form{margin-top:14px;}
.job-card-form textarea,.admin-panel textarea,.modal-card textarea{width:100%;box-sizing:border-box;border:1px solid rgba(18,56,92,.18);border-radius:12px;padding:10px 12px;font:inherit;background:#fff;resize:vertical;}
.credentials-panel .compact-form{margin-top:12px;}
@media(max-width:760px){.job-card-form.compact-form{grid-template-columns:1fr}.admin-search-actions .header-action-pair{justify-content:stretch}.admin-search-actions .header-action-pair .secondary-button{width:100%!important}}
.admin-panel .eyebrow,
.panel-heading .eyebrow,
#admin-mode-badge {
    color: #12385c;
    background: #eaf2f8;
    border: 1px solid rgba(18,56,92,.12);
    display: inline-flex;
    width: auto;
    padding: 5px 10px;
    border-radius: 999px;
}
.admin-hero-bar #admin-mode-badge {
    color: #fff;
    background: rgba(255,255,255,.14);
    border-color: rgba(255,255,255,.26);
}
.job-card-form.compact-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 16px;
    align-items: end;
}
.job-card-form.compact-form label { margin-top: 0; }
.job-card-form.compact-form textarea,
.job-card-form.compact-form label[for="job_description"] { grid-column: 1 / -1; }
.job-verify-card .checker-panel { max-width: 820px; margin-left: auto; margin-right: auto; }
.job-visit-card {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 20px;
    align-items: center;
    background: #f7fafc;
    border: 1px solid #e2eaf2;
    border-radius: 22px;
    padding: 18px;
    margin: 20px 0;
}
.job-field-photo {
    width: 140px;
    height: 140px;
    border-radius: 24px;
    object-fit: cover;
    border: 1px solid rgba(18,56,92,.16);
    background: #eaf2f8;
}
.job-field-photo.placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 900;
    color: #12385c;
    font-size: 30px;
}
@media(max-width:700px){.job-card-form.compact-form,.job-visit-card{grid-template-columns:1fr}.job-field-photo{width:110px;height:110px}}
body.installer-signed-in .brand-row .top-nav{display:none}
.compact-admin-hero .eyebrow,.admin-hero-bar .eyebrow{background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.22);display:inline-flex;border-radius:999px;padding:5px 9px}
.job-card-form{display:grid;grid-template-columns:minmax(150px,.35fr) minmax(0,1fr);gap:12px 16px;align-items:center}
.job-card-form label{margin:0;text-align:left}
.job-card-form textarea,.job-card-form input{margin-top:0}
.job-card-form label[for="job_description"]{align-self:start;padding-top:12px}
.job-card-form textarea{min-height:110px}
.job-acc-children{flex-wrap:wrap}
.credentials-panel h3{color:#12385c;margin:18px 0 6px}.admin-details summary{cursor:pointer;font-weight:800;color:#12385c}.admin-details{border:1px solid rgba(18,56,92,.12);border-radius:16px;padding:13px 14px;margin-top:12px;background:#f8fbfd}
@media(max-width:720px){.job-card-form{grid-template-columns:1fr}.job-card-form label{padding-top:0}.workspace-tabs{gap:8px}.workspace-tab{width:100%}}
body.admin-signed-in .brand-row .top-nav,
body.installer-signed-in .brand-row .top-nav{display:none}
.workspace-tabs{
    align-items:center;
}
.workspace-tab{
    margin:0!important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    cursor:pointer;
}
.users-panel{grid-column:1 / -1;}
.add-panel{grid-column:1 / -1;}
.job-card-panel{grid-column:1 / -1;}
.accreditations-panel,.cpd-panel{grid-column:auto;}
.clean-job-form{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 16px!important;
    align-items:start!important;
}
.clean-job-form .form-field{min-width:0;}
.clean-job-form .form-field-wide{grid-column:1 / -1;}
.clean-job-form label{
    display:block;
    margin:0 0 6px!important;
    text-align:left!important;
    color:#12385c;
    font-size:.92rem;
}
.clean-job-form input,
.clean-job-form textarea{
    margin:0!important;
    width:100%;
}
.job-acc-children span{
    min-width:0;
}
@media(max-width:900px){
    .clean-job-form{grid-template-columns:1fr!important;}
    .job-acc-children{grid-template-columns:1fr;}
}
.workspace-tabs{
  display:flex!important;
  gap:8px!important;
  flex-wrap:wrap!important;
  margin:12px 0!important;
  padding:8px!important;
  border:1px solid rgba(18,56,92,.10)!important;
  border-radius:16px!important;
  background:#fff!important;
  box-shadow:0 8px 22px rgba(18,56,92,.06)!important;
}
.workspace-tab{
  width:auto!important;
  flex:0 0 auto!important;
  min-height:38px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  background:#eef3f7!important;
  color:#12385c!important;
  border:1px solid rgba(18,56,92,.14)!important;
  box-shadow:none!important;
}
.workspace-tab.active{background:#12385c!important;color:#fff!important;border-color:#12385c!important;}
.installer-admin-layout{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(320px,.68fr)!important;
  gap:16px!important;
  align-items:start!important;
}
.users-panel,
.disconnects-panel,
.credentials-panel,
.accreditations-panel,
.job-list-panel,
.cpd-panel{grid-column:1 / -1!important;}
.selected-user-panel{grid-column:1!important;}
.user-action-panel{grid-column:2!important;align-self:stretch;}
.user-action-grid{display:grid;grid-template-columns:1fr;gap:10px;margin-top:12px;}
.user-action-button{
  width:100%!important;
  margin:0!important;
  display:flex!important;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border:1px solid rgba(18,56,92,.14)!important;
  background:#f3f8fc!important;
  color:#12385c!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  font-weight:900!important;
  box-shadow:none!important;
  cursor:pointer;
}
.user-action-button.active{background:#12385c!important;color:#fff!important;border-color:#12385c!important;}
.user-action-button span{display:inline-flex;align-items:center;justify-content:center;min-width:30px;padding:3px 8px;border-radius:999px;background:rgba(18,56,92,.12);font-size:12px;}
.user-action-button.active span{background:rgba(255,255,255,.2);color:#fff;}
.user-list-panel{margin-top:0;}
.selected-user-card{min-height:100%;}
.modal-card-wide{width:min(760px,100%);}
.modal-card .clean-job-form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 16px!important;align-items:start!important;margin-top:12px;}
.modal-card .clean-job-form .form-field-wide{grid-column:1 / -1!important;}
.modal-card .clean-job-form label{display:block!important;margin:0 0 6px!important;text-align:left!important;font-size:13px!important;}
.modal-card .clean-job-form input,.modal-card .clean-job-form textarea{margin:0!important;width:100%!important;box-sizing:border-box;}
.modal-card .clean-job-form textarea{min-height:96px!important;}
.job-row span{display:block;color:#5b6b7d;font-size:13px;margin-top:4px;}
.job-verify-card .brand-row .top-nav{display:none!important;}
.job-accreditation-row{display:block!important;}
.job-acc-children{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:10px!important;}
.job-acc-children span{display:flex!important;align-items:center;justify-content:center;min-height:34px;width:100%!important;box-sizing:border-box;text-align:center;white-space:normal!important;line-height:1.25;background:#eef4fb;border:1px solid #dbe6f0;border-radius:999px;padding:7px 10px;font-size:12px;font-weight:800;color:#12385c;}
@media(max-width:900px){.installer-admin-layout{grid-template-columns:1fr!important}.selected-user-panel,.user-action-panel{grid-column:1 / -1!important}.modal-card .clean-job-form,.job-acc-children{grid-template-columns:1fr!important}}
#installer_skill_modal{z-index:1300!important;}
#installer_skill_modal .modal-card{z-index:1301!important;}
#installer_add_accreditation_modal{z-index:1200;}
#installer_add_accreditation_modal .modal-card{z-index:1201;}
.job-verify-card{
    max-width: 980px;
    margin: 0 auto;
    overflow: hidden;
}
.job-verify-card .brand-row{
    background: rgba(255,255,255,.72);
}
.job-verification-content{
    width: min(760px, calc(100% - 36px));
    margin: 0 auto;
    padding: 26px 0 34px;
}
.job-verification-content > h1{
    font-size: clamp(38px, 5.2vw, 58px);
    max-width: 680px;
}
.verify-intro{
    max-width: 680px;
    margin-bottom: 18px;
}
.job-verification-content .job-visit-card,
.job-verification-content .verification-summary,
.job-verification-content .verification-accreditations{
    margin-top: 18px;
}
.job-verification-content .job-visit-card{
    background: linear-gradient(180deg,#f8fbfe 0%,#f2f7fb 100%);
    border: 1px solid rgba(18,56,92,.13);
    box-shadow: 0 10px 28px rgba(18,56,92,.06);
}
.job-verification-content .verification-summary{
    border: 1px solid rgba(18,56,92,.12);
    border-radius: 20px;
    background: #fff;
    padding: 18px 20px;
}
.job-verification-content .verification-summary h2,
.job-verification-content .verification-accreditations h2{
    font-size: 24px;
    letter-spacing: -0.03em;
    margin-bottom: 10px;
}
.job-verification-content .verification-summary p{
    margin: 7px 0;
}
.job-accreditation-grid{
    display:grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}
.job-accreditation-card{
    min-width: 0;
    border: 1px solid rgba(18,56,92,.14);
    border-radius: 22px;
    background: linear-gradient(180deg,#ffffff 0%,#f6faff 100%);
    box-shadow: 0 10px 24px rgba(18,56,92,.055);
    padding: 15px;
}
.job-accreditation-main{
    display:grid;
    gap: 5px;
}
.job-accreditation-main strong{
    color:#071b38;
    font-size: 15px;
    line-height: 1.25;
}
.job-accreditation-main span{
    color:#5b6b7d;
    font-size: 13px;
    line-height: 1.3;
}
.job-accreditation-card .job-acc-children{
    display:grid!important;
    grid-template-columns: repeat(2, minmax(0, 1fr))!important;
    gap: 8px!important;
    margin-top: 12px!important;
}
.job-accreditation-card .job-acc-children span{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-height: 36px!important;
    width: 100%!important;
    padding: 8px 10px!important;
    border-radius: 999px!important;
    background: #eaf4ff!important;
    border: 1px solid #cfe1f2!important;
    color: #12385c!important;
    font-size: 12px!important;
    font-weight: 850!important;
    line-height: 1.25!important;
    text-align: center!important;
    white-space: normal!important;
}
@media(max-width:760px){
    .job-verification-content{width: min(100% - 24px, 760px); padding-top: 20px;}
    .job-accreditation-grid,
    .job-accreditation-card .job-acc-children{grid-template-columns: 1fr!important;}
    .job-visit-card{grid-template-columns:1fr!important;}
}
.admin-review-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start;padding:14px 16px;border:1px solid rgba(18,56,92,.14);border-radius:16px;background:#fff;margin:10px 0;box-shadow:0 8px 24px rgba(18,56,92,.05);}
.admin-review-card .review-card-main>b{display:block;color:#12385c;margin-bottom:8px;font-size:1rem;}
.review-summary-grid{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0;}
.review-summary-grid span{display:inline-flex;align-items:center;min-height:26px;border:1px solid rgba(18,56,92,.12);border-radius:999px;background:#eef5fb;color:#12385c;font-size:12px;font-weight:700;padding:3px 10px;}
.review-error{display:block;color:#8a3b16;margin-top:6px;}
.review-detail-list{display:grid;grid-template-columns:150px minmax(0,1fr);gap:8px 14px;margin:12px 0;}
.review-detail-list dt{font-weight:800;color:#12385c;}
.review-detail-list dd{margin:0;color:#465d75;}
.review-list{margin:8px 0 0 18px;color:#465d75;}
.company-detail-block h3{margin-top:0;color:#12385c;}
.company-review-embed{grid-column:1 / -1;border:1px solid rgba(18,56,92,.14);border-radius:16px;padding:14px;background:#f8fbfe;margin:10px 0;}
.company-review-embed h3{margin:0 0 8px;color:#12385c;}
@media(max-width:800px){.admin-review-card{grid-template-columns:1fr}.review-detail-list{grid-template-columns:1fr}.review-summary-grid span{width:100%;justify-content:flex-start}}
.filter-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 8px;}
.filter-pill{border:1px solid rgba(18,56,92,.16);background:#fff;color:#12385c;border-radius:999px;padding:8px 12px;font-weight:700;cursor:pointer;}
.filter-pill span{display:inline-flex;align-items:center;justify-content:center;min-width:22px;margin-left:6px;border-radius:999px;background:#eef5fb;padding:2px 7px;font-size:12px;}
.filter-pill.active{background:#12385c;color:#fff;border-color:#12385c;}
.filter-pill.active span{background:rgba(255,255,255,.18);color:#fff;}
.review-title-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.review-status-badge{display:inline-flex;align-items:center;border-radius:999px;background:#eef5fb;color:#12385c;border:1px solid rgba(18,56,92,.12);padding:4px 10px;font-size:12px;font-weight:800;}
.status-check-failed,.status-rejected{background:#fff3f1;color:#8f1d12;border-color:rgba(143,29,18,.18);}
.status-approved{background:#edf8f1;color:#136b35;border-color:rgba(19,107,53,.18);}
.status-more-info-required{background:#fff8e6;color:#735100;border-color:rgba(115,81,0,.18);}
.company-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:8px 0 4px;}
.company-metric{border:1px solid rgba(18,56,92,.12);border-radius:12px;background:#f8fbfe;padding:9px 10px;min-height:54px;}
.company-metric span{display:block;color:#52677f;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;margin-bottom:3px;}
.company-metric b{display:block;color:#12385c;font-size:14px;line-height:1.25;}
.company-review-card .action-pair{align-self:center;}
.company-decision-actions{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0;padding:12px;border:1px solid rgba(18,56,92,.12);border-radius:14px;background:#f8fbfe;}
.power-company-link{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.power-company-link b{display:block;color:#12385c;margin-bottom:4px;}
.power-company-link span{color:#52677f;font-weight:700;}
@media(max-width:800px){.company-summary-grid{grid-template-columns:1fr}.company-review-card .action-pair{align-self:stretch}.company-review-card .action-pair .compact-action{width:100%;}}

#admin-app .compact-empty-state{padding:12px 14px;margin-top:10px;}
.company-detail-layout{display:flex;flex-direction:column;min-height:0;max-height:calc(90vh - 62px);}
.company-detail-scroll{overflow:auto;padding:18px 22px;min-height:0;}
.company-detail-footer{position:sticky;bottom:0;background:#fff;border-top:1px solid rgba(18,56,92,.12);padding:12px 16px;box-shadow:0 -10px 26px rgba(18,56,92,.08);}
.company-detail-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;}
.company-detail-actions .compact-action{width:auto!important;margin:0!important;}
.compact-table-wrap{max-height:240px;}
.admin-code-block{display:block;box-sizing:border-box;width:100%;margin-top:6px;padding:10px 12px;border:1px solid rgba(18,56,92,.18);border-radius:12px;background:#f8fbfe;color:#12385c;overflow:auto;}
@media(max-width:760px){.review-list-columns{columns:1}.company-detail-actions{justify-content:stretch}.company-detail-actions .compact-action{width:100%!important}}
.installer-login-panel.mfa-active .auth-help{margin-bottom:18px;}
#login_result.login-mfa-active{margin-top:0;}
.login-mfa-step{margin:0;padding:0;background:transparent;border:0;}
.login-mfa-step label{margin:0 0 8px;}
.login-mfa-step input{margin:0;}
.login-mfa-step button{margin-top:22px;}
.mfa-challenge-feedback:empty{display:none;}
.mfa-challenge-feedback .notice{margin-top:12px;}
.inline-mfa-label{display:block;margin:8px 0 6px;font-weight:800;color:#12385c;}
.inline-mfa-label input{display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid rgba(18,56,92,.18);border-radius:12px;padding:10px 12px;font:inherit;background:#fff;}
.mfa-inline-panel{display:grid;gap:8px;}
.mfa-inline-panel .compact-action,.result-area .compact-action{width:auto!important;margin-top:8px!important;}
.companies-toolbar{display:flex;flex-direction:column;gap:10px;margin:0 0 12px;}
.company-search-label{font-weight:700;color:#12385c;margin:0;}
.company-search-row{display:flex;gap:8px;align-items:center;max-width:720px;}
.company-search-row input{flex:1;min-width:220px;}
.company-search-row .compact-action{width:auto!important;margin:0!important;white-space:nowrap;}

.company-detail-view{margin-top:0;}
.company-page{display:flex;flex-direction:column;gap:14px;}
.company-page-header{display:grid;grid-template-columns:auto minmax(220px,1fr) auto;gap:14px;align-items:start;border:1px solid rgba(18,56,92,.1);border-radius:18px;padding:16px;background:#fff;box-shadow:0 14px 34px rgba(18,56,92,.08);}
.company-page-title h2{margin:0 0 4px;color:#12385c;}
.company-page-title .form-help{margin:0;}
.company-page-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end;align-items:center;}
.company-page-actions .compact-action{width:auto!important;margin:0!important;white-space:nowrap;}
.company-detail-tabs{display:flex;flex-wrap:wrap;gap:8px;border-bottom:1px solid rgba(18,56,92,.12);padding-bottom:8px;}
.company-detail-tab{width:auto!important;margin:0!important;border:1px solid rgba(18,56,92,.15);background:#fff;color:#12385c;border-radius:999px;padding:8px 12px;font-weight:700;}
.company-detail-tab.active{background:#12385c;color:#fff;border-color:#12385c;}
.company-detail-body{display:flex;flex-direction:column;gap:12px;}
.company-detail-section{border:1px solid rgba(18,56,92,.1);border-radius:14px;padding:14px;margin:0;background:#fff;}
.company-detail-section h3,.company-detail-section h4{margin:0 0 10px;color:#12385c;}
.company-detail-section textarea{width:100%;box-sizing:border-box;margin-top:4px;}
.company-detail-section #company_save_note{width:auto!important;margin-top:8px!important;}
.review-list-columns{columns:2;column-gap:28px;}
.review-history-list li{margin-bottom:10px;break-inside:avoid;}
.review-history-list span{color:#52677f;font-size:12px;margin-left:6px;}
.review-history-list p{margin:4px 0 0;color:#465d75;}
.compact-table-wrap .compact-action{width:auto!important;margin:0 4px 4px 0!important;}
@media(max-width:900px){.company-page-header{grid-template-columns:1fr}.company-page-actions{justify-content:flex-start}.company-search-row{flex-direction:column;align-items:stretch}.company-search-row .compact-action{width:100%!important}.review-list-columns{columns:1}}

#admin-app #tab-company-reviews .admin-search-actions{margin-top:10px;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;}
#admin-app .company-page{display:flex;flex-direction:column;gap:14px;}
#admin-app .company-breadcrumb{display:flex;gap:8px;align-items:center;font-size:13px;color:#5b6b7d;}
#admin-app .text-action{border:0;background:transparent;color:#0f3d6b;font-weight:800;padding:0;margin:0;min-width:0;width:auto;box-shadow:none;text-decoration:underline;text-underline-offset:2px;cursor:pointer;white-space:nowrap;}
#admin-app .company-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;border:0;border-radius:0;padding:4px 0 10px;background:transparent;box-shadow:none;border-bottom:1px solid rgba(18,56,92,.12);}
#admin-app .company-page-title h2{margin:0 0 3px;color:#12385c;font-size:24px;line-height:1.15;}
#admin-app .company-status-strip{display:flex;align-items:center;gap:8px;padding-top:3px;}
#admin-app .company-detail-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid rgba(18,56,92,.12);padding-bottom:8px;}
#admin-app .company-detail-tab{width:auto!important;margin:0!important;min-width:0!important;padding:8px 11px!important;min-height:34px;border-radius:12px;box-shadow:none;background:#eef5fb;color:#12385c;}
#admin-app .company-detail-tab.active{background:#12385c;color:#fff;}
#admin-app .company-detail-section{background:#fff;border:1px solid rgba(18,56,92,.1);border-radius:16px;padding:16px;margin:0 0 12px;}
#admin-app .section-title-row{display:flex;justify-content:space-between;gap:14px;align-items:flex-start;margin-bottom:12px;}
#admin-app .section-title-row h3{margin:0 0 3px;color:#12385c;}
#admin-app .section-title-row .form-help{margin:0;}
#admin-app .section-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end;}
#admin-app .section-action-row .compact-action{width:auto!important;margin:0!important;min-width:82px;}
#admin-app .count-pill{display:inline-flex;align-items:center;justify-content:center;min-width:22px;border-radius:999px;background:#eef5fb;color:#12385c;font-size:12px;padding:2px 7px;margin-left:4px;vertical-align:middle;}
#admin-app .company-detail-list{grid-template-columns:minmax(160px,220px) minmax(220px,1fr);}
#admin-app .compact-admin-table td{padding:8px 10px;vertical-align:middle;}
#admin-app .compact-admin-table th{padding:8px 10px;}
#admin-app .company-people-table .table-actions{white-space:nowrap;display:flex;gap:10px;align-items:center;}
#admin-app .compact-table-wrap{max-height:420px;}
#admin-app #company_note_result .notice,#admin-app #admin_company_review_result .notice{margin-top:8px;}
#admin-app .modal-card .form-row.two-col{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media(max-width:760px){#admin-app .company-page-header,#admin-app .section-title-row{flex-direction:column;}#admin-app .section-action-row{justify-content:flex-start;}#admin-app .modal-card .form-row.two-col{grid-template-columns:1fr;}}
#admin-app .modal-card.modal-card-wide{width:min(760px,96vw);}
#admin-app .modal-card .admin-modal-form{
    display:block!important;
}
#admin-app .modal-card .admin-modal-form label{
    display:block!important;
    margin:0 0 6px!important;
    font-size:13px!important;
    line-height:1.2!important;
    color:#12385c!important;
    font-weight:800!important;
}
#admin-app .modal-card .admin-modal-form .form-row.two-col{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:14px 16px!important;
    margin:0 0 14px!important;
}
#admin-app .modal-card .admin-modal-form input,
#admin-app .modal-card .admin-modal-form select,
#admin-app .modal-card .admin-modal-form textarea{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
    margin:0 0 14px!important;
    min-height:42px!important;
}
#admin-app .modal-card .admin-modal-form button:not(.icon-button){
    display:block!important;
    width:100%!important;
    margin:8px 0 0!important;
}
#admin-app .modal-card .admin-modal-form .result-area{margin-top:10px!important;}
#admin-app .company-profile-form #company_profile_name,
#admin-app .company-profile-form #company_profile_line1,
#admin-app .company-profile-form #company_profile_line2,
#admin-app .company-person-form #company_person_email,
#admin-app .company-person-form #company_person_phone,
#admin-app .company-person-form #company_person_relationship,
#admin-app .company-person-form #company_person_password{min-width:0!important;}
#admin-app .company-notes-table,
#admin-app .company-history-table{table-layout:fixed;width:100%;}
#admin-app .company-notes-table th:nth-child(1),
#admin-app .company-notes-table td:nth-child(1){width:155px;white-space:nowrap;vertical-align:top;}
#admin-app .company-notes-table th:nth-child(2),
#admin-app .company-notes-table td:nth-child(2){width:210px;vertical-align:top;}
#admin-app .company-notes-table th:nth-child(3),
#admin-app .company-notes-table td:nth-child(3){width:auto;vertical-align:top;white-space:normal;line-height:1.45;}
#admin-app .company-history-table th:nth-child(1),
#admin-app .company-history-table td:nth-child(1){width:155px;white-space:nowrap;vertical-align:top;}
#admin-app .company-history-table th:nth-child(2),
#admin-app .company-history-table td:nth-child(2){width:170px;vertical-align:top;}
#admin-app .company-history-table th:nth-child(3),
#admin-app .company-history-table td:nth-child(3){width:210px;vertical-align:top;}
#admin-app .company-history-table th:nth-child(4),
#admin-app .company-history-table td:nth-child(4){width:auto;vertical-align:top;white-space:normal;line-height:1.45;}
@media(max-width:760px){
    #admin-app .modal-card .admin-modal-form .form-row.two-col{grid-template-columns:1fr!important;}
    #admin-app .modal-card.modal-card-wide{width:min(620px,96vw);}
    #admin-app .company-notes-table th:nth-child(1),#admin-app .company-notes-table td:nth-child(1),
    #admin-app .company-notes-table th:nth-child(2),#admin-app .company-notes-table td:nth-child(2),
    #admin-app .company-history-table th:nth-child(1),#admin-app .company-history-table td:nth-child(1),
    #admin-app .company-history-table th:nth-child(2),#admin-app .company-history-table td:nth-child(2),
    #admin-app .company-history-table th:nth-child(3),#admin-app .company-history-table td:nth-child(3){width:auto;white-space:normal;}
}
.modal-card.modal-card-wide{
    width:min(840px,96vw)!important;
}
.modal-card .compact-form.admin-modal-form{
    display:block!important;
    grid-template-columns:none!important;
    max-height:min(74vh,760px);
    overflow:auto;
    padding-right:2px;
}
.modal-card .admin-modal-form .form-help{
    margin:0 0 18px!important;
}
.modal-card .admin-modal-form .modal-form-grid{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(260px,1fr))!important;
    gap:16px 18px!important;
    align-items:start!important;
}
.modal-card .admin-modal-form .form-field{
    display:block!important;
    min-width:0!important;
}
.modal-card .admin-modal-form .form-field-wide{
    grid-column:1 / -1!important;
}
.modal-card .admin-modal-form label{
    display:block!important;
    margin:0 0 6px!important;
    color:#12385c!important;
    font-size:13px!important;
    font-weight:800!important;
    line-height:1.25!important;
    text-align:left!important;
}
.modal-card .admin-modal-form input,
.modal-card .admin-modal-form select,
.modal-card .admin-modal-form textarea{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
    margin:0!important;
    min-height:44px!important;
    border:1px solid #cbd8e6!important;
    border-radius:12px!important;
    padding:10px 12px!important;
    background:#fff!important;
    color:#102f4d!important;
    font:inherit!important;
}
.modal-card .admin-modal-form select{
    appearance:auto!important;
}
.modal-card .admin-modal-form .modal-form-actions{
    display:flex!important;
    justify-content:flex-end!important;
    gap:10px!important;
    margin-top:20px!important;
    padding-top:16px!important;
    border-top:1px solid rgba(18,56,92,.1)!important;
}
.modal-card .admin-modal-form .modal-form-actions button:not(.icon-button){
    width:auto!important;
    min-width:180px!important;
    margin:0!important;
    padding:11px 18px!important;
}
.modal-card .admin-modal-form .result-area{
    margin-top:12px!important;
}
@media(max-width:720px){
    .modal-card.modal-card-wide{width:min(620px,96vw)!important;}
    .modal-card .admin-modal-form .modal-form-grid{grid-template-columns:1fr!important;}
    .modal-card .admin-modal-form .form-field-wide{grid-column:auto!important;}
    .modal-card .admin-modal-form .modal-form-actions{justify-content:stretch!important;}
    .modal-card .admin-modal-form .modal-form-actions button:not(.icon-button){width:100%!important;}
}
.modal-card .compact-form.admin-modal-form.hidden,
.modal-card .admin-modal-form .form-field.hidden{
    display:none!important;
}
.styled-file-field{
    margin:14px 0 16px;
}
.styled-file-label{
    display:block;
    margin:0 0 7px;
    color:#12385c;
    font-size:13px;
    font-weight:800;
    line-height:1.25;
}
.styled-file-control{
    display:flex!important;
    align-items:center;
    gap:12px;
    width:100%;
    min-height:46px;
    box-sizing:border-box;
    margin:0!important;
    border:1px solid #cbd8e6;
    border-radius:14px;
    background:#fff;
    padding:6px;
    cursor:pointer;
}
.styled-file-button{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:34px;
    border-radius:10px;
    padding:0 14px;
    background:#12385c;
    color:#fff;
    font-weight:800;
    font-size:13px;
}
.styled-file-name{
    flex:1 1 auto;
    min-width:0;
    color:#52677f;
    font-size:14px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}
.visually-hidden-file{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
}
#installer_add_accreditation_modal .modal-card{
    width:min(680px,96vw);
}
#installer_add_accreditation_modal textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid #cbd8e6;
    border-radius:14px;
    padding:11px 12px;
    font:inherit;
}
.compact-form .styled-file-field,
#admin-app .compact-form .styled-file-field,
#installer-app .compact-form .styled-file-field{
    grid-column:1 / -1;
    display:grid;
    grid-template-columns:150px minmax(0,1fr);
    column-gap:14px;
    row-gap:6px;
    align-items:center;
    margin:4px 0 8px;
}
.compact-form .styled-file-field .styled-file-label,
#admin-app .compact-form .styled-file-field .styled-file-label,
#installer-app .compact-form .styled-file-field .styled-file-label{
    grid-column:1;
    margin:0;
    font-size:.8rem;
    font-weight:800;
}
.compact-form .styled-file-field .styled-file-control,
#admin-app .compact-form .styled-file-field .styled-file-control,
#installer-app .compact-form .styled-file-field .styled-file-control{
    grid-column:2;
    min-width:0;
}
.compact-form .styled-file-field .form-help,
#admin-app .compact-form .styled-file-field .form-help,
#installer-app .compact-form .styled-file-field .form-help{
    grid-column:2;
    margin:0;
}
.modal-form-grid .modal-styled-file-field{
    display:block;
}
.modal-form-grid .modal-styled-file-field .styled-file-label{
    display:block;
    margin:0 0 7px;
}
.modal-form-grid .modal-styled-file-field .styled-file-control{
    width:100%;
}
.company-logo-upload-preview{
    grid-column:1 / -1;
    margin:4px 0 2px;
}
@media(max-width:760px){
    .compact-form .styled-file-field,
    #admin-app .compact-form .styled-file-field,
    #installer-app .compact-form .styled-file-field{
        grid-template-columns:1fr;
    }
    .compact-form .styled-file-field .styled-file-label,
    .compact-form .styled-file-field .styled-file-control,
    .compact-form .styled-file-field .form-help,
    #admin-app .compact-form .styled-file-field .styled-file-label,
    #admin-app .compact-form .styled-file-field .styled-file-control,
    #admin-app .compact-form .styled-file-field .form-help,
    #installer-app .compact-form .styled-file-field .styled-file-label,
    #installer-app .compact-form .styled-file-field .styled-file-control,
    #installer-app .compact-form .styled-file-field .form-help{
        grid-column:1 / -1;
    }
}
.company-person-accreditations{
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid rgba(18,56,92,.1);
}
.company-person-accreditations h3{
    margin:0 0 4px;
    color:#12385c;
}
.company-person-accreditations .admin-list{
    margin-top:12px;
}
.admin-accreditation-row .action-pair{
    flex-wrap:wrap;
    justify-content:flex-end;
}
.admin-accreditation-row .muted-text{
    display:inline-flex;
    align-items:center;
    color:#5b6b7d;
    font-size:13px;
    padding:7px 0;
}
@media(max-width:760px){
    .admin-accreditation-row .action-pair{justify-content:flex-start;}
}
#installer-app .admin-accreditation-row .evidence-action,
#admin-app .admin-accreditation-row .evidence-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border-radius:999px;
    line-height:1.1;
}
#installer-app .admin-accreditation-row .evidence-action::before,
#admin-app .admin-accreditation-row .evidence-action::before{
    content:"↗";
    font-weight:900;
    margin-right:5px;
}
.cancel-button{
    border:0;
    border-radius:999px;
    padding:10px 14px;
    font-weight:800;
    cursor:pointer;
    background:#fff4e5;
    color:#9a4b00;
}
#installer-app .admin-accreditation-row .cancel-action{
    width:auto!important;
    min-width:82px;
    margin-top:0!important;
    box-shadow:none;
}
.company-person-context{
    margin-top:20px;
    padding-top:16px;
    border-top:1px solid rgba(18,56,92,.1);
}
.company-person-context .section-title-row,
.company-person-accreditations .section-title-row{
    align-items:center;
}
.company-person-context .review-detail-list{
    margin-top:10px;
}
.review-note-line{
    color:#34495f!important;
    background:#f8fbfd;
    border-left:3px solid rgba(47,111,159,.35);
    padding:6px 8px;
    border-radius:8px;
}
@media(max-width:760px){
    .company-person-context .section-title-row,
    .company-person-accreditations .section-title-row{align-items:flex-start;}
}
.admin-accreditation-row.acc-state-active{
    background:#f3f9ff;
    border-color:rgba(47,111,159,.22);
}
.admin-accreditation-row.acc-state-pending{
    background:#fff9e8;
    border-color:rgba(199,133,0,.28);
}
.admin-accreditation-row.acc-state-suspended,
.admin-accreditation-row.acc-state-rejected{
    background:#fff1f1;
    border-color:rgba(158,27,27,.24);
}
.admin-accreditation-row.acc-state-neutral{
    background:#f7fafc;
}
.company-user-page .company-breadcrumb .text-action{
    width:auto!important;
    margin:0!important;
    padding:0;
}
.company-user-page .admin-detail-grid{
    margin-top:12px;
}
.company-user-add-accreditation{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px 14px;
    align-items:end;
    margin-top:8px;
}
.company-user-add-accreditation label{
    margin-top:0;
}
.company-user-add-accreditation button,
.company-user-overview button{
    width:auto!important;
    margin-top:0!important;
}
.company-user-add-accreditation .result-area{
    grid-column:1/-1;
}
.company-user-page .checker-panel button{
    width:auto!important;
}
@media(max-width:760px){
    .company-user-add-accreditation{grid-template-columns:1fr;}
    .company-user-page .header-action-pair{justify-content:flex-start;}
}
#admin-app .company-user-association-add{
  margin-top:14px;
  display:grid;
  grid-template-columns:minmax(280px,2fr) minmax(180px,1fr) auto;
  gap:10px;
  align-items:end;
}
#admin-app .company-user-association-add .field-group{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}
#admin-app .company-user-association-add label{
  margin:0;
  font-size:.8rem;
  font-weight:800;
}
#admin-app .company-user-association-add input,
#admin-app .company-user-association-add select{
  width:100%;
  box-sizing:border-box;
  min-height:42px;
  border:1px solid rgba(18,56,92,.18);
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
  background:#fff;
}
#admin-app .company-user-association-add #company_user_add_installer_link{
  white-space:nowrap;
  min-height:42px;
}
#admin-app .company-user-association-add .result-area{
  grid-column:1 / -1;
}
@media(max-width:760px){
  #admin-app .company-user-association-add{grid-template-columns:1fr;}
}
.guarantee-shell{width:min(100% - 32px, 920px);}
.guarantee-card{max-width:920px;margin:0 auto;}
.guarantee-error-panel{max-width:680px;margin:24px auto 8px;}
.guarantee-error-panel h1{margin:6px 0 14px;color:#12385c;font-size:clamp(1.8rem,4vw,2.6rem);line-height:1.05;}
.guarantee-error-notice{margin:14px 0 12px;}
.guarantee-check-shell{width:min(1120px,calc(100% - 32px));}
.guarantee-check-grid{grid-template-columns:minmax(0,1fr) minmax(340px,.92fr);align-items:start;}
.guarantee-form-stack{display:grid;gap:18px;}
.guarantee-check-panel{padding:24px;}
.guarantee-check-panel h2{font-size:22px;letter-spacing:-.025em;}
.guarantee-check-panel .form-help{margin-bottom:16px;}
.guarantee-check-panel input{text-transform:uppercase;}
.guarantee-check-panel + .guarantee-check-panel{background:linear-gradient(180deg,#ffffff 0%,#fbf8f1 100%);}
.guarantee-form-result{margin-top:12px;}
.guarantee-form-result:empty{display:none;}
.guarantee-form-result .notice{margin:0;}
.guarantee-result-panel{align-self:start;padding:24px;}
.guarantee-result-panel .guarantee-error-notice{margin:0 0 16px;}
.guarantee-result-panel .form-help{margin:0 0 18px;}
.guarantee-retry-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;}
@media(max-width:820px){
    .guarantee-check-grid{grid-template-columns:1fr;}
    .guarantee-form-stack{gap:14px;}
    .guarantee-check-panel{padding:20px;}
}
.landing-shell{width:min(1120px,calc(100% - 32px));}
.landing-hero{padding:48px 42px 44px;}
.landing-hero h1{max-width:760px;}
.landing-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:34px;}
.landing-card{display:flex;flex-direction:column;gap:12px;min-height:250px;padding:26px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(180deg,#ffffff 0%,#f7faff 100%);box-shadow:0 16px 40px rgba(8,43,85,.08);color:var(--ink);text-decoration:none;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease;}
.landing-card:hover{transform:translateY(-2px);border-color:rgba(15,71,126,.35);box-shadow:0 20px 46px rgba(8,43,85,.13);}
.landing-card-kicker{align-self:flex-start;padding:6px 10px;border-radius:999px;background:var(--info-bg);color:var(--info-text);font-size:13px;font-weight:850;}
.landing-card strong{display:block;font-size:clamp(24px,3vw,32px);line-height:1.08;letter-spacing:-.035em;color:var(--iaa-blue);}
.landing-card > span:not(.landing-card-kicker){color:#334155;font-size:16px;}
.landing-card em{display:inline-flex;align-items:center;justify-content:center;width:fit-content;min-height:44px;margin-top:auto;padding:10px 16px;border-radius:13px;background:linear-gradient(135deg,var(--iaa-blue) 0%,var(--iaa-blue-2) 100%);color:#fff;font-style:normal;font-weight:900;box-shadow:0 12px 24px rgba(8,43,85,.18);}
.register-card-note{margin-top:24px;padding:18px;border:1px solid rgba(15,71,126,.16);border-radius:18px;background:rgba(234,243,255,.72);}
.register-card-note strong{display:block;color:var(--iaa-blue);font-size:16px;}
.register-card-note p{margin:6px 0 12px;color:#334155;font-size:14px;}
.register-card-note a{display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 13px;border-radius:12px;background:#fff;color:var(--iaa-blue);border:1px solid rgba(8,43,85,.16);font-weight:850;text-decoration:none;}
.register-card-note a:hover{border-color:rgba(15,71,126,.38);box-shadow:0 8px 20px rgba(8,43,85,.09);}
@media (max-width: 820px){
    .landing-shell{width:min(100% - 22px,640px);}
    .landing-hero{padding:28px 18px 24px;}
    .landing-actions{grid-template-columns:1fr;gap:14px;margin-top:24px;}
    .landing-card{min-height:0;padding:20px;border-radius:20px;}
}
.company-overview-grid{display:grid;grid-template-columns:140px 1fr;gap:18px;align-items:start;}
.company-logo-panel{width:120px;min-height:92px;border:1px solid rgba(18,56,92,.14);border-radius:16px;background:#f8fbfe;display:grid;place-items:center;padding:10px;color:#6b7b8d;font-weight:800;text-align:center;}
.company-logo-preview{max-width:100%;max-height:86px;object-fit:contain;display:block;}
.small-logo-preview{max-width:160px;max-height:90px;}
.company-logo-upload-preview{border:1px dashed rgba(18,56,92,.22);border-radius:14px;padding:12px;min-height:64px;display:flex;align-items:center;justify-content:center;background:#f8fbfe;}
@media(max-width:720px){.company-overview-grid{grid-template-columns:1fr}.company-logo-panel{width:100%;}}

.identity-verification-panel{margin-top:14px;}
.identity-verification-layout{display:grid;grid-template-columns:minmax(150px,220px) minmax(0,1fr);gap:20px;align-items:start;}
.identity-verification-photo-wrap{display:grid;gap:10px;justify-items:start;}
.identity-verification-photo{width:180px;height:220px;object-fit:cover;border-radius:18px;border:1px solid rgba(18,56,92,.16);background:#eef5fb;}
.identity-verification-photo-placeholder{display:grid;place-items:center;color:#5b6b7d;font-weight:800;text-align:center;}
.identity-status{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 9px;border-radius:999px;background:#e9eef4;color:#334155;font-size:.78rem;font-weight:800;line-height:1.2;}
.identity-status-verified{background:#dcfce7;color:#166534;}
.identity-status-attention{background:#fef3c7;color:#92400e;}
.identity-status-processing,.identity-status-in_progress{background:#dbeafe;color:#1d4ed8;}
.identity-status-rejected,.identity-status-error{background:#fee2e2;color:#991b1b;}
.identity-status-required{background:#f1f5f9;color:#475569;}
@media(max-width:700px){.identity-verification-layout{grid-template-columns:1fr}.identity-verification-photo{width:140px;height:170px;}}
.provider-portal-link{display:inline-flex;text-decoration:none;justify-content:center;text-align:center;}
.provider-review-block{margin-top:18px;padding-top:16px;border-top:1px solid rgba(18,56,92,.12);}
.provider-review-block h3{margin:0 0 10px;font-size:1rem;}
.provider-address{margin:0 0 4px;font-weight:750;line-height:1.5;}
.provider-check-list{display:grid;gap:8px;}
.provider-check-row{display:grid;grid-template-columns:minmax(150px,1fr) auto minmax(150px,auto);gap:10px;align-items:center;padding:10px 12px;border:1px solid rgba(18,56,92,.12);border-radius:12px;background:#f8fbfe;}
.provider-check-row code{font-size:.78rem;overflow-wrap:anywhere;color:#52657a;}
@media(max-width:700px){.provider-check-row{grid-template-columns:1fr auto}.provider-check-row code{grid-column:1/-1}}

/* v0.18.66.3: IDV exception and Card photograph review. */
.identity-status-bypassed{background:#ede9fe;color:#5b21b6;}
.compact-review-list{margin-top:8px;}
.card-photo-review-block{display:grid;gap:14px;}
.card-photo-review-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;align-items:start;}
.photo-review-column{display:grid;gap:10px;align-content:start;padding:14px;border:1px solid rgba(18,56,92,.13);border-radius:16px;background:#f8fbfe;}
.photo-review-column h4{margin:0;color:var(--iaa-blue);font-size:.92rem;}
.card-photo-review-image{display:block;width:min(100%,220px);aspect-ratio:4/5;object-fit:cover;border-radius:16px;border:1px solid rgba(18,56,92,.16);background:#eef5fb;}
.card-photo-placeholder{display:grid;place-items:center;color:#5b6b7d;font-weight:800;text-align:center;}
.pending-photo-column textarea,.idv-admin-controls textarea{width:100%;box-sizing:border-box;resize:vertical;}
.admin-photo-upload{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;padding:14px;border:1px dashed rgba(18,56,92,.22);border-radius:16px;background:#fff;}
.admin-photo-upload label{grid-column:1/-1;font-weight:800;color:var(--iaa-blue);}
.admin-photo-upload input[type=file]{min-width:0;}
.idv-admin-controls{display:grid;gap:10px;}
.idv-admin-controls label{font-weight:800;color:var(--iaa-blue);}
.idv-admin-controls button{width:max-content;max-width:100%;}
@media(max-width:760px){
  .card-photo-review-grid{grid-template-columns:1fr;}
  .admin-photo-upload{grid-template-columns:1fr;}
}
.photo-change-table-flag{width:max-content;max-width:100%;margin-top:5px;padding:3px 7px;border-radius:999px;background:#fef3c7;color:#92400e;font-size:.7rem;font-weight:850;line-height:1.2;}

/* v0.18.66.4: user workspace page and review tabs. */
#admin-app .user-page{display:flex;flex-direction:column;gap:14px;}
#admin-app .user-detail-tabs .user-detail-tab{display:inline-flex;align-items:center;gap:5px;}
#admin-app .user-detail-tab.needs-action{border-color:#dc2626;background:#fff1f2;color:#991b1b;}
#admin-app .user-detail-tab.needs-action.active{border-color:#991b1b;background:#991b1b;color:#fff;}
#admin-app .user-detail-tab .count-pill{margin-left:2px;background:rgba(18,56,92,.1);}
#admin-app .user-detail-tab.active .count-pill{background:rgba(255,255,255,.2);color:#fff;}
#admin-app .tab-action-flag{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;font-weight:900;line-height:1;}
#admin-app .user-detail-tab.needs-action.active .tab-action-flag{background:#fff;color:#991b1b;}
#admin-app .user-detail-form-grid,
#admin-app .user-accreditation-form,
#admin-app .user-association-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start;}
#admin-app .user-detail-form-grid .form-field,
#admin-app .user-accreditation-form .form-field,
#admin-app .user-association-form .form-field{display:grid;gap:6px;min-width:0;}
#admin-app .user-detail-form-grid .form-field-wide,
#admin-app .user-accreditation-form .form-field-wide,
#admin-app .user-association-form .form-field-wide{grid-column:1/-1;}
#admin-app .user-detail-form-grid label,
#admin-app .user-accreditation-form label,
#admin-app .user-association-form label{font-size:.8rem;font-weight:800;color:#12385c;}
#admin-app .user-detail-form-grid input,
#admin-app .user-detail-form-grid select,
#admin-app .user-accreditation-form input,
#admin-app .user-accreditation-form select,
#admin-app .user-association-form input,
#admin-app .user-association-form select{width:100%;box-sizing:border-box;}
#admin-app .user-detail-form-actions{margin-top:16px;justify-content:flex-start;}
#admin-app .field-help-warning{margin:2px 0 0;color:#991b1b;font-weight:750;}
#admin-app .admin-photo-upload.styled-file-field{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:0;padding:14px;}
#admin-app .admin-photo-upload.styled-file-field>.styled-file-label{grid-column:1/-1;margin:0;}
#admin-app .admin-photo-upload.styled-file-field>.styled-file-control{grid-column:1;min-width:0;}
#admin-app .admin-photo-upload.styled-file-field>#admin_direct_photo_submit{grid-column:2;width:auto!important;margin:0!important;white-space:nowrap;}
#admin-app .user-page .provider-review-block:first-child{margin-top:0;padding-top:0;border-top:0;}
#admin-app .user-page .company-detail-section>.identity-verification-layout{margin-top:2px;}
@media(max-width:760px){
  #admin-app .user-detail-form-grid,
  #admin-app .user-accreditation-form,
  #admin-app .user-association-form{grid-template-columns:1fr;}
  #admin-app .user-detail-form-grid .form-field-wide,
  #admin-app .user-accreditation-form .form-field-wide,
  #admin-app .user-association-form .form-field-wide{grid-column:1;}
  #admin-app .admin-photo-upload.styled-file-field{grid-template-columns:1fr;}
  #admin-app .admin-photo-upload.styled-file-field>.styled-file-label,
  #admin-app .admin-photo-upload.styled-file-field>.styled-file-control,
  #admin-app .admin-photo-upload.styled-file-field>#admin_direct_photo_submit{grid-column:1;}
  #admin-app .admin-photo-upload.styled-file-field>#admin_direct_photo_submit{width:100%!important;}
}

/* v0.18.66.5: compact user workspace review and modal add/edit flows. */
#admin-app .user-overview-section .section-title-row{align-items:center;margin-bottom:10px;}
#admin-app .user-summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
#admin-app .user-summary-block{border:1px solid rgba(18,56,92,.1);border-radius:12px;background:#f8fbfe;padding:12px;min-width:0;}
#admin-app .user-summary-block h4{margin:0 0 8px;color:#12385c;font-size:.92rem;}
#admin-app .user-summary-block .review-detail-list{margin:0;grid-template-columns:minmax(105px,140px) minmax(0,1fr);gap:5px 10px;}
#admin-app .user-summary-block .review-detail-list dt,
#admin-app .user-summary-block .review-detail-list dd{padding:2px 0;min-width:0;overflow-wrap:anywhere;}
#admin-app .user-page .section-title-row>button,
#admin-app .user-page .section-title-row>.header-action-pair{flex:0 0 auto;}
#admin-app .user-page .admin-accreditation-row{padding:10px 12px;gap:10px;}
#admin-app .user-page .cpd-row{padding:10px 12px;}
#admin-app .modal-form-subheading{margin:4px 0 -2px;padding-top:8px;border-top:1px solid rgba(18,56,92,.1);}
#admin-app .modal-form-subheading:first-child{border-top:0;padding-top:0;}
#admin-app .modal-form-subheading h3{margin:0;color:#12385c;font-size:1rem;}
#admin-app #user_edit_modal .modal-form-grid{gap:10px 14px;}
#admin-app #user_accreditation_modal .modal-form-grid,
#admin-app #user_association_modal .modal-form-grid{gap:10px 14px;}
#admin-app #user_association_modal .installer-search-field{position:relative;}
#admin-app #user_association_modal .installer-search-results{z-index:5;}
@media(max-width:760px){
  #admin-app .user-summary-grid{grid-template-columns:1fr;}
  #admin-app .user-overview-section .section-title-row{align-items:stretch;}
  #admin-app .user-overview-section .header-action-pair{width:100%;}
  #admin-app .user-overview-section .header-action-pair button{flex:1 1 auto;}
}

/* v0.18.66.11: balanced IAA interface.
   Keeps the compact operational forms and workspace detail from the flat trial,
   while restoring a recognisable application frame and branded header across
   both authenticated and public Verify pages. */

/* Shared application frame and public pages */
html {
    background:
        linear-gradient(135deg, rgba(134, 196, 65, .08), transparent 30rem),
        linear-gradient(315deg, rgba(240, 139, 34, .07), transparent 26rem),
        #eef3f7;
}

.page-shell {
    width: min(1120px, calc(100% - 32px));
    padding: 24px 0 30px;
}

.hero-card {
    border: 1px solid #cbd6e1;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(7, 27, 56, .10);
    backdrop-filter: none;
}

.hero-card > .brand-row {
    position: relative;
    padding: 17px 22px;
    border-bottom: 3px solid var(--iaa-green);
    background: linear-gradient(110deg, #082b55 0%, #12385c 70%, #184f7c 100%);
    color: #fff;
}

.hero-card > .brand-row .brand-copy span {
    color: rgba(255, 255, 255, .72);
}

.hero-card > .brand-row .slash-one {
    background: #a9b2bd;
}

.hero-card > .brand-row .slash-two {
    background: #5d9dcb;
}

.hero-card > .brand-row .slash-three {
    background: var(--iaa-green);
}

.hero-card > .brand-row .top-nav {
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 6px;
    background: rgba(255, 255, 255, .08);
    box-shadow: none;
}

.hero-card > .brand-row .top-nav a {
    min-height: 32px;
    padding: 6px 11px;
    border-radius: 4px;
    color: rgba(255, 255, 255, .84);
}

.hero-card > .brand-row .top-nav a:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.hero-card > .brand-row .top-nav a[aria-current="page"] {
    background: #fff;
    color: var(--iaa-blue);
    box-shadow: none;
}

.content-grid {
    gap: 30px;
    padding: 34px 36px 38px;
}

h1 {
    font-size: clamp(34px, 5vw, 54px);
}

.eyebrow {
    padding: 5px 8px;
    border-radius: 4px;
    font-size: 12px;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.trust-list {
    gap: 0;
    border-top: 1px solid var(--line);
}

.trust-list div {
    gap: 11px;
    padding: 12px 4px;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
}

.tick {
    width: 22px;
    height: 22px;
    border-radius: 4px;
}

.checker-panel {
    padding: 24px;
    border: 1px solid #d2dce6;
    border-radius: 10px;
    background: #f8fafc;
    box-shadow: none;
}

input,
select,
textarea {
    border-radius: 6px;
}

button,
.result-button {
    border-radius: 6px;
    box-shadow: none;
}

.notice,
.notice .result-button,
.info-box,
.register-card-note,
.register-card-note a {
    border-radius: 6px;
}

.landing-shell {
    width: min(1120px, calc(100% - 32px));
}

.landing-hero {
    padding: 38px 38px 40px;
}

.landing-actions {
    gap: 14px;
    margin-top: 28px;
}

.landing-card {
    min-height: 230px;
    padding: 22px;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.landing-card:first-child {
    border-top: 4px solid var(--iaa-blue-2);
}

.landing-card:nth-child(2) {
    border-top: 4px solid var(--iaa-orange);
}

.landing-card:hover {
    transform: translateY(-1px);
    border-color: #aebfce;
    box-shadow: 0 8px 20px rgba(8, 43, 85, .08);
}

.landing-card-kicker {
    padding: 4px 7px;
    border-radius: 4px;
}

.landing-card em {
    min-height: 40px;
    padding: 9px 13px;
    border-radius: 5px;
    box-shadow: none;
}

.guarantee-check-panel,
.guarantee-check-panel + .guarantee-check-panel {
    background: #f8fafc;
}

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

/* Balanced admin workspace */
body.admin-page {
    background: #e9eff4;
}

body.admin-page .admin-shell {
    width: min(1440px, calc(100% - 32px));
    padding: 20px 0 28px;
}

body.admin-page .installer-admin-card {
    min-height: calc(100vh - 48px);
    overflow: hidden;
    border: 1px solid #c5d1dc;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(9, 28, 48, .12);
    backdrop-filter: none;
}

body.admin-page .brand-row {
    padding: 15px 22px;
    border-bottom: 3px solid var(--iaa-green);
    background: linear-gradient(110deg, #082b55 0%, #12385c 72%, #184f7c 100%);
    color: #fff;
}

body.admin-page .brand-row .brand-copy span {
    color: rgba(255, 255, 255, .72);
}

body.admin-page .brand-mark {
    width: 44px;
    height: 36px;
}

body.admin-page .brand-slash {
    width: 11px;
    height: 29px;
}

body.admin-page .slash-one {
    background: #a9b2bd;
}

body.admin-page .slash-two {
    left: 16px;
    background: #5d9dcb;
}

body.admin-page .slash-three {
    left: 28px;
    background: var(--iaa-green);
}

body.admin-page .brand-row .top-nav {
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 6px;
    background: rgba(255, 255, 255, .08);
    box-shadow: none;
}

body.admin-page .brand-row .top-nav a {
    border-radius: 4px;
    color: rgba(255, 255, 255, .84);
}

body.admin-page .brand-row .top-nav a:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

body.admin-page .brand-row .top-nav a[aria-current="page"] {
    background: #fff;
    color: var(--iaa-blue);
}

body.admin-page #admin-app.installer-app {
    padding: 18px 22px 28px;
}

body.admin-page #admin-app .admin-hero-bar {
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid #c9d6e2;
    border-left: 4px solid var(--iaa-blue-2);
    border-radius: 7px;
    background: #f2f6fa;
    color: var(--ink);
    box-shadow: none;
}

body.admin-page #admin-app .admin-hero-bar h1 {
    color: #17324d;
    font-size: 25px;
    letter-spacing: -.02em;
}

body.admin-page #admin-app .admin-hero-bar .form-help {
    color: #5a6c7e;
}

body.admin-page #admin-app .admin-hero-bar .secondary-button {
    border: 1px solid #aebdcb;
    background: #fff;
    color: #12385c;
}

body.admin-page #admin-app .admin-tabs {
    gap: 22px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #d1dbe4;
    border-width: 1px 0;
    border-radius: 0;
    background: #f7f9fb;
    box-shadow: none;
}

body.admin-page #admin-app .admin-tab {
    min-height: 43px;
    padding: 9px 1px 10px;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    color: #4d6175;
    box-shadow: none;
    font-weight: 750;
}

body.admin-page #admin-app .admin-tab:hover {
    background: transparent;
    color: #12385c;
}

body.admin-page #admin-app .admin-tab.active {
    border-bottom-color: #12385c;
    background: transparent;
    color: #12385c;
}

body.admin-page #admin-app .admin-panel {
    padding: 20px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.admin-page #admin-app .panel-heading.compact-heading {
    margin: 0 0 12px;
}

body.admin-page #admin-app .panel-heading.compact-heading h2,
body.admin-page #admin-app .admin-panel h2 {
    color: #17324d;
    font-size: 21px;
    letter-spacing: -.015em;
}

body.admin-page #admin-app .admin-filter-grid {
    margin: 0 0 14px;
    padding: 12px;
    border: 1px solid #d3dde6;
    border-radius: 6px;
    background: #f7f9fb;
}

body.admin-page #admin-app input,
body.admin-page #admin-app select,
body.admin-page #admin-app textarea {
    border-radius: 5px;
}

body.admin-page #admin-app button,
body.admin-page #admin-app .result-button,
body.admin-page #admin-app .secondary-button,
body.admin-page #admin-app .danger-button {
    border-radius: 5px;
    box-shadow: none;
}

body.admin-page #admin-app button:not(.text-action):not(.icon-button):not(.admin-tab):not(.company-detail-tab):not(.filter-pill) {
    background: #12385c;
}

body.admin-page #admin-app .secondary-button {
    border: 1px solid #aebdcb;
    background: #fff !important;
    color: #12385c;
}

body.admin-page #admin-app .danger-button {
    background: #a82525 !important;
    color: #fff;
}

body.admin-page #admin-app .admin-table-wrap {
    max-height: 440px;
    overflow: auto;
    border: 1px solid #cbd4de;
    border-radius: 6px;
    background: #fff;
}

body.admin-page #admin-app .admin-table thead th {
    background: #eef2f5;
    color: #344b61;
    border-bottom: 1px solid #cbd4de;
    font-size: .76rem;
    letter-spacing: .02em;
    text-transform: uppercase;
}

body.admin-page #admin-app .admin-table td {
    border-bottom: 1px solid #e1e6eb;
}

body.admin-page #admin-app .admin-table tbody tr:last-child td {
    border-bottom: 0;
}

body.admin-page #admin-app .admin-table tr.admin-user-row:hover td {
    background: #f3f6f8 !important;
}

body.admin-page #admin-app .company-page,
body.admin-page #admin-app .user-page {
    gap: 0;
}

body.admin-page #admin-app .company-breadcrumb {
    margin-bottom: 12px;
}

body.admin-page #admin-app .company-page-header {
    padding: 0 0 14px;
    border-bottom: 1px solid #cbd4de;
}

body.admin-page #admin-app .company-page-title h2 {
    color: #17324d;
    font-size: 25px;
}

body.admin-page #admin-app .company-detail-tabs {
    gap: 22px;
    padding: 0 10px;
    border: 1px solid #d1dbe4;
    border-width: 0 0 1px;
    background: #f9fafb;
}

body.admin-page #admin-app .company-detail-tab {
    min-height: 42px;
    padding: 10px 0 9px !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #4d6175 !important;
    box-shadow: none !important;
}

body.admin-page #admin-app .company-detail-tab:hover {
    color: #12385c !important;
}

body.admin-page #admin-app .company-detail-tab.active {
    border-bottom-color: #12385c !important;
    color: #12385c !important;
}

body.admin-page #admin-app .user-detail-tab.needs-action {
    border-bottom-color: #ba2d2d !important;
    color: #9f1d1d !important;
}

body.admin-page #admin-app .user-detail-tab.needs-action.active {
    color: #861919 !important;
}

body.admin-page #admin-app .tab-action-flag {
    width: 8px;
    height: 8px;
    overflow: hidden;
    border-radius: 50%;
    background: #c62828;
    color: transparent;
}

body.admin-page #admin-app .count-pill {
    min-width: 20px;
    margin-left: 5px;
    padding: 1px 5px;
    border-radius: 3px;
    background: #e4e9ee;
    color: #344b61;
    font-size: 11px;
}

body.admin-page #admin-app .company-detail-body {
    gap: 0;
}

body.admin-page #admin-app .company-detail-section {
    margin: 0;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid #d9e0e7;
    border-radius: 0;
    background: transparent;
}

body.admin-page #admin-app .company-detail-section:last-child {
    border-bottom: 0;
}

body.admin-page #admin-app .section-title-row {
    margin-bottom: 14px;
}

body.admin-page #admin-app .section-title-row h3,
body.admin-page #admin-app .company-detail-section h3,
body.admin-page #admin-app .company-detail-section h4 {
    color: #17324d;
}

body.admin-page #admin-app .user-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 22px;
}

body.admin-page #admin-app .user-summary-block {
    padding: 12px 14px 14px;
    border: 1px solid #e0e6ec;
    border-radius: 6px;
    background: #fbfcfd;
}

body.admin-page #admin-app .user-summary-block h4 {
    margin: 0 0 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #d9e0e7;
    color: #344b61;
    font-size: .82rem;
    letter-spacing: .035em;
    text-transform: uppercase;
}

body.admin-page #admin-app .review-detail-list {
    gap: 5px 18px;
    margin: 0;
}

body.admin-page #admin-app .review-detail-list dt {
    color: #4c6074;
    font-weight: 700;
}

body.admin-page #admin-app .review-detail-list dd {
    color: #172b3f;
}

body.admin-page #admin-app .admin-review-card,
body.admin-page #admin-app .admin-accreditation-row,
body.admin-page #admin-app .cpd-row,
body.admin-page #admin-app .installer-link-row,
body.admin-page #admin-app .provider-check-row {
    margin: 0;
    padding: 11px 0;
    border: 0;
    border-bottom: 1px solid #dfe5eb;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.admin-page #admin-app .admin-list > :last-child,
body.admin-page #admin-app .provider-check-list > :last-child {
    border-bottom: 0;
}

body.admin-page #admin-app .review-summary-grid span {
    min-height: 23px;
    padding: 2px 7px;
    border-radius: 3px;
    background: #eef1f4;
}

body.admin-page #admin-app .company-summary-grid {
    gap: 0;
    overflow: hidden;
    border: 1px solid #d9e0e7;
    border-radius: 6px;
}

body.admin-page #admin-app .company-metric {
    min-height: 58px;
    padding: 10px 12px;
    border: 0;
    border-right: 1px solid #d9e0e7;
    border-bottom: 1px solid #d9e0e7;
    border-radius: 0;
    background: #fbfcfd;
}

body.admin-page #admin-app .company-decision-actions,
body.admin-page #admin-app .company-review-embed,
body.admin-page #admin-app .provider-review-block {
    border-radius: 6px;
    box-shadow: none;
}

body.admin-page #admin-app .company-decision-actions {
    padding: 12px 0;
    border-width: 1px 0 0;
    background: transparent;
}

body.admin-page #admin-app .identity-verification-photo,
body.admin-page #admin-app .card-photo-review-image,
body.admin-page #admin-app .company-logo-panel,
body.admin-page #admin-app .company-logo-upload-preview {
    border-radius: 5px;
}

body.admin-page #admin-app .photo-review-column {
    padding: 0 18px 0 0;
    border: 0;
    border-right: 1px solid #d9e0e7;
    border-radius: 0;
    background: transparent;
}

body.admin-page #admin-app .photo-review-column:last-child {
    padding-right: 0;
    border-right: 0;
}

body.admin-page #admin-app .admin-photo-upload {
    padding: 12px 0 0;
    border-width: 1px 0 0;
    border-radius: 0;
    background: transparent;
}

body.admin-page .modal-card {
    border-radius: 10px;
    box-shadow: 0 18px 50px rgba(9, 28, 48, .22);
}

body.admin-page .modal-card input,
body.admin-page .modal-card select,
body.admin-page .modal-card textarea,
body.admin-page .modal-card button:not(.icon-button) {
    border-radius: 5px;
}

@media (max-width: 820px) {
    .page-shell,
    .landing-shell {
        width: min(100% - 20px, 640px);
        padding: 10px 0 20px;
    }

    .hero-card {
        border-radius: 10px;
    }

    .hero-card > .brand-row,
    body.admin-page .brand-row {
        padding: 13px 14px;
    }

    .content-grid {
        gap: 14px;
        padding: 22px 18px 24px;
    }

    .checker-panel {
        padding: 19px;
        border-radius: 8px;
    }

    .landing-hero {
        padding: 26px 18px 24px;
    }

    .landing-actions {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 22px;
    }

    .landing-card {
        min-height: 0;
        padding: 18px;
        border-radius: 7px;
    }

    .hero-card > .brand-row .top-nav,
    body.admin-page .brand-row .top-nav {
        width: 100%;
        margin: 8px 0 0;
        overflow-x: auto;
    }

    .hero-card > .brand-row,
    body.admin-page .brand-row {
        flex-wrap: wrap;
    }

    body.admin-page .admin-shell {
        width: min(100% - 18px, 760px);
        padding: 9px 0 18px;
    }

    body.admin-page .installer-admin-card {
        min-height: calc(100vh - 27px);
        border-radius: 10px;
    }

    body.admin-page #admin-app.installer-app {
        padding: 14px 14px 22px;
    }

    body.admin-page #admin-app .admin-hero-bar {
        align-items: stretch;
        padding: 12px;
    }

    body.admin-page #admin-app .admin-tabs,
    body.admin-page #admin-app .company-detail-tabs {
        gap: 16px;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    body.admin-page #admin-app .admin-tab,
    body.admin-page #admin-app .company-detail-tab {
        flex: 0 0 auto;
    }

    body.admin-page #admin-app .admin-filter-grid {
        padding: 10px;
    }

    body.admin-page #admin-app .user-summary-grid {
        grid-template-columns: 1fr;
    }

    body.admin-page #admin-app .card-photo-review-grid {
        gap: 18px;
    }

    body.admin-page #admin-app .photo-review-column {
        padding: 0 0 18px;
        border-right: 0;
        border-bottom: 1px solid #d9e0e7;
    }

    body.admin-page #admin-app .photo-review-column:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }
}

/* v0.18.66.9: company, power-user and signup workflow polish. */
body.admin-page #admin-app .admin-list-page {
    width: min(100%, 1180px);
    margin: 0 auto;
    padding: 18px 20px 20px;
    border: 1px solid #cbd6df;
    border-radius: 8px;
    background: #fff;
}

body.admin-page #admin-app .company-list-page .panel-heading,
body.admin-page #admin-app .power-users-list-page .panel-heading {
    padding-bottom: 12px;
    border-bottom: 1px solid #dce3e9;
}

body.admin-page #admin-app .power-filter-grid {
    grid-template-columns: minmax(260px, 1fr) minmax(190px, 260px) auto;
    align-items: end;
    padding: 10px 0 12px;
    border: 0;
    border-bottom: 1px solid #dce3e9;
    border-radius: 0;
    background: transparent;
}

body.admin-page #admin-app .admin-table-orgs,
body.admin-page #admin-app .company-people-table{
    width: 100%;
    table-layout: fixed;
}

body.admin-page #admin-app .review-status-badge,
body.admin-page #admin-app .account-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    padding: 3px 8px;
    border: 1px solid #c8d2dc;
    border-left-width: 4px;
    border-radius: 3px;
    background: #f4f6f8;
    color: #344b61;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}

body.admin-page #admin-app .status-approved,
body.admin-page #admin-app .account-status-active {
    border-left-color: #2e7d4f;
    background: #edf7f1;
    color: #1d603b;
}

body.admin-page #admin-app .status-pending-review,
body.admin-page #admin-app .status-more-info-required,
body.admin-page #admin-app .account-status-unverified,
body.admin-page #admin-app .account-status-pending-setup,
body.admin-page #admin-app .account-status-pending-review {
    border-left-color: #c88200;
    background: #fff8e8;
    color: #795100;
}

body.admin-page #admin-app .status-check-failed,
body.admin-page #admin-app .status-rejected,
body.admin-page #admin-app .account-status-rejected,
body.admin-page #admin-app .account-status-suspended {
    border-left-color: #b3261e;
    background: #fff0ef;
    color: #8e1f1a;
}

body.admin-page #admin-app .company-detail-view {
    width: min(100%, 1180px);
    margin: 0 auto;
}

body.admin-page #admin-app .company-page {
    gap: 0;
    padding: 17px 20px 22px;
    border: 1px solid #cbd6df;
    border-radius: 8px;
    background: #fff;
}

body.admin-page #admin-app .company-page-header {
    padding: 0 0 14px;
}

body.admin-page #admin-app .company-status-strip {
    padding-top: 0;
}

body.admin-page #admin-app .company-detail-tabs {
    margin: 0 -20px;
    padding: 0 20px;
}

body.admin-page #admin-app .company-detail-body {
    padding-top: 2px;
}

body.admin-page #admin-app .company-page-actions,
body.admin-page #admin-app .header-action-pair,
body.admin-page #admin-app .table-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}

body.admin-page #admin-app .company-page-actions button,
body.admin-page #admin-app .header-action-pair button,
body.admin-page #admin-app .table-action-button {
    min-width: 0 !important;
    width: auto !important;
    margin: 0 !important;
    padding: 7px 10px;
    border-radius: 4px;
    font-size: 12px;
    line-height: 1.2;
}

body.admin-page #admin-app .company-people-table th:nth-child(1),
body.admin-page #admin-app .company-people-table td:nth-child(1) { width: 30%; }
body.admin-page #admin-app .company-people-table th:nth-child(2),
body.admin-page #admin-app .company-people-table td:nth-child(2) { width: 31%; }
body.admin-page #admin-app .company-people-table th:nth-child(3),
body.admin-page #admin-app .company-people-table td:nth-child(3) { width: 17%; }
body.admin-page #admin-app .company-people-table th:nth-child(4),
body.admin-page #admin-app .company-people-table td:nth-child(4) { width: 22%; }

body.admin-page #admin-app .admin-table-orgs th:nth-child(1),
body.admin-page #admin-app .admin-table-orgs td:nth-child(1) { width: 22%; }
body.admin-page #admin-app .admin-table-orgs th:nth-child(2),
body.admin-page #admin-app .admin-table-orgs td:nth-child(2) { width: 17%; }
body.admin-page #admin-app .admin-table-orgs th:nth-child(3),
body.admin-page #admin-app .admin-table-orgs td:nth-child(3) { width: 22%; }
body.admin-page #admin-app .admin-table-orgs th:nth-child(4),
body.admin-page #admin-app .admin-table-orgs td:nth-child(4) { width: 12%; }
body.admin-page #admin-app .admin-table-orgs th:nth-child(5),
body.admin-page #admin-app .admin-table-orgs td:nth-child(5) { width: 14%; }
body.admin-page #admin-app .admin-table-orgs th:nth-child(6),
body.admin-page #admin-app .admin-table-orgs td:nth-child(6) { width: 13%; }

body.admin-page #admin-app .power-user-page .company-detail-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 24px;
}

body.admin-page #admin-app .power-user-page .company-detail-section {
    border-bottom: 0;
}

.result-actions {
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
    margin-top: 12px;
}

.result-actions .result-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 8px 13px;
    border-radius: 5px;
    background: #12385c;
    color: #fff;
    font-weight: 800;
    text-decoration: none;
}

@media (max-width: 820px) {
    body.admin-page #admin-app .admin-list-page,
    body.admin-page #admin-app .company-page {
        padding: 14px;
    }

    body.admin-page #admin-app .company-detail-tabs {
        margin: 0 -14px;
        padding: 0 14px;
    }

    body.admin-page #admin-app .power-filter-grid,
body.admin-page #admin-app .power-user-page .company-detail-body{
        grid-template-columns: 1fr;
    }

    body.admin-page #admin-app .admin-table-orgs,
body.admin-page #admin-app .company-people-table{
        min-width: 720px;
    }
}

/* v0.18.66.11: admin route, company layout and modal corrections. */
body.admin-page #admin-app .admin-list-page,body.admin-page #admin-app .company-detail-view{width:100%;max-width:none;margin:0;}
body.admin-page #admin-app .admin-list-page{padding:0;border:0;border-radius:0;background:transparent;}
body.admin-page #admin-app .company-page{padding:0;border:0;border-radius:0;background:transparent;}
body.admin-page #admin-app .company-list-page .panel-heading,body.admin-page #admin-app .power-users-list-page .panel-heading{padding-bottom:10px;}
body.admin-page #admin-app .power-filter-grid{width:100%;}

body.admin-page #admin-app .company-page-header{align-items:flex-start;padding:2px 0 12px;}
body.admin-page #admin-app .company-header-controls{display:grid;justify-items:end;gap:9px;min-width:min(100%,560px);}
body.admin-page #admin-app .company-status-strip{display:flex;justify-content:flex-end;}
body.admin-page #admin-app .company-page-actions{justify-content:flex-end;}
body.admin-page #admin-app .company-page-actions button{min-height:36px;}
body.admin-page #admin-app .company-people-table tbody tr{height:auto;}
body.admin-page #admin-app .company-people-table td{height:auto;min-height:48px;overflow:visible;}
body.admin-page #admin-app .company-people-table th:nth-child(1),body.admin-page #admin-app .company-people-table td:nth-child(1){width:27%;}
body.admin-page #admin-app .company-people-table th:nth-child(2),body.admin-page #admin-app .company-people-table td:nth-child(2){width:30%;}
body.admin-page #admin-app .company-people-table th:nth-child(3),body.admin-page #admin-app .company-people-table td:nth-child(3){width:17%;}
body.admin-page #admin-app .company-people-table th:nth-child(4),body.admin-page #admin-app .company-people-table td:nth-child(4){width:26%;}
body.admin-page #admin-app .table-actions-nowrap{display:flex;align-items:center;justify-content:flex-end;gap:6px;flex-wrap:nowrap;white-space:nowrap;}
body.admin-page #admin-app .table-action-button{display:inline-flex;align-items:center;justify-content:center;min-width:68px!important;min-height:34px;padding:6px 9px!important;white-space:nowrap;}
body.admin-page #admin-app .account-status-badge,body.admin-page #admin-app .review-status-badge{min-height:28px;padding:4px 9px;font-size:12.5px;}
body.modal-open{overflow:hidden;}
body.admin-page .modal-card{max-height:calc(100vh - 32px);overflow:auto;padding-top:22px;}
body.admin-page .modal-card .modal-close{position:sticky!important;top:0;z-index:20;float:right;margin:-10px -8px 4px 12px!important;border:1px solid #aebdcb!important;background:#fff!important;color:#12385c!important;cursor:pointer;}
body.admin-page .modal-card .modal-close:hover,body.admin-page .modal-card .modal-close:focus-visible{border-color:#12385c!important;outline:3px solid rgba(18,56,92,.18);}
body.admin-page .modal-card>h2{padding-right:42px;}
@media(max-width:900px){body.admin-page #admin-app .company-page-header,body.admin-page #admin-app .company-header-controls{display:flex;flex-direction:column;align-items:stretch;min-width:0;}body.admin-page #admin-app .company-status-strip,body.admin-page #admin-app .company-page-actions{justify-content:flex-start;}}

/* v0.18.66.11: restore visible action buttons and robust admin workspaces. */
body.admin-page #admin-app button.compact-action:not(.secondary-button):not(.danger-button),
body.admin-page #admin-app button.table-action-button:not(.secondary-button):not(.danger-button),
body.admin-page #admin-app .company-page-actions button:not(.secondary-button):not(.danger-button),
body.admin-page #admin-app .header-action-pair button:not(.secondary-button):not(.danger-button) {
    border: 1px solid #12385c !important;
    background: #12385c !important;
    color: #fff !important;
}
body.admin-page #admin-app button.secondary-button,
body.admin-page #admin-app a.secondary-button,
body.admin-page #admin-app .table-action-button.secondary-button {
    border: 1px solid #9fb1c1 !important;
    background: #fff !important;
    color: #12385c !important;
}
body.admin-page #admin-app button.danger-button,
body.admin-page #admin-app .table-action-button.danger-button {
    border: 1px solid #a82525 !important;
    background: #a82525 !important;
    color: #fff !important;
}
body.admin-page #admin-app button:disabled {
    border-color: #c7d0d8 !important;
    background: #e9edf1 !important;
    color: #687786 !important;
    opacity: 1;
}
body.admin-page #admin-app .company-people-table td:last-child{
    overflow: visible;
}
body.admin-page #admin-app .table-actions-nowrap .table-action-button{
    min-width: 82px !important;
    white-space: nowrap;
}
body.admin-page #admin-app .table-actions-nowrap {
    min-width: max-content;
}
body.admin-page #admin-app .company-user-page .company-detail-tabs {
    margin-top: 2px;
}
body.admin-page #admin-app .company-user-page .company-detail-body {
    min-width: 0;
}
body.admin-page .modal-card {
    position: relative;
    overflow: auto;
    padding-top: 24px;
}
body.admin-page .modal-card .modal-close {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    float: none !important;
    width: 38px !important;
    height: 38px !important;
    min-width: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid #9fb1c1 !important;
    border-radius: 4px !important;
    background: #fff !important;
    color: #12385c !important;
    font-size: 25px !important;
    line-height: 1 !important;
    z-index: 50;
}
body.admin-page .modal-card > h2 {
    padding-right: 52px;
}

/* v0.18.66.12: complete the flatter style for company workspaces. */
body.admin-page #admin-app .company-page,
body.admin-page #admin-app .company-user-page,
body.admin-page #admin-app .power-user-page {
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

body.admin-page #admin-app .company-page-header,
body.admin-page #admin-app .company-detail-section,
body.admin-page #admin-app .company-review-card,
body.admin-page #admin-app .company-summary,
body.admin-page #admin-app .company-detail-block,
body.admin-page #admin-app .company-review-embed,
body.admin-page #admin-app .company-overview-grid > *,
body.admin-page #admin-app .company-summary-grid > * {
    border-radius: 0 !important;
    box-shadow: none !important;
}

body.admin-page #admin-app .company-detail-section,
body.admin-page #admin-app .company-review-card,
body.admin-page #admin-app .company-summary,
body.admin-page #admin-app .company-detail-block,
body.admin-page #admin-app .company-review-embed {
    border: 0 !important;
    border-bottom: 1px solid #d9e0e7 !important;
    background: transparent !important;
}

body.admin-page #admin-app .company-detail-section:last-child,
body.admin-page #admin-app .company-review-card:last-child,
body.admin-page #admin-app .company-detail-block:last-child {
    border-bottom: 0 !important;
}

body.admin-page #admin-app .company-summary-grid > *,
body.admin-page #admin-app .company-overview-grid > * {
    border: 1px solid #dbe3ea !important;
    background: #fbfcfd !important;
}

body.admin-page #admin-app .company-detail-tabs {
    border-radius: 0 !important;
    box-shadow: none !important;
}

/* v0.18.66.20: separate user statuses from user actions. */
body.admin-page #admin-app .user-status-strip {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}
body.admin-page #admin-app .idv-status-badge {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 9px;
    box-sizing: border-box;
    border: 1px solid #c7d1da;
    border-left: 3px solid #c88200;
    border-radius: 4px;
    background: #fff8e8;
    color: #795100;
    font-size: 12.5px;
    font-weight: 800;
    line-height: 1.2;
    white-space: nowrap;
}
body.admin-page #admin-app .idv-status-verified,
body.admin-page #admin-app .idv-status-clear,
body.admin-page #admin-app .idv-status-complete,
body.admin-page #admin-app .idv-status-bypassed {
    border-left-color: #2e7d4f;
    background: #edf7f1;
    color: #1d603b;
}
body.admin-page #admin-app .idv-status-rejected,
body.admin-page #admin-app .idv-status-error {
    border-left-color: #b3261e;
    background: #fff0ef;
    color: #8e1f1a;
}
body.admin-page #admin-app .user-workspace-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    flex-wrap: wrap;
}
body.admin-page #admin-app .user-workspace-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto !important;
    min-width: 0 !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 0 11px !important;
    box-sizing: border-box;
    border-width: 1px !important;
    border-style: solid !important;
    border-radius: 4px;
    font-size: 12px;
    font-weight: 800;
    line-height: 1 !important;
    white-space: nowrap;
}
body.admin-page #admin-app .user-workspace-actions button.hidden { display: none !important; }
body.admin-page #admin-app .user-workspace-actions button:disabled {
    cursor: not-allowed;
    opacity: .62;
}
@media (max-width: 760px) {
    body.admin-page #admin-app .company-page-header,
    body.admin-page #admin-app .user-status-strip {
        justify-content: flex-start;
    }
    body.admin-page #admin-app .user-overview-section .section-title-row {
        align-items: flex-start;
    }
    body.admin-page #admin-app .user-workspace-actions {
        width: 100%;
        justify-content: flex-start;
    }
}


/* Signup payment flow */
.signup-fee-summary,
.payment-summary {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
  margin:1.1rem 0;
  padding:.9rem 0;
  border-top:1px solid rgba(18,56,92,.16);
  border-bottom:1px solid rgba(18,56,92,.16);
  border-radius:0;
  background:transparent;
}
.signup-fee-summary strong,
.payment-summary strong {
  white-space:nowrap;
}
.payment-grid {
  grid-template-columns:minmax(0,1.08fr) minmax(320px,.92fr);
  align-items:start;
}
.payment-intro-panel {
  max-width:620px;
}
.payment-action-panel,
.payment-status-panel {
  min-width:0;
}
.payment-action-panel .form-help {
  margin-bottom:.85rem;
}
.payment-action-panel > .notice,
.payment-status-panel > .notice {
  margin-top:1rem;
}
.payment-result-area {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  gap:1rem;
  margin-top:1rem;
}
.payment-result-area:empty {
  display:none;
}
.payment-result-area > .notice {
  width:100%;
  margin:0;
}
.payment-link-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto;
  min-height:48px;
  margin-top:0;
  padding:0 18px;
  text-decoration:none;
}
.payment-action-panel > .payment-link-button {
  margin-top:1rem;
}
@media (max-width:760px) {
  .payment-grid {
    grid-template-columns:1fr;
  }
  .payment-intro-panel {
    padding-bottom:0;
  }
}
@media (max-width:560px) {
  .payment-link-button {
    width:100%;
  }
}

/* v0.18.70.6: shared legal and contact footer. */
.iaa-bot-nav {
    display: grid;
    grid-template-columns: minmax(0, auto) minmax(0, 1fr);
    align-items: start;
    gap: 14px 28px;
    margin: 14px 4px 0;
    padding: 13px 4px 0;
    border-top: 1px solid rgba(8, 43, 85, .14);
    color: #526276;
    font-size: 12.5px;
    line-height: 1.45;
}

.iaa-bot-nav a {
    color: #40556d;
    text-decoration: none;
}

.iaa-bot-nav a:hover,
.iaa-bot-nav a:focus-visible {
    color: var(--iaa-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.iaa-bot-nav a[aria-current="page"] {
    color: var(--iaa-blue);
    font-weight: 800;
}

.iaa-bot-nav-links,
.iaa-bot-nav-contact {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 5px 16px;
}

.iaa-bot-nav-contact {
    justify-content: flex-end;
    text-align: right;
}

.iaa-bot-nav-label {
    color: #273b53;
    font-weight: 800;
}

.iaa-bot-nav address {
    margin: 0;
    max-width: 470px;
    font: inherit;
}

.legal-page-grid {
    align-items: start;
}

.legal-placeholder-panel p:last-child {
    margin-bottom: 0;
}

@media (max-width: 820px) {
    .iaa-bot-nav {
        grid-template-columns: 1fr;
        gap: 9px;
        margin: 12px 2px 0;
        padding: 12px 2px 0;
    }

    .iaa-bot-nav-contact {
        justify-content: flex-start;
        text-align: left;
    }

    .iaa-bot-nav address {
        flex-basis: 100%;
    }
}

/* Signup legal consent */
.signup-consent {
    align-items: flex-start;
    margin-top: 8px;
}
.signup-consent input[type="checkbox"] {
    margin-top: 1px;
}
.signup-consent a {
    color: var(--iaa-blue);
    font-weight: 800;
    text-decoration: underline;
    text-underline-offset: 2px;
}
.signup-consent a:hover,
.signup-consent a:focus-visible {
    text-decoration-thickness: 2px;
}

/* v0.18.72.1: persisted ComplyCube comparison and assurance detail. */
.assessment-reason{display:block;margin-top:6px;color:#5b6b7d;font-size:.82rem;font-weight:500;line-height:1.4;max-width:52rem;}
.compact-review-list dd{overflow-wrap:anywhere;}

/* Public installer/designer company registration. */
.public-company-signup-shell {
    max-width: 1120px;
}

.company-signup-grid {
    align-items: start;
}

.company-type-choice {
    margin: 0 0 22px;
    padding: 0;
    border: 0;
}

.company-type-choice legend {
    margin-bottom: 10px;
    font-weight: 800;
}

.company-manual-toggle,
.company-confirmed-actions .text-action {
    margin-top: 12px;
}

.company-signup-fee-note {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 22px 0 10px;
    padding: 15px 0;
    border-top: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
}

.company-signup-fee-note strong {
    color: var(--iaa-blue);
}

.plain-consent {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
}

.password-policy-help {
    margin-top: -4px;
}

#company_admin_name_fields[hidden] {
    display: none !important;
}

#company_admin_name_fields {
    margin-top: 12px;
}

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

.company-admin-name-grid > div {
    min-width: 0;
    display: grid;
    gap: 7px;
}

.company-admin-name-grid label {
    display: block;
    margin: 0;
    min-height: 0;
    line-height: 1.3;
    white-space: nowrap;
}

.company-admin-name-grid input {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    margin: 0;
}

@media (max-width: 620px) {
    .company-admin-name-grid { grid-template-columns: 1fr; }
    .company-admin-name-grid label { white-space: normal; }
}

/* Card purchasing and remembered MFA */
.settings-section{border-top:1px solid var(--border-color,#d8e1eb);margin-top:1.35rem;padding-top:1.15rem}
.settings-row{display:flex;flex-wrap:wrap;gap:1.5rem;margin:.65rem 0 1rem}
.settings-row>div{min-width:8rem}
.settings-row span{display:block;font-size:.78rem;color:var(--muted-color,#5c6f83)}
.settings-row strong{display:block;font-size:1.45rem;margin-top:.2rem}
.inline-form.card-credit-purchase{display:flex;align-items:end;gap:.75rem;flex-wrap:wrap}
.inline-form.card-credit-purchase label{display:grid;gap:.3rem;font-weight:700}
.inline-form.card-credit-purchase input{width:8rem}
.choice-fieldset{border:1px solid var(--border-color,#d8e1eb);padding:.85rem 1rem;margin:.35rem 0;display:grid;gap:.7rem}
.choice-fieldset legend{font-weight:800;padding:0 .3rem}
.choice-fieldset label{display:flex;gap:.55rem;align-items:center;font-weight:600}
.mfa-remember-device{display:flex;align-items:center;gap:.5rem;margin:.7rem 0;font-weight:600}

/* v0.100.0.5: MFA and field-user payment controls */
.mfa-challenge{
    display:grid;
    gap:12px;
    width:100%;
}
.mfa-challenge .mfa-code-field{
    display:grid;
    gap:6px;
    margin:0;
    font-weight:800;
    color:#12385c;
}
.mfa-challenge .mfa-code-field input{
    width:100%;
    min-height:44px;
    box-sizing:border-box;
    margin:0;
    border:1px solid rgba(18,56,92,.22);
    border-radius:12px;
    padding:10px 12px;
    font:inherit;
    background:#fff;
}
.mfa-challenge .mfa-remember-device{
    display:flex;
    align-items:flex-start;
    gap:9px;
    margin:0;
    font-weight:650;
    line-height:1.35;
    color:#12385c;
    cursor:pointer;
}
.mfa-challenge .mfa-remember-device input[type="checkbox"]{
    appearance:auto;
    width:18px!important;
    height:18px!important;
    min-height:0!important;
    flex:0 0 18px;
    margin:1px 0 0!important;
    padding:0!important;
    border-radius:3px;
}
.mfa-challenge button{
    width:100%!important;
    min-height:44px;
    margin:0!important;
}
.add-field-user-form .card-payment-choice{
    grid-column:1/-1;
    width:100%;
    box-sizing:border-box;
    margin:4px 0 0;
    padding:0;
    border:0;
}
.add-field-user-form .card-payment-choice legend{
    margin:0 0 8px;
    padding:0;
    color:#12385c;
    font-size:.92rem;
    font-weight:800;
}
.payment-choice-options{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
}
.modal-card .payment-choice-option{
    display:flex;
    align-items:flex-start;
    gap:10px;
    min-width:0;
    margin:0;
    padding:13px 14px;
    border:1px solid rgba(18,56,92,.16);
    border-radius:12px;
    background:#f8fbfd;
    cursor:pointer;
}
.modal-card .payment-choice-option:has(input:checked){
    border-color:#2f6f9f;
    background:#eef7ff;
    box-shadow:0 0 0 2px rgba(47,111,159,.08);
}
.modal-card .payment-choice-option input[type="radio"]{
    appearance:auto;
    width:18px!important;
    height:18px!important;
    min-height:0!important;
    flex:0 0 18px;
    margin:2px 0 0!important;
    padding:0!important;
}
.payment-choice-option span{
    display:grid;
    gap:4px;
    min-width:0;
}
.payment-choice-option strong{
    color:#12385c;
    line-height:1.25;
}
.payment-choice-option small{
    color:#5b6b7d;
    font-size:.78rem;
    line-height:1.35;
}
.add-field-user-form .create-field-user-submit,
.add-field-user-form #installer_create_user_result{
    grid-column:1/-1;
}
.add-field-user-form .create-field-user-submit{
    width:100%;
    margin-top:4px!important;
}
@media(max-width:620px){
    .payment-choice-options{grid-template-columns:1fr;}
}


/* Card renewal flags */
.renewal-status{display:flex!important;width:max-content;margin-top:6px;white-space:nowrap}
.renewal-due{background:#fff6d8!important;color:#745400!important}
.renewal-expired{background:#fff0f0!important;color:#9e1b1b!important}
.user-status-strip .renewal-status{margin-top:0}

/* Accreditation catalogue and searchable company people */
.accreditation-catalogue-filters{
    display:grid;
    grid-template-columns:minmax(240px,2fr) repeat(3,minmax(145px,1fr)) auto;
    gap:10px;
    align-items:end;
    margin:14px 0 18px;
}
.accreditation-catalogue-filters input,
.accreditation-catalogue-filters select{width:100%;}
.accreditation-catalogue-table code{
    display:inline-block;
    max-width:260px;
    overflow-wrap:anywhere;
    white-space:normal;
    font-size:.78rem;
}
.table-sort-button{
    appearance:none;
    border:0;
    background:transparent;
    color:inherit;
    font:inherit;
    font-weight:700;
    padding:0;
    text-align:left;
    cursor:pointer;
}
.table-sort-button:hover,
.table-sort-button:focus-visible{color:#0c4f82;text-decoration:underline;}
.table-sort-button.active::after{content:' ↕';font-size:.72em;opacity:.65;}
.table-sort-button.active[aria-sort="ascending"]::after{content:' ↑';}
.table-sort-button.active[aria-sort="descending"]::after{content:' ↓';}
.company-people-search{
    display:flex;
    justify-content:flex-end;
    margin:0 0 12px;
}
.company-people-search input{
    width:min(100%,420px);
}
.accreditation-definition-grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 18px;
}
.accreditation-definition-grid .form-field-wide{grid-column:1/-1;}
@media(max-width:900px){
    .accreditation-catalogue-filters{grid-template-columns:repeat(2,minmax(0,1fr));}
    .accreditation-catalogue-filters button{width:100%;}
}
@media(max-width:620px){
    .accreditation-catalogue-filters,
    .accreditation-definition-grid{grid-template-columns:1fr;}
    .accreditation-definition-grid .form-field-wide{grid-column:auto;}
    .company-people-search input{width:100%;}
}


/* v0.100.0.5 installer user import/link and accreditation request tools */
.installer-user-create-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    align-items:center;
}
.bulk-user-preview{
    margin-top:12px;
    overflow-x:auto;
}
.bulk-user-preview .admin-table{min-width:760px;}
.bulk-import-summary{
    display:grid;
    gap:0;
    border-top:1px solid var(--line,#d6e0e8);
}
.bulk-import-result{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:9px 2px;
    border-bottom:1px solid var(--line,#d6e0e8);
}
.bulk-import-result span{font-size:.82rem;text-align:right;}
.bulk-import-result.error span{color:#9f1b1b;}
.company-merge-target{
    width:100%;
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:16px;
    padding:10px 2px;
    border:0;
    border-bottom:1px solid var(--line,#d6e0e8);
    border-radius:0;
    background:transparent;
    color:inherit;
    text-align:left;
}
.company-merge-target:hover,
.company-merge-target:focus-visible{background:#f2f6f9;}
.company-merge-target span{font-size:.8rem;color:var(--muted,#607487);}
.accreditation-request-admin-section{border-bottom:1px solid var(--line,#d6e0e8);padding-bottom:18px;margin-bottom:18px;}
.accreditation-request-admin-row{align-items:flex-start;}
.accreditation-request-admin-row .record-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:3px;}
.accreditation-request-admin-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end;min-width:min(100%,390px);}
.accreditation-request-assign{display:flex;align-items:center;gap:7px;}
.accreditation-request-assign select{min-width:220px;max-width:320px;}
@media(max-width:720px){
    .bulk-import-result{display:block;}
    .bulk-import-result span{display:block;text-align:left;margin-top:3px;}
    .accreditation-request-admin-row{display:block;}
    .accreditation-request-admin-actions{justify-content:flex-start;min-width:0;margin-top:10px;}
    .accreditation-request-assign{width:100%;align-items:stretch;flex-direction:column;}
    .accreditation-request-assign select{max-width:none;width:100%;}
}


/* v0.100.0.5 association, installer-user and company-merge polish */
#installer_link_user_modal .compact-form{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:12px 16px!important;align-items:center!important;}
#installer_link_user_modal .compact-form>label{margin:0!important;align-self:center!important;}
#installer_link_user_modal .compact-form>input{margin:0!important;min-width:0!important;}
#installer_link_user_modal .installer-link-fallback{grid-column:1/-1!important;width:100%!important;box-sizing:border-box!important;margin:4px 0 0!important;border-radius:10px!important;padding:0!important;background:#f7fafc!important;overflow:hidden!important;}
#installer_link_user_modal .installer-link-fallback>summary{padding:11px 13px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;white-space:normal!important;}
#installer_link_user_modal .installer-link-fallback>summary:after{float:none!important;margin-left:auto!important;}
#installer_link_user_modal .installer-link-fallback-fields{display:grid!important;grid-template-columns:150px minmax(0,1fr)!important;gap:10px 16px!important;padding:0 13px 13px!important;align-items:center!important;}
#installer_link_user_modal .installer-link-fallback-fields .form-help{grid-column:1/-1!important;margin:0 0 3px!important;}
#installer_link_user_modal .installer-link-fallback-fields label{margin:0!important;}
#installer_link_user_modal .link-existing-user-submit{grid-column:2!important;width:auto!important;min-width:210px!important;justify-self:stretch!important;margin-top:2px!important;}
#installer_link_user_modal #installer_link_user_result{grid-column:1/-1!important;}

#installer-app .installer-selected-user-layout{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;}
#installer-app .user-action-panel{align-self:start!important;}
#installer-app .user-action-panel h2{font-size:1rem!important;margin:0 0 8px!important;}
#installer-app .user-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:0!important;}
#installer-app .user-action-button{min-height:40px!important;padding:8px 10px!important;border-radius:9px!important;font-size:.84rem!important;}
#installer-app .selected-user-card{position:relative;}
#installer-app .selected-user-detail-actions{position:absolute;right:0;top:0;display:flex;gap:6px;z-index:2;}
#installer-app .selected-user-remove-link{width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;padding:0!important;margin:0!important;display:grid!important;place-items:center!important;border:0!important;background:transparent!important;color:#9f1b1b!important;box-shadow:none!important;border-radius:8px!important;font-size:15px!important;}
#installer-app .selected-user-remove-link:hover{background:#fff0f0!important;}
#installer-app .selected-user-photo-column{display:flex;flex-direction:column;align-items:center;gap:7px;}
#installer-app .selected-user-edit-link{width:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:2px 5px!important;border:0!important;background:transparent!important;box-shadow:none!important;color:#184e7d!important;font-size:.76rem!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;gap:4px!important;}
#installer-app .selected-user-edit-link:hover{text-decoration:underline;}
#installer-app .association-request-prompt{margin-top:14px;padding:10px 0 0;border-top:1px solid rgba(18,56,92,.13);display:flex;align-items:center;justify-content:space-between;gap:12px;}
#installer-app .association-request-prompt span{display:grid;gap:2px;}
#installer-app .association-request-prompt small{color:#607487;}
#installer-app .association-request-prompt button{width:auto!important;min-width:0!important;margin:0!important;padding:7px 10px!important;}

#admin-app .association-modal-actions{justify-content:flex-end!important;}
#admin-app #admin_add_installer_link{width:auto!important;min-width:120px!important;margin:0!important;}
#company_merge_modal .company-merge-form{gap:9px!important;}
#company_merge_modal .company-merge-search-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;}
#company_merge_modal .company-merge-search-row input{margin:0!important;}
#company_merge_modal #company_merge_search_button{width:auto!important;min-width:92px!important;margin:0!important;}
#company_merge_modal .company-merge-results{border-top:1px solid #d6e0e8;margin-top:4px;}
#company_merge_modal .company-merge-target{min-height:48px!important;padding:9px 6px!important;border-radius:0!important;box-shadow:none!important;font-size:.9rem!important;}
#company_merge_modal .company-merge-target b{font-size:.9rem!important;line-height:1.25!important;}
#company_merge_modal .company-merge-selected .notice{margin:6px 0!important;border-radius:8px!important;padding:10px 12px!important;}
#company_merge_modal .company-merge-confirm-row{display:flex;justify-content:flex-end;margin-top:4px;}
#company_merge_modal #company_merge_confirm{width:auto!important;min-width:0!important;margin:0!important;padding:8px 12px!important;}
@media(max-width:720px){
 #installer_link_user_modal .compact-form,#installer_link_user_modal .installer-link-fallback-fields{grid-template-columns:1fr!important;}
 #installer_link_user_modal .link-existing-user-submit{grid-column:1!important;}
 #installer-app .installer-selected-user-layout{grid-template-columns:1fr!important;}
 #installer-app .user-action-grid{grid-template-columns:1fr!important;}
 #company_merge_modal .company-merge-search-row{grid-template-columns:1fr!important;}
 #company_merge_modal #company_merge_search_button{justify-self:start!important;}
}


/* v0.100.0.5: public login MFA must not inherit the global full-width input rules. */
.login-mfa-step .mfa-challenge{
    display:grid!important;
    gap:12px!important;
    width:100%!important;
    margin:0!important;
}
.login-mfa-step .mfa-challenge .mfa-code-field{
    display:grid!important;
    gap:6px!important;
    margin:0!important;
}
.login-mfa-step .mfa-challenge .mfa-code-field input{
    width:100%!important;
    min-height:46px!important;
    height:auto!important;
    margin:0!important;
    padding:10px 12px!important;
    box-sizing:border-box!important;
}
.login-mfa-step .mfa-challenge .mfa-remember-device{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:9px!important;
    width:auto!important;
    margin:0!important;
    line-height:1.3!important;
}
.login-mfa-step .mfa-challenge .mfa-remember-device input[type="checkbox"]{
    appearance:auto!important;
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    height:18px!important;
    min-height:18px!important;
    padding:0!important;
    margin:0!important;
    box-shadow:none!important;
    flex:0 0 18px!important;
}
.login-mfa-step .mfa-challenge button{
    width:100%!important;
    min-height:44px!important;
    margin:4px 0 0!important;
}

/* Generic scheme/cert-body administration. */
.scope-admin-grid{align-items:start}.scope-admin-grid .compact-form{display:grid;gap:.55rem}.scope-admin-grid .checkbox-row{display:flex;align-items:center;gap:.5rem}.scope-admin-grid .checkbox-row input{width:auto}.scope-brand-logo{display:block;max-width:180px;max-height:54px;object-fit:contain}.scoped-read-only #message_search_results,.scoped-read-only #admin_idv_bypass,.scoped-read-only [data-photo-review],.scoped-read-only .user-detail-edit-action,.scoped-read-only .danger-button{display:none!important}

/* Scoped tenant administration */
.scoped-invite-panel{margin-top:18px}
.scoped-invite-grid{grid-template-columns:minmax(180px,.7fr) minmax(240px,1.3fr) auto}
.scope-chip-line{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.scope-chip{display:inline-flex;align-items:center;border:1px solid rgba(8,43,85,.18);border-radius:999px;padding:2px 7px;font-size:.76rem;font-weight:700;background:rgba(8,43,85,.05)}
.scope-brand-logo{max-width:180px;max-height:58px;object-fit:contain}
@media (max-width:760px){.scoped-invite-grid{grid-template-columns:1fr}}

/* Scope workspace */
.scope-section-tabs{margin:0 0 16px}
.scope-section-panel{display:grid;gap:16px}
.scope-card-heading,.scope-editor-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.scope-card-heading h3,.scope-editor-heading h2{margin:0 0 4px}
.scope-list-card .admin-table-wrap{margin-top:12px}
.scope-list-table{table-layout:fixed!important;min-width:700px!important}
.scope-list-table .scope-col-name{width:30%}.scope-list-table .scope-col-type{width:25%}.scope-list-table .scope-col-count{width:10%}.scope-list-table .scope-col-status{width:12%}.scope-list-table .scope-col-action{width:13%}
.scope-list-table th:nth-child(3),.scope-list-table td:nth-child(3),.scope-list-table th:nth-child(4),.scope-list-table td:nth-child(4){text-align:center}
.scope-list-table th:nth-child(5),.scope-list-table td:nth-child(5){white-space:nowrap;overflow-wrap:normal}
.scope-selected-row td{background:rgba(15,71,126,.07)!important}.scope-selected-row td:first-child{box-shadow:inset 4px 0 0 var(--iaa-green)}
.scope-editor-modal{width:min(980px,calc(100vw - 32px))!important;max-height:calc(100vh - 32px)!important;overflow:auto!important;padding:24px!important}
.scope-editor-heading{position:relative;padding-right:50px}.scope-editor-close{position:absolute!important;right:0;top:0;width:42px!important;height:42px!important;min-width:42px!important;margin:0!important}
.scope-editor-tabs{margin:14px 0 18px}.scope-editor-tabs .company-detail-tab{width:auto!important;margin:0!important}
.scope-editor-panel{display:grid;gap:16px}.scope-editor-panel.hidden{display:none!important}
.scope-general-grid,.scope-brand-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.scope-brand-fields .form-field-wide{grid-column:1 / -1}
.scope-editor-modal .form-field{min-width:0}.scope-editor-modal .form-field label,.scope-power-form .form-field label,.scope-simple-form .form-field label{display:block;margin:0 0 6px;font-weight:800;color:var(--iaa-blue)}
.scope-editor-modal .form-field input,.scope-editor-modal .form-field select,.scope-power-form .form-field input,.scope-power-form .form-field select,.scope-simple-form .form-field input,.scope-simple-form .form-field select{display:block;width:100%;min-width:0;box-sizing:border-box;margin:0}
.scope-colour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.scope-colour-grid input[type=color]{height:44px;padding:3px}
.scope-path-preview{display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:12px 14px;border-radius:14px;background:var(--soft);border:1px solid var(--line)}
.scope-path-preview span{font-weight:850;color:var(--iaa-blue);margin-right:4px}.scope-path-preview code{padding:5px 8px;border-radius:8px;background:#fff;border:1px solid var(--line);color:#334155}
.scope-branding-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr);gap:20px;align-items:start}
.scope-brand-preview{--scope-preview-primary:#082b55;--scope-preview-secondary:#86c441;--scope-preview-accent:#f08b22;--scope-preview-background:#f5f8fb;position:sticky;top:0;overflow:hidden;border:1px solid rgba(8,43,85,.16);border-radius:20px;background:#fff;box-shadow:0 18px 40px rgba(7,27,56,.10)}
.scope-brand-preview-top{min-height:86px;padding:18px;display:flex;align-items:center;gap:12px;background:#fff;border-bottom:5px solid var(--scope-preview-secondary);color:var(--scope-preview-primary)}
.scope-brand-preview-top img{max-width:150px;max-height:52px;object-fit:contain}.scope-brand-preview-top strong{font-size:1.15rem}
.scope-brand-preview-body{padding:18px;background:var(--scope-preview-background);color:var(--scope-preview-primary)}
.scope-brand-preview-body>span{display:block;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.09em;margin-bottom:10px}
.scope-brand-preview-card{padding:16px;border-radius:16px;background:var(--scope-preview-primary);color:#fff;box-shadow:0 12px 24px rgba(7,27,56,.14)}
.scope-brand-preview-card b,.scope-brand-preview-card small{display:block}.scope-brand-preview-card small{margin-top:5px;opacity:.82}
.scope-brand-preview button{width:100%!important;margin-top:14px!important;border:0;border-radius:12px;padding:11px 12px;background:var(--scope-preview-secondary);color:#071b38;font-weight:900;border-bottom:3px solid var(--scope-preview-accent)}
.scope-editor-actions{display:flex;align-items:center;gap:14px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.scope-editor-actions>button{width:auto!important;min-width:160px;margin:0!important}.scope-editor-actions>.result-area{flex:1;margin:0}
.scope-membership-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.scope-simple-form{display:grid;gap:14px;margin-top:14px}.scope-simple-form>button{width:auto;justify-self:start}
.scoped-power-access{margin-top:24px}.scope-power-layout{display:grid;grid-template-columns:minmax(320px,.8fr) minmax(420px,1.2fr);gap:20px;align-items:start;margin-top:16px}.scope-power-form{display:grid;gap:14px}.scope-power-form>button{width:auto;justify-self:start}.scope-person-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.scope-checkbox-row{display:flex!important;align-items:center;gap:8px;margin:0!important;font-weight:700!important}.scope-checkbox-row input{width:18px!important;min-width:18px!important;height:18px!important;margin:0!important}.scope-power-list h4{margin:0 0 10px}.scope-admin-table{min-width:540px!important}
@media(max-width:900px){.scope-branding-layout,.scope-power-layout,.scope-membership-layout{grid-template-columns:1fr}.scope-brand-preview{position:static}.scope-colour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.scope-card-heading,.scope-editor-heading{display:grid}.scope-card-heading .compact-action{width:100%}.scope-section-tabs,.scope-editor-tabs{overflow-x:auto;display:flex;white-space:nowrap}.scope-general-grid,.scope-brand-fields,.scope-person-grid{grid-template-columns:1fr}.scope-colour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.scope-editor-actions{display:grid}.scope-editor-actions button{width:100%!important}.scope-editor-modal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;padding:18px!important}}
body.scope-branded-entry .hero-card{border-top:5px solid var(--iaa-green)}
body.scope-branded-entry .brand-row{box-shadow:inset 0 -1px 0 rgba(8,43,85,.06)}

/* v1.1.0.4 admin workspace consistency and scoped-brand presentation */
body.admin-page #admin-app .panel-heading.compact-heading{
  display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 14px;
}
body.admin-page #admin-app .panel-heading.compact-heading h2{margin:0 0 3px}
body.admin-page #admin-app .panel-heading.compact-heading .compact-action{flex:0 0 auto;width:auto!important;margin:0!important}
body.admin-page #admin-app .admin-filter-grid,
body.admin-page #admin-app .standard-search-row{
  display:grid;gap:10px;align-items:center;margin:0 0 14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f6f9fc;
}
body.admin-page #admin-app .admin-filter-grid input,
body.admin-page #admin-app .admin-filter-grid select{margin:0!important;min-height:40px}
body.admin-page #admin-app .admin-filter-grid button{margin:0!important;min-height:40px}
body.admin-page #admin-app .admin-filter-grid-wide{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(140px,1fr)) repeat(3,minmax(130px,.85fr)) auto}
body.admin-page #admin-app .power-filter-grid{grid-template-columns:minmax(280px,1fr) minmax(190px,260px) auto}
body.admin-page #admin-app .skills-filter-grid,
body.admin-page #admin-app .scopes-filter-grid{grid-template-columns:minmax(280px,1fr)}
body.admin-page #admin-app .news-filter-grid{grid-template-columns:minmax(280px,1fr) auto}
body.admin-page #admin-app .news-filter-grid .compact-check-filter{display:flex;align-items:center;gap:8px;margin:0;white-space:nowrap}
body.admin-page #admin-app .news-filter-grid .compact-check-filter input{width:18px!important;min-height:18px;margin:0!important}
body.admin-page #admin-app .admin-table-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;background:#fff}
body.admin-page #admin-app .admin-table{width:100%;border:0;border-radius:0}
body.admin-page #admin-app .admin-table th{background:#eef3f7}
body.admin-page #admin-app .admin-table tr:first-child td{border-top:0}
body.admin-page #admin-app .admin-table-orgs td:nth-child(4),body.admin-page #admin-app .admin-table-orgs td:nth-child(5){white-space:nowrap}
body.admin-page #admin-app .admin-table-orgs{table-layout:fixed;min-width:980px}
body.admin-page #admin-app .admin-table-orgs th:nth-child(1),body.admin-page #admin-app .admin-table-orgs td:nth-child(1){width:19%}
body.admin-page #admin-app .admin-table-orgs th:nth-child(2),body.admin-page #admin-app .admin-table-orgs td:nth-child(2){width:16%}
body.admin-page #admin-app .admin-table-orgs th:nth-child(3),body.admin-page #admin-app .admin-table-orgs td:nth-child(3){width:21%}
body.admin-page #admin-app .admin-table-orgs th:nth-child(4),body.admin-page #admin-app .admin-table-orgs td:nth-child(4){width:13%}
body.admin-page #admin-app .admin-table-orgs th:nth-child(5),body.admin-page #admin-app .admin-table-orgs td:nth-child(5){width:13%}
body.admin-page #admin-app .admin-table-orgs th:nth-child(6),body.admin-page #admin-app .admin-table-orgs td:nth-child(6){width:11%}
body.admin-page #admin-app .admin-table-orgs th:nth-child(7),body.admin-page #admin-app .admin-table-orgs td:nth-child(7){width:7%;text-align:right}

.scope-editor-modal{width:min(1040px,calc(100vw - 32px))!important;padding:22px!important}
.scope-editor-tabs{display:flex;gap:4px;margin:14px 0 18px;padding:4px;border-radius:11px;background:#eef3f7;width:max-content;max-width:100%}
.scope-editor-tab{appearance:none;border:0!important;background:transparent!important;color:var(--iaa-blue)!important;width:auto!important;min-width:100px!important;min-height:36px!important;margin:0!important;padding:8px 14px!important;border-radius:8px!important;box-shadow:none!important;font-weight:850!important}
.scope-editor-tab.active{background:#fff!important;box-shadow:0 1px 4px rgba(7,27,56,.12)!important}
.scope-editor-tab:focus-visible{outline:2px solid var(--iaa-blue);outline-offset:2px}
.scope-editor-panel{padding:0}
.scope-general-grid,.scope-brand-fields{gap:14px}
.scope-brand-preview{border-radius:14px;box-shadow:none}
.scope-brand-preview-card{background:var(--scope-preview-primary)!important}
.scope-membership-options{display:grid;gap:6px;margin-top:7px}
.scope-membership-option{display:grid!important;grid-template-columns:minmax(0,1fr) auto 20px;align-items:center;gap:12px;margin:0!important;padding:9px 11px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--iaa-blue);cursor:pointer}
.scope-membership-option:hover{background:#f8fafc}.scope-membership-option.is-active{border-color:#b7cde1;background:#f5f9fc}
.scope-membership-copy{display:grid;gap:2px;min-width:0}.scope-membership-option small{color:#64748b;font-weight:600}.scope-membership-state{font-size:12px;font-weight:700;color:#64748b;white-space:nowrap}.scope-membership-option.is-active .scope-membership-state{color:var(--iaa-blue)}
.scope-membership-option input{width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;justify-self:end}
.scoped-invite-modal-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.scope-admin-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.news-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

body.scope-branded-admin{background:var(--scope-background,#eef3f7)!important}
body.scope-branded-admin .brand-row{background:var(--scope-primary,var(--iaa-blue))!important;border-bottom-color:var(--scope-secondary,var(--iaa-green))!important}
body.scope-branded-admin .admin-hero-bar{background:var(--scope-primary,var(--iaa-blue))!important}
body.scope-branded-admin .admin-tab.active{border-bottom-color:var(--scope-secondary,var(--iaa-green))!important;color:var(--scope-primary,var(--iaa-blue))!important}
.scope-brand-fallback{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:36px;padding:4px 8px;border-radius:7px;background:#fff;color:var(--scope-primary,var(--iaa-blue));font-size:13px}
body.scope-branded-entry .hero-card>.brand-row{background:var(--scope-primary,var(--iaa-blue))!important;border-bottom-color:var(--scope-secondary,var(--iaa-green))!important}
body.scope-branded-entry .hero-card{border-top-color:var(--scope-accent,var(--iaa-orange))!important}

@media(max-width:1180px){
  body.admin-page #admin-app .admin-filter-grid-wide{grid-template-columns:repeat(4,minmax(0,1fr))}
  body.admin-page #admin-app .admin-filter-grid-wide>#admin_user_q{grid-column:span 2}
}
@media(max-width:760px){
  body.admin-page #admin-app .admin-filter-grid-wide,body.admin-page #admin-app .power-filter-grid,body.admin-page #admin-app .news-filter-grid{grid-template-columns:1fr}
  body.admin-page #admin-app .admin-filter-grid-wide>#admin_user_q{grid-column:auto}
  .scope-admin-modal-grid,.scoped-invite-modal-grid,.news-modal-grid{grid-template-columns:1fr}
  .scope-editor-tabs{width:100%}.scope-editor-tab{flex:1}
}

/* v1.1.0.7: semantic scope branding editor and scoped-admin presentation. */
.scope-brand-assets{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.scope-brand-asset{min-width:0;padding:12px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}
.scope-brand-asset label{min-height:38px;display:flex!important;align-items:flex-end}
.scope-brand-asset .styled-file-control{width:100%;min-width:0}.scope-brand-asset .styled-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.scope-brand-asset-meta{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:7px;min-height:24px;color:var(--muted);font-size:.78rem}
.scope-brand-asset-meta .text-action{width:auto!important;min-width:0!important;margin:0!important;padding:2px 4px!important}
.scope-palette-section{padding-top:4px}.scope-palette-section h3{margin:0 0 10px;font-size:.92rem;color:var(--iaa-blue)}
.scope-colour-grid-semantic{grid-template-columns:repeat(5,minmax(0,1fr));align-items:end}
.scope-colour-grid-semantic .form-field{display:grid;grid-template-rows:minmax(38px,auto) 44px;align-items:end;gap:6px}
.scope-colour-grid-semantic .form-field label{display:flex!important;align-items:flex-end;margin:0!important;line-height:1.2}
.scope-colour-grid-semantic input[type=color]{width:100%;height:44px;margin:0;padding:3px;border-radius:8px}
.scope-brand-preview{--scope-preview-header:#082b55;--scope-preview-header-text:#fff;--scope-preview-action:#86c441;--scope-preview-action-text:#071b38;--scope-preview-accent:#f08b22;--scope-preview-background:#f5f8fb;--scope-preview-surface:#fff;--scope-preview-text:#071b38;--scope-preview-muted:#64748b;--scope-preview-border:#dbe4ef;--scope-preview-radius:14px;background:var(--scope-preview-background)!important;border-color:var(--scope-preview-border)!important}
.scope-brand-preview-top{min-height:90px;background:var(--scope-preview-header)!important;color:var(--scope-preview-header-text)!important;border-bottom:4px solid var(--scope-preview-accent)!important}
.scope-brand-preview-top img{padding:5px;border-radius:7px;background:rgba(255,255,255,.94)}
.scope-brand-preview-body{background:var(--scope-preview-background)!important;color:var(--scope-preview-text)!important}
.scope-brand-preview-card{background:var(--scope-preview-surface)!important;color:var(--scope-preview-text)!important;border:1px solid var(--scope-preview-border)!important;border-radius:var(--scope-preview-radius)!important;box-shadow:none!important}
.scope-brand-preview-card p{margin:.5rem 0;color:var(--scope-preview-text)!important}.scope-brand-preview-card small{color:var(--scope-preview-muted)!important;opacity:1!important}
.scope-brand-preview button{background:var(--scope-preview-action)!important;color:var(--scope-preview-action-text)!important;border:1px solid var(--scope-preview-border)!important;border-radius:var(--scope-preview-radius)!important;border-bottom:3px solid var(--scope-preview-accent)!important}
.scope-preview-accent{display:inline-flex;margin-top:12px;padding:6px 9px;border-radius:999px;background:var(--scope-preview-accent);color:#071b38;font-size:.75rem;font-weight:900}
.scope-contrast-status{margin-top:12px;padding:8px 10px;border-radius:9px;background:#edf8f1;color:#22613a;font-size:.78rem;font-weight:700}.scope-contrast-status.warning{background:#fff4d9;color:#714d00}
.scope-editor-tabs{border:1px solid var(--line);background:#f4f7fa!important;border-radius:10px!important;padding:3px!important}
.scope-editor-tab{border-radius:7px!important;color:#334a62!important}.scope-editor-tab.active{color:var(--iaa-blue)!important;border:1px solid #cfdbe6!important}
.scope-editor-modal select:disabled,.scope-editor-modal input:disabled{background:#f2f5f8;color:#68788a;cursor:not-allowed}
body.scope-branded-admin{background:var(--scope-background,#eef3f7)!important;color:var(--scope-text,#071b38)!important}
body.scope-branded-admin .brand-row,body.scope-branded-admin .admin-hero-bar{background:var(--scope-header,#082b55)!important;color:var(--scope-header-text,#fff)!important;border-color:var(--scope-accent,#f08b22)!important}
body.scope-branded-admin .brand-row *,body.scope-branded-admin .admin-hero-bar *{color:inherit}
body.scope-branded-admin button:not(.secondary-button):not(.danger-button):not(.text-action):not(.icon-button):not(.admin-tab):not(.company-detail-tab):not(.user-detail-tab):not(.scope-editor-tab):not(.filter-pill):not(.page-button):not(.installer-search-row),body.scope-branded-admin .primary-button{background:var(--scope-action,#86c441)!important;color:var(--scope-action-text,#071b38)!important;border-color:var(--scope-action,#86c441)!important;border-radius:var(--scope-control-radius,12px)!important}
body.scope-branded-admin .admin-tab.active{border-bottom-color:var(--scope-accent,#f08b22)!important;color:var(--scope-header,#082b55)!important}
body.scope-branded-admin .admin-panel,body.scope-branded-admin .checker-panel,body.scope-branded-admin .company-detail-section{border-color:var(--scope-border,#d5dee7)}
body.scope-branded-admin input,body.scope-branded-admin select,body.scope-branded-admin textarea{border-color:var(--scope-border,#d5dee7);border-radius:var(--scope-control-radius,12px)}
body.scope-branded-admin .form-help,body.scope-branded-admin .muted-text{color:var(--scope-muted,#64748b)}
@media(max-width:980px){.scope-colour-grid-semantic{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.scope-brand-assets{grid-template-columns:1fr}.scope-colour-grid-semantic{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.scope-colour-grid-semantic{grid-template-columns:1fr}.scope-colour-grid-semantic .form-field{grid-template-rows:auto 44px}}


.scope-brand-nav-logo{max-width:150px!important;max-height:52px!important;width:auto!important;height:auto!important;object-fit:contain;flex:0 0 auto}
.scope-brand-text-mark{display:inline-flex;align-items:center;justify-content:center;min-width:48px;min-height:42px;padding:.4rem .6rem;border:1px solid currentColor;border-radius:10px;font-weight:900;letter-spacing:.02em}

/* v1.1.0.10 scoped identity and accent foreground. */
.scope-brand-preview .scope-preview-accent{background:var(--scope-preview-accent)!important;color:var(--scope-preview-accent-text,#071b38)!important}
body.scope-branded-entry .brand-row .scope-brand-nav-logo{display:block!important;width:auto!important;height:auto!important;max-width:180px!important;max-height:58px!important}
body.scope-branded-entry .brand-row .brand-copy strong{color:var(--scope-header-text)!important}

/* v1.1.0.11: power-user and scoped-admin interaction cleanup. */
.admin-switch{position:relative;display:inline-flex!important;align-items:center!important;gap:10px!important;min-height:30px;margin:0!important;color:var(--iaa-blue);font-weight:750;cursor:pointer}
.admin-switch input[type="checkbox"],.modal-card .admin-switch input[type="checkbox"],#admin-app .admin-switch input[type="checkbox"]{position:absolute!important;opacity:0!important;pointer-events:none!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;margin:0!important;padding:0!important;border:0!important}
.admin-switch-track{position:relative;display:inline-flex;flex:0 0 42px;width:42px;height:24px;border:1px solid #aebdcb;border-radius:999px;background:#dfe6ed;transition:background .16s ease,border-color .16s ease}
.admin-switch-thumb{position:absolute;left:3px;top:3px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(7,27,56,.22);transition:transform .16s ease}
.admin-switch input:checked + .admin-switch-track{background:var(--iaa-blue);border-color:var(--iaa-blue)}
.admin-switch input:checked + .admin-switch-track .admin-switch-thumb{transform:translateX(18px)}
.admin-switch input:focus-visible + .admin-switch-track{outline:2px solid var(--iaa-blue);outline-offset:2px}
.admin-switch-compact{min-height:24px!important;gap:0!important}
.admin-switch-compact .admin-switch-track{width:36px;flex-basis:36px;height:20px}
.admin-switch-compact .admin-switch-thumb{width:14px;height:14px;left:2px;top:2px}
.admin-switch-compact input:checked + .admin-switch-track .admin-switch-thumb{transform:translateX(16px)}
.scope-admin-all-wrap{align-self:end;padding-bottom:3px}
.scope-admin-org-wrap .installer-search-field{width:100%}
.scope-admin-org-wrap .form-help{display:block;margin-top:6px}

.scope-membership-options{display:block;margin-top:7px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}
.scope-membership-option{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:14px;margin:0!important;padding:10px 12px;border:0!important;border-bottom:1px solid var(--line)!important;border-radius:0!important;background:#fff;color:var(--iaa-blue);cursor:default}
.scope-membership-option:last-child{border-bottom:0!important}
.scope-membership-option:hover{background:#fafcfe}.scope-membership-option.is-active{background:#f7fafc;border-color:var(--line)!important}
.scope-membership-copy{display:grid;gap:1px;min-width:0}.scope-membership-option small{color:#64748b;font-weight:600}.scope-membership-state{font-size:12px;font-weight:750;color:#64748b;white-space:nowrap}.scope-membership-option.is-active .scope-membership-state{color:var(--iaa-blue)}

/* Scope control shape applies to actions and form controls, not navigation. */
body.scope-branded-admin button:not(.secondary-button):not(.danger-button):not(.text-action):not(.icon-button):not(.admin-tab):not(.company-detail-tab):not(.user-detail-tab):not(.scope-editor-tab):not(.filter-pill):not(.page-button):not(.installer-search-row),body.scope-branded-admin .primary-button{background:var(--scope-action,#86c441)!important;color:var(--scope-action-text,#071b38)!important;border-color:var(--scope-action,#86c441)!important;border-radius:var(--scope-control-radius,12px)!important}
body.scope-branded-admin .admin-tabs{gap:22px;margin:0!important;padding:0 14px!important;border:1px solid var(--scope-border,#d5dee7)!important;border-width:1px 0!important;border-radius:0!important;background:var(--scope-surface,#fff)!important;box-shadow:none!important}
body.scope-branded-admin .admin-tab{appearance:none;background:transparent!important;color:var(--scope-muted,#64748b)!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;box-shadow:none!important;padding:9px 1px 10px!important;margin:0!important;min-height:43px!important;width:auto!important;font-weight:750!important}
body.scope-branded-admin .admin-tab:hover{background:transparent!important;color:var(--scope-text,#071b38)!important}
body.scope-branded-admin .admin-tab.active{background:transparent!important;color:var(--scope-text,#071b38)!important;border-bottom-color:var(--scope-accent,#f08b22)!important}
body.scope-branded-admin .admin-tab:focus-visible{outline:2px solid var(--scope-accent,#f08b22)!important;outline-offset:2px}


/* v1.1.0.12: scoped administration visibility and layout polish. */
.scope-admin-modal-grid .scope-admin-type-field{grid-column:1/-1}

/* Branding remains editable even when the tenant's own text palette is light. */
body.scope-branded-admin .scope-editor-modal,
body.scope-branded-admin .scope-editor-modal .scope-editor-heading,
body.scope-branded-admin .scope-editor-modal .scope-editor-tabs,
body.scope-branded-admin .scope-editor-modal .scope-editor-panel,
body.scope-branded-admin .scope-editor-modal .scope-general-grid,
body.scope-branded-admin .scope-editor-modal .scope-brand-fields,
body.scope-branded-admin .scope-editor-modal .scope-brand-assets,
body.scope-branded-admin .scope-editor-modal .scope-colour-grid-semantic,
body.scope-branded-admin .scope-editor-modal label,
body.scope-branded-admin .scope-editor-modal h2,
body.scope-branded-admin .scope-editor-modal h3{
    color:#071b38!important;
}
body.scope-branded-admin .scope-editor-modal input:not([type="color"]),
body.scope-branded-admin .scope-editor-modal select,
body.scope-branded-admin .scope-editor-modal textarea{
    color:#071b38!important;
    background:#fff!important;
}
body.scope-branded-admin .scope-editor-modal .scope-brand-preview,
body.scope-branded-admin .scope-editor-modal .scope-brand-preview *{
    color:revert;
}

/* Keep user scope memberships compact and aligned; nested switches must not inherit
   generic modal checkbox sizing. */
#user_edit_modal .scope-membership-options{display:block!important;border:1px solid #d5dee7!important;border-radius:10px!important;background:#fff!important;overflow:hidden!important}
#user_edit_modal .scope-membership-option{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;align-items:center!important;gap:12px!important;min-height:54px!important;padding:8px 12px!important;margin:0!important;border:0!important;border-bottom:1px solid #e3e9ef!important;border-radius:0!important;background:#fff!important;color:#071b38!important}
#user_edit_modal .scope-membership-option:last-child{border-bottom:0!important}
#user_edit_modal .scope-membership-option .admin-switch{width:auto!important;min-width:36px!important;justify-self:end!important;margin:0!important;padding:0!important}
#user_edit_modal .scope-membership-option .admin-switch-track{display:inline-flex!important;width:36px!important;height:20px!important;min-width:36px!important;min-height:20px!important}
#user_edit_modal .scope-membership-option .admin-switch-thumb{width:14px!important;height:14px!important;min-width:14px!important;min-height:14px!important}

/* Power-user rows should show their values rather than clipping into ellipses. */
.admin-table-orgs{table-layout:auto!important;min-width:920px}
.admin-table-orgs th,.admin-table-orgs td{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
.admin-table-orgs td:nth-child(3){overflow-wrap:anywhere}
.admin-table-orgs th:last-child,.admin-table-orgs td:last-child{width:92px!important;min-width:92px!important;white-space:nowrap!important;text-align:right}
.admin-table-orgs .table-actions{overflow:visible!important;white-space:nowrap!important}
.admin-table-orgs .table-action-button{min-width:72px!important;width:auto!important}

@media(max-width:640px){
    .scope-admin-modal-grid .scope-admin-type-field{grid-column:1}
}
/* Scope editors are administrative controls, so their labels/navigation stay readable
   regardless of the customer-facing palette being edited. */
body.scope-branded-admin .scope-editor-modal .scope-editor-tab,
body.scope-branded-admin .scope-editor-modal .styled-file-label,
body.scope-branded-admin .scope-editor-modal .scope-brand-asset-meta,
body.scope-branded-admin .scope-editor-modal .scope-palette-section,
body.scope-branded-admin .scope-editor-modal .scope-palette-section h3,
body.scope-branded-admin .scope-editor-modal .form-help,
body.scope-branded-admin .scope-editor-modal .label-optional{
    color:#334a62!important;
}
body.scope-branded-admin .scope-editor-modal .scope-editor-tab.active{color:#071b38!important}

/* v1.2.1.3: keep Verify administration on a stable neutral semantic palette even
   when the persisted customer scope uses a light header (for example MCS).
   Customer branding still uses the explicit --scope-* variables on branded
   headers, actions and previews; legacy --iaa-* variables remain readable admin UI. */
body.admin-page{
    --iaa-blue:#082b55;
    --iaa-blue-2:#0f477e;
    --iaa-green:#86c441;
    --iaa-orange:#f08b22;
    --ink:#071b38;
    --muted:#64748b;
    --line:#dbe4ef;
    --panel:#ffffff;
    --soft:#f3f7fb;
}

/* The scope editor is admin chrome, not a sample of the active tenant palette.
   Its own labels and controls therefore stay neutral; only the dedicated preview
   is allowed to render the colours being edited. */
.scope-editor-modal{
    --iaa-blue:#082b55;
    --iaa-blue-2:#0f477e;
    --ink:#071b38;
    --muted:#64748b;
    --line:#dbe4ef;
    --panel:#ffffff;
    --soft:#f3f7fb;
    color:#071b38!important;
}
.scope-editor-modal .scope-editor-heading,
.scope-editor-modal .scope-editor-tabs,
.scope-editor-modal .scope-editor-panel,
.scope-editor-modal .scope-general-grid,
.scope-editor-modal .scope-brand-fields,
.scope-editor-modal .scope-brand-assets,
.scope-editor-modal .scope-colour-grid-semantic,
.scope-editor-modal label,
.scope-editor-modal h2,
.scope-editor-modal h3,
.scope-editor-modal .scope-path-preview span,
.scope-editor-modal .scope-editor-tab,
.scope-editor-modal .styled-file-label,
.scope-editor-modal .scope-brand-asset-meta,
.scope-editor-modal .scope-palette-section,
.scope-editor-modal .form-help,
.scope-editor-modal .label-optional{
    color:#334a62!important;
}
.scope-editor-modal h2,
.scope-editor-modal .scope-editor-tab.active,
.scope-editor-modal .scope-path-preview span{
    color:#071b38!important;
}
.scope-editor-modal .scope-editor-tab:focus-visible{
    outline-color:#082b55!important;
}
.scope-editor-modal input:not([type="color"]),
.scope-editor-modal select,
.scope-editor-modal textarea{
    color:#071b38!important;
    background:#fff!important;
}
.scope-editor-modal .scope-path-preview{
    background:#f3f7fb!important;
    border-color:#dbe4ef!important;
}
.scope-editor-modal .scope-path-preview code{
    background:#fff!important;
    color:#334155!important;
    border-color:#dbe4ef!important;
}


/* Selected Verify theme: style2. */
/* v0.18.66.8: balanced IAA interface.
   Keeps the compact operational forms and workspace detail from the flat trial,
   while restoring a recognisable application frame and branded header across
   both authenticated and public Verify pages. */

/* Shared application frame and public pages */
html {
    background:
        linear-gradient(135deg, rgba(134, 196, 65, .08), transparent 30rem),
        linear-gradient(315deg, rgba(240, 139, 34, .07), transparent 26rem),
        #eef3f7;
}

.page-shell {
    width: min(1120px, calc(100% - 32px));
    padding: 24px 0 30px;
}

.hero-card {
    border: 1px solid #cbd6e1;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 12px 32px rgba(7, 27, 56, .10);
    backdrop-filter: none;
}

.hero-card > .brand-row {
    position: relative;
    padding: 17px 22px;
    border-bottom: 3px solid var(--iaa-green);
    background: linear-gradient(110deg, #082b55 0%, #12385c 70%, #184f7c 100%);
    color: #fff;
}

.hero-card > .brand-row .brand-copy span {
    color: rgba(255, 255, 255, .72);
}

.hero-card > .brand-row .slash-one {
    background: #a9b2bd;
}

.hero-card > .brand-row .slash-two {
    background: #5d9dcb;
}

.hero-card > .brand-row .slash-three {
    background: var(--iaa-green);
}

.hero-card > .brand-row .top-nav {
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 6px;
    background: rgba(255, 255, 255, .08);
    box-shadow: none;
}

.hero-card > .brand-row .top-nav a {
    min-height: 32px;
    padding: 6px 11px;
    border-radius: 4px;
    color: rgba(255, 255, 255, .84);
}

.hero-card > .brand-row .top-nav a:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

.hero-card > .brand-row .top-nav a[aria-current="page"] {
    background: #fff;
    color: var(--iaa-blue);
    box-shadow: none;
}

.content-grid {
    gap: 30px;
    padding: 34px 36px 38px;
}

h1 {
    font-size: clamp(34px, 5vw, 54px);
}

.eyebrow {
    padding: 5px 8px;
    border-radius: 4px;
    font-size: 12px;
    letter-spacing: .025em;
    text-transform: uppercase;
}

.trust-list {
    gap: 0;
    border-top: 1px solid var(--line);
}

.trust-list div {
    gap: 11px;
    padding: 12px 4px;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: transparent;
}

.tick {
    width: 22px;
    height: 22px;
    border-radius: 4px;
}

.checker-panel {
    padding: 24px;
    border: 1px solid #d2dce6;
    border-radius: 10px;
    background: #f8fafc;
    box-shadow: none;
}

input,
select,
textarea {
    border-radius: 6px;
}

button,
.result-button {
    border-radius: 6px;
    box-shadow: none;
}

.notice,
.notice .result-button,
.info-box,
.register-card-note,
.register-card-note a {
    border-radius: 6px;
}

.landing-shell {
    width: min(1120px, calc(100% - 32px));
}

.landing-hero {
    padding: 38px 38px 40px;
}

.landing-actions {
    gap: 14px;
    margin-top: 28px;
}

.landing-card {
    min-height: 230px;
    padding: 22px;
    border-radius: 8px;
    background: #fff;
    box-shadow: none;
}

.landing-card:first-child {
    border-top: 4px solid var(--iaa-blue-2);
}

.landing-card:nth-child(2) {
    border-top: 4px solid var(--iaa-orange);
}

.landing-card:hover {
    transform: translateY(-1px);
    border-color: #aebfce;
    box-shadow: 0 8px 20px rgba(8, 43, 85, .08);
}

.landing-card-kicker {
    padding: 4px 7px;
    border-radius: 4px;
}

.landing-card em {
    min-height: 40px;
    padding: 9px 13px;
    border-radius: 5px;
    box-shadow: none;
}

.guarantee-check-panel,
.guarantee-check-panel + .guarantee-check-panel {
    background: #f8fafc;
}

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

/* Balanced admin workspace */
body.admin-page {
    background: #e9eff4;
}

body.admin-page .admin-shell {
    width: min(1440px, calc(100% - 32px));
    padding: 20px 0 28px;
}

body.admin-page .installer-admin-card {
    min-height: calc(100vh - 48px);
    overflow: hidden;
    border: 1px solid #c5d1dc;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(9, 28, 48, .12);
    backdrop-filter: none;
}

body.admin-page .brand-row {
    padding: 15px 22px;
    border-bottom: 3px solid var(--iaa-green);
    background: linear-gradient(110deg, #082b55 0%, #12385c 72%, #184f7c 100%);
    color: #fff;
}

body.admin-page .brand-row .brand-copy span {
    color: rgba(255, 255, 255, .72);
}

body.admin-page .brand-mark {
    width: 44px;
    height: 36px;
}

body.admin-page .brand-slash {
    width: 11px;
    height: 29px;
}

body.admin-page .slash-one {
    background: #a9b2bd;
}

body.admin-page .slash-two {
    left: 16px;
    background: #5d9dcb;
}

body.admin-page .slash-three {
    left: 28px;
    background: var(--iaa-green);
}

body.admin-page .brand-row .top-nav {
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 6px;
    background: rgba(255, 255, 255, .08);
    box-shadow: none;
}

body.admin-page .brand-row .top-nav a {
    border-radius: 4px;
    color: rgba(255, 255, 255, .84);
}

body.admin-page .brand-row .top-nav a:hover {
    background: rgba(255, 255, 255, .12);
    color: #fff;
}

body.admin-page .brand-row .top-nav a[aria-current="page"] {
    background: #fff;
    color: var(--iaa-blue);
}

body.admin-page #admin-app.installer-app {
    padding: 18px 22px 28px;
}

body.admin-page #admin-app .admin-hero-bar {
    margin: 0 0 14px;
    padding: 14px 16px;
    border: 1px solid #c9d6e2;
    border-left: 4px solid var(--iaa-blue-2);
    border-radius: 7px;
    background: #f2f6fa;
    color: var(--ink);
    box-shadow: none;
}

body.admin-page #admin-app .admin-hero-bar h1 {
    color: #17324d;
    font-size: 25px;
    letter-spacing: -.02em;
}

body.admin-page #admin-app .admin-hero-bar .form-help {
    color: #5a6c7e;
}

body.admin-page #admin-app .admin-hero-bar .secondary-button {
    border: 1px solid #aebdcb;
    background: #fff;
    color: #12385c;
}

body.admin-page #admin-app .admin-tabs {
    gap: 22px;
    margin: 0;
    padding: 0 14px;
    border: 1px solid #d1dbe4;
    border-width: 1px 0;
    border-radius: 0;
    background: #f7f9fb;
    box-shadow: none;
}

body.admin-page #admin-app .admin-tab {
    min-height: 43px;
    padding: 9px 1px 10px;
    border: 0;
    border-bottom: 3px solid transparent;
    border-radius: 0;
    background: transparent;
    color: #4d6175;
    box-shadow: none;
    font-weight: 750;
}

body.admin-page #admin-app .admin-tab:hover {
    background: transparent;
    color: #12385c;
}

body.admin-page #admin-app .admin-tab.active {
    border-bottom-color: #12385c;
    background: transparent;
    color: #12385c;
}

body.admin-page #admin-app .admin-panel {
    padding: 20px 0 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.admin-page #admin-app .panel-heading.compact-heading {
    margin: 0 0 12px;
}

body.admin-page #admin-app .panel-heading.compact-heading h2,
body.admin-page #admin-app .admin-panel h2 {
    color: #17324d;
    font-size: 21px;
    letter-spacing: -.015em;
}

body.admin-page #admin-app .admin-filter-grid {
    margin: 0 0 14px;
    padding: 12px;
    border: 1px solid #d3dde6;
    border-radius: 6px;
    background: #f7f9fb;
}

body.admin-page #admin-app input,
body.admin-page #admin-app select,
body.admin-page #admin-app textarea {
    border-radius: 5px;
}

body.admin-page #admin-app button,
body.admin-page #admin-app .result-button,
body.admin-page #admin-app .secondary-button,
body.admin-page #admin-app .danger-button {
    border-radius: 5px;
    box-shadow: none;
}

body.admin-page #admin-app button:not(.text-action):not(.icon-button):not(.admin-tab):not(.company-detail-tab):not(.filter-pill) {
    background: #12385c;
}

body.admin-page #admin-app .secondary-button {
    border: 1px solid #aebdcb;
    background: #fff !important;
    color: #12385c;
}

body.admin-page #admin-app .danger-button {
    background: #a82525 !important;
    color: #fff;
}

body.admin-page #admin-app .admin-table-wrap {
    max-height: 440px;
    overflow: auto;
    border: 1px solid #cbd4de;
    border-radius: 6px;
    background: #fff;
}

body.admin-page #admin-app .admin-table thead th {
    background: #eef2f5;
    color: #344b61;
    border-bottom: 1px solid #cbd4de;
    font-size: .76rem;
    letter-spacing: .02em;
    text-transform: uppercase;
}

body.admin-page #admin-app .admin-table td {
    border-bottom: 1px solid #e1e6eb;
}

body.admin-page #admin-app .admin-table tbody tr:last-child td {
    border-bottom: 0;
}

body.admin-page #admin-app .admin-table tr.admin-user-row:hover td {
    background: #f3f6f8 !important;
}

body.admin-page #admin-app .company-page,
body.admin-page #admin-app .user-page {
    gap: 0;
}

body.admin-page #admin-app .company-breadcrumb {
    margin-bottom: 12px;
}

body.admin-page #admin-app .company-page-header {
    padding: 0 0 14px;
    border-bottom: 1px solid #cbd4de;
}

body.admin-page #admin-app .company-page-title h2 {
    color: #17324d;
    font-size: 25px;
}

body.admin-page #admin-app .company-detail-tabs {
    gap: 22px;
    padding: 0 10px;
    border: 1px solid #d1dbe4;
    border-width: 0 0 1px;
    background: #f9fafb;
}

body.admin-page #admin-app .company-detail-tab {
    min-height: 42px;
    padding: 10px 0 9px !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #4d6175 !important;
    box-shadow: none !important;
}

body.admin-page #admin-app .company-detail-tab:hover {
    color: #12385c !important;
}

body.admin-page #admin-app .company-detail-tab.active {
    border-bottom-color: #12385c !important;
    color: #12385c !important;
}

body.admin-page #admin-app .user-detail-tab.needs-action {
    border-bottom-color: #ba2d2d !important;
    color: #9f1d1d !important;
}

body.admin-page #admin-app .user-detail-tab.needs-action.active {
    color: #861919 !important;
}

body.admin-page #admin-app .tab-action-flag {
    width: 8px;
    height: 8px;
    overflow: hidden;
    border-radius: 50%;
    background: #c62828;
    color: transparent;
}

body.admin-page #admin-app .count-pill {
    min-width: 20px;
    margin-left: 5px;
    padding: 1px 5px;
    border-radius: 3px;
    background: #e4e9ee;
    color: #344b61;
    font-size: 11px;
}

body.admin-page #admin-app .company-detail-body {
    gap: 0;
}

body.admin-page #admin-app .company-detail-section {
    margin: 0;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid #d9e0e7;
    border-radius: 0;
    background: transparent;
}

body.admin-page #admin-app .company-detail-section:last-child {
    border-bottom: 0;
}

body.admin-page #admin-app .section-title-row {
    margin-bottom: 14px;
}

body.admin-page #admin-app .section-title-row h3,
body.admin-page #admin-app .company-detail-section h3,
body.admin-page #admin-app .company-detail-section h4 {
    color: #17324d;
}

body.admin-page #admin-app .user-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 22px;
}

body.admin-page #admin-app .user-summary-block {
    padding: 12px 14px 14px;
    border: 1px solid #e0e6ec;
    border-radius: 6px;
    background: #fbfcfd;
}

body.admin-page #admin-app .user-summary-block h4 {
    margin: 0 0 8px;
    padding-bottom: 6px;
    border-bottom: 1px solid #d9e0e7;
    color: #344b61;
    font-size: .82rem;
    letter-spacing: .035em;
    text-transform: uppercase;
}

body.admin-page #admin-app .review-detail-list {
    gap: 5px 18px;
    margin: 0;
}

body.admin-page #admin-app .review-detail-list dt {
    color: #4c6074;
    font-weight: 700;
}

body.admin-page #admin-app .review-detail-list dd {
    color: #172b3f;
}

body.admin-page #admin-app .admin-review-card,
body.admin-page #admin-app .admin-accreditation-row,
body.admin-page #admin-app .cpd-row,
body.admin-page #admin-app .installer-link-row,
body.admin-page #admin-app .provider-check-row {
    margin: 0;
    padding: 11px 0;
    border: 0;
    border-bottom: 1px solid #dfe5eb;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.admin-page #admin-app .admin-list > :last-child,
body.admin-page #admin-app .provider-check-list > :last-child {
    border-bottom: 0;
}

body.admin-page #admin-app .review-summary-grid span {
    min-height: 23px;
    padding: 2px 7px;
    border-radius: 3px;
    background: #eef1f4;
}

body.admin-page #admin-app .company-summary-grid {
    gap: 0;
    overflow: hidden;
    border: 1px solid #d9e0e7;
    border-radius: 6px;
}

body.admin-page #admin-app .company-metric {
    min-height: 58px;
    padding: 10px 12px;
    border: 0;
    border-right: 1px solid #d9e0e7;
    border-bottom: 1px solid #d9e0e7;
    border-radius: 0;
    background: #fbfcfd;
}

body.admin-page #admin-app .company-decision-actions,
body.admin-page #admin-app .company-review-embed,
body.admin-page #admin-app .provider-review-block {
    border-radius: 6px;
    box-shadow: none;
}

body.admin-page #admin-app .company-decision-actions {
    padding: 12px 0;
    border-width: 1px 0 0;
    background: transparent;
}

body.admin-page #admin-app .identity-verification-photo,
body.admin-page #admin-app .card-photo-review-image,
body.admin-page #admin-app .company-logo-panel,
body.admin-page #admin-app .company-logo-upload-preview {
    border-radius: 5px;
}

body.admin-page #admin-app .photo-review-column {
    padding: 0 18px 0 0;
    border: 0;
    border-right: 1px solid #d9e0e7;
    border-radius: 0;
    background: transparent;
}

body.admin-page #admin-app .photo-review-column:last-child {
    padding-right: 0;
    border-right: 0;
}

body.admin-page #admin-app .admin-photo-upload {
    padding: 12px 0 0;
    border-width: 1px 0 0;
    border-radius: 0;
    background: transparent;
}

body.admin-page .modal-card {
    border-radius: 10px;
    box-shadow: 0 18px 50px rgba(9, 28, 48, .22);
}

body.admin-page .modal-card input,
body.admin-page .modal-card select,
body.admin-page .modal-card textarea,
body.admin-page .modal-card button:not(.icon-button) {
    border-radius: 5px;
}

@media (max-width: 820px) {
    .page-shell,
    .landing-shell {
        width: min(100% - 20px, 640px);
        padding: 10px 0 20px;
    }

    .hero-card {
        border-radius: 10px;
    }

    .hero-card > .brand-row,
    body.admin-page .brand-row {
        padding: 13px 14px;
    }

    .content-grid {
        gap: 14px;
        padding: 22px 18px 24px;
    }

    .checker-panel {
        padding: 19px;
        border-radius: 8px;
    }

    .landing-hero {
        padding: 26px 18px 24px;
    }

    .landing-actions {
        grid-template-columns: 1fr;
        gap: 12px;
        margin-top: 22px;
    }

    .landing-card {
        min-height: 0;
        padding: 18px;
        border-radius: 7px;
    }

    .hero-card > .brand-row .top-nav,
    body.admin-page .brand-row .top-nav {
        width: 100%;
        margin: 8px 0 0;
        overflow-x: auto;
    }

    .hero-card > .brand-row,
    body.admin-page .brand-row {
        flex-wrap: wrap;
    }

    body.admin-page .admin-shell {
        width: min(100% - 18px, 760px);
        padding: 9px 0 18px;
    }

    body.admin-page .installer-admin-card {
        min-height: calc(100vh - 27px);
        border-radius: 10px;
    }

    body.admin-page #admin-app.installer-app {
        padding: 14px 14px 22px;
    }

    body.admin-page #admin-app .admin-hero-bar {
        align-items: stretch;
        padding: 12px;
    }

    body.admin-page #admin-app .admin-tabs,
    body.admin-page #admin-app .company-detail-tabs {
        gap: 16px;
        flex-wrap: nowrap;
        overflow-x: auto;
        scrollbar-width: thin;
    }

    body.admin-page #admin-app .admin-tab,
    body.admin-page #admin-app .company-detail-tab {
        flex: 0 0 auto;
    }

    body.admin-page #admin-app .admin-filter-grid {
        padding: 10px;
    }

    body.admin-page #admin-app .user-summary-grid {
        grid-template-columns: 1fr;
    }

    body.admin-page #admin-app .card-photo-review-grid {
        gap: 18px;
    }

    body.admin-page #admin-app .photo-review-column {
        padding: 0 0 18px;
        border-right: 0;
        border-bottom: 1px solid #d9e0e7;
    }

    body.admin-page #admin-app .photo-review-column:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }
}


/* v0.18.66.20: current installer/designer style2 completion. */
/* style2: balanced, contained application shell with flat operational workspaces. */

body.installer-page {
    background: #e9eff4;
}

body.installer-page .admin-shell {
    width: min(1440px, calc(100% - 32px));
    padding: 20px 0 28px;
}

body.installer-page .installer-admin-card {
    min-height: calc(100vh - 48px);
    padding: 0;
    overflow: hidden;
    border: 1px solid #c5d1dc;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 14px 38px rgba(9, 28, 48, .12);
    backdrop-filter: none;
}

body.installer-page .brand-row {
    padding: 15px 22px;
    border-bottom: 3px solid var(--iaa-green);
    background: linear-gradient(110deg, #082b55 0%, #12385c 72%, #184f7c 100%);
    color: #fff;
}

body.installer-page .brand-row .brand-copy span {
    color: rgba(255, 255, 255, .72);
}

body.installer-page .brand-row .top-nav {
    padding: 3px;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 6px;
    background: rgba(255, 255, 255, .08);
    box-shadow: none;
}

body.installer-page .brand-row .top-nav a {
    border-radius: 4px;
    color: rgba(255, 255, 255, .84);
}

body.installer-page .brand-row .top-nav a[aria-current="page"] {
    background: #fff;
    color: var(--iaa-blue);
}

body.installer-page #installer-app {
    padding: 18px 22px 28px;
}

body.installer-page #installer-app .compact-admin-hero {
    margin: 0 0 14px !important;
    padding: 14px 16px !important;
    border: 1px solid #c9d6e2;
    border-left: 4px solid var(--iaa-blue-2);
    border-radius: 7px !important;
    background: #f2f6fa;
    color: var(--ink);
    box-shadow: none;
}

body.installer-page #installer-app .compact-admin-hero h1 {
    color: #17324d;
    font-size: 25px !important;
}

body.installer-page #installer-app .compact-admin-hero .eyebrow {
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: #45627d;
}

body.installer-page #installer-app .compact-admin-hero .form-help {
    color: #5a6c7e;
}

body.installer-page #installer-app .compact-admin-hero .secondary-button {
    border: 1px solid #aebdcb;
    border-radius: 5px;
    background: #fff;
    color: #12385c;
}

body.installer-page #installer-app .workspace-tabs {
    display: flex !important;
    gap: 22px !important;
    margin: 0 !important;
    padding: 0 14px !important;
    overflow-x: auto;
    flex-wrap: nowrap !important;
    border: 1px solid #d1dbe4 !important;
    border-width: 1px 0 !important;
    border-radius: 0 !important;
    background: #f7f9fb !important;
    box-shadow: none !important;
}

body.installer-page #installer-app .workspace-tab {
    width: auto !important;
    min-height: 43px !important;
    padding: 9px 1px 10px !important;
    flex: 0 0 auto !important;
    border: 0 !important;
    border-bottom: 3px solid transparent !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #4d6175 !important;
    box-shadow: none !important;
}

body.installer-page #installer-app .workspace-tab:hover {
    color: #12385c !important;
}

body.installer-page #installer-app .workspace-tab.active {
    border-bottom-color: #12385c !important;
    background: transparent !important;
    color: #12385c !important;
}

body.installer-page #installer-app .installer-admin-layout {
    gap: 0 !important;
    margin-top: 0;
}

body.installer-page #installer-app .admin-panel {
    margin: 0;
    padding: 18px 0;
    border: 0;
    border-bottom: 1px solid #d9e0e7;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

body.installer-page #installer-app .admin-panel:last-child {
    border-bottom: 0;
}

body.installer-page #installer-app .admin-panel h2,
body.installer-page #installer-app .admin-panel h3 {
    color: #17324d;
}

body.installer-page #installer-app input,
body.installer-page #installer-app select,
body.installer-page #installer-app textarea,
body.installer-page #installer-app button,
body.installer-page #installer-app .secondary-button,
body.installer-page #installer-app .danger-button {
    border-radius: 5px;
    box-shadow: none;
}

body.installer-page #installer-app .admin-table-wrap {
    border: 1px solid #cbd4de;
    border-radius: 6px;
    background: #fff;
}

body.installer-page #installer-app .admin-table thead th {
    background: #eef2f5;
    color: #344b61;
    border-bottom: 1px solid #cbd4de;
    text-transform: uppercase;
    letter-spacing: .02em;
}

body.installer-page #installer-app .status-pill,
body.installer-page #installer-app .user-action-button span {
    border-radius: 3px;
}

body.installer-page #installer-app .user-action-button {
    border-radius: 5px !important;
    background: #f7f9fb !important;
}

body.installer-page #installer-app .user-action-button.active {
    background: #12385c !important;
}

body.installer-page #installer-app .admin-details {
    border-radius: 6px;
    background: #fbfcfd;
}

/* Keep company/admin filters compact and immune to generic full-width button rules. */
body.admin-page #admin-app .company-review-filter-toolbar .status-filter-button,
body.admin-page #admin-app .company-review-filter-toolbar .filter-pill {
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
}

@media (max-width: 820px) {
    body.installer-page .admin-shell {
        width: min(100% - 16px, 720px);
        padding: 8px 0 18px;
    }

    body.installer-page #installer-app {
        padding: 14px;
    }

    body.installer-page #installer-app .workspace-tabs {
        margin: 0 -14px !important;
        padding: 0 14px !important;
    }
}


/* Shared admin company index. */
/* Company review index: single maintained layout shared by both Verify themes. */
body.admin-page #admin-app .company-filter-grid {
    display: grid;
    grid-template-columns: minmax(280px, 720px) auto;
    align-items: center;
    gap: 10px;
    width: 100%;
    max-width: none;
    margin: 0 0 14px;
    padding: 12px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: #f6f9fc;
}

body.admin-page #admin-app .company-filter-grid input {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    margin: 0 !important;
}
body.admin-page #admin-app .company-filter-grid button {
    min-height: 40px;
    margin: 0 !important;
}

body.admin-page #admin-app .company-review-filter-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin: 0 0 10px;
    padding: 0 0 9px;
    border-bottom: 1px solid #d9e1e8;
}

body.admin-page #admin-app .status-filter-button {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    width: auto;
    min-height: 32px;
    margin: 0;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: 4px;
    background: transparent;
    color: #465c70;
    box-shadow: none;
    font: inherit;
    font-size: 12.5px;
    font-weight: 750;
    line-height: 1.2;
    cursor: pointer;
}

body.admin-page #admin-app .status-filter-button:hover {
    border-color: #b8c5d0;
    background: #f4f7f9;
    color: #12385c;
}

body.admin-page #admin-app .status-filter-button.active {
    border-color: #9fb1c1;
    background: #eaf0f5;
    color: #12385c;
}

body.admin-page #admin-app .status-filter-button span {
    min-width: 20px;
    padding: 1px 5px;
    border: 1px solid #c8d2db;
    border-radius: 3px;
    background: #fff;
    color: #344b61;
    font-size: 11px;
    text-align: center;
}

body.admin-page #admin-app .company-review-table-wrap {
    width: 100%;
    max-height: none;
    overflow-x: auto;
    border: 1px solid #d4dde5;
    border-radius: 5px;
    background: #fff;
}

body.admin-page #admin-app .company-review-table {
    width: 100%;
    min-width: 760px;
    table-layout: fixed;
    border-collapse: collapse;
}

body.admin-page #admin-app .company-review-table th,
body.admin-page #admin-app .company-review-table td {
    height: auto;
    padding: 9px 11px;
    vertical-align: middle;
    overflow: hidden;
    text-overflow: ellipsis;
}

body.admin-page #admin-app .company-review-table th {
    background: #f5f7f9;
    color: #40566b;
    font-size: 11.5px;
    font-weight: 800;
    letter-spacing: .025em;
    text-transform: uppercase;
}

body.admin-page #admin-app .company-review-table th:nth-child(1),
body.admin-page #admin-app .company-review-table td:nth-child(1) { width: 42%; }
body.admin-page #admin-app .company-review-table th:nth-child(2),
body.admin-page #admin-app .company-review-table td:nth-child(2) { width: 25%; }
body.admin-page #admin-app .company-review-table th:nth-child(3),
body.admin-page #admin-app .company-review-table td:nth-child(3) { width: 18%; }
body.admin-page #admin-app .company-review-table th:nth-child(4),
body.admin-page #admin-app .company-review-table td:nth-child(4) { width: 15%; }

body.admin-page #admin-app .company-review-table tbody tr {
    cursor: pointer;
}

body.admin-page #admin-app .company-review-table tbody tr:hover {
    background: #f7fafc;
}

body.admin-page #admin-app .company-review-table tbody tr:focus-within {
    background: #f1f6fa;
    outline: 2px solid rgba(18,56,92,.18);
    outline-offset: -2px;
}

body.admin-page #admin-app .company-table-link {
    display: inline;
    width: auto;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    border: 0 !important;
    border-radius: 0;
    background: transparent !important;
    color: #12385c !important;
    box-shadow: none !important;
    font: inherit;
    font-weight: 800;
    line-height: 1.25;
    text-align: left;
    text-decoration: none;
    cursor: pointer;
}

body.admin-page #admin-app .company-table-link:hover,
body.admin-page #admin-app .company-table-link:focus-visible {
    text-decoration: underline;
    outline: none;
}

body.admin-page #admin-app .company-review-table .table-subline {
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11.5px;
}

body.admin-page #admin-app .company-review-table .review-status-badge {
    min-height: 24px;
    padding: 2px 7px;
    font-size: 11.5px;
}

body.admin-page #admin-app .company-people-summary,
body.admin-page #admin-app .company-updated-at {
    color: #344b61;
    font-size: 12px;
    line-height: 1.35;
}

@media (max-width: 760px) {
    body.admin-page #admin-app .company-filter-grid {
        grid-template-columns: 1fr;
        max-width: none;
    }

    body.admin-page #admin-app .company-review-filter-toolbar {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 8px;
    }

    body.admin-page #admin-app .company-review-table {
        min-width: 560px;
    }

    body.admin-page #admin-app .company-review-table th:nth-child(3),
    body.admin-page #admin-app .company-review-table td:nth-child(3),
    body.admin-page #admin-app .company-review-table th:nth-child(4),
    body.admin-page #admin-app .company-review-table td:nth-child(4) {
        display: none;
    }

    body.admin-page #admin-app .company-review-table th:nth-child(1),
    body.admin-page #admin-app .company-review-table td:nth-child(1) { width: 58%; }
    body.admin-page #admin-app .company-review-table th:nth-child(2),
    body.admin-page #admin-app .company-review-table td:nth-child(2) { width: 42%; }
}

/* Keep filter controls outside generic dark admin button rules. */
body.admin-page #admin-app button.status-filter-button {
    width: auto !important;
    min-width: 0 !important;
    min-height: 30px !important;
    margin: 0 !important;
    padding: 5px 8px !important;
    border: 1px solid transparent !important;
    background: transparent !important;
    color: #465c70 !important;
    box-shadow: none !important;
}
body.admin-page #admin-app button.status-filter-button:hover,
body.admin-page #admin-app button.status-filter-button:focus-visible {
    border-color: #b8c5d0 !important;
    background: #f4f7f9 !important;
    color: #12385c !important;
}
body.admin-page #admin-app button.status-filter-button.active {
    border-color: #7895ad !important;
    background: #eaf0f5 !important;
    color: #12385c !important;
}

/* v0.100.0.5 association search and company-merge polish. */
body.admin-page #admin-app .installer-search-results .installer-search-row{
    display:block!important;
    width:100%!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:10px 12px!important;
    text-align:left!important;
    border:0!important;
    border-bottom:1px solid #eef3f7!important;
    border-radius:0!important;
    background:#fff!important;
    color:#12385c!important;
    box-shadow:none!important;
}
body.admin-page #admin-app .installer-search-results .installer-search-row:hover,
body.admin-page #admin-app .installer-search-results .installer-search-row:focus-visible{background:#f4f9ff!important;color:#12385c!important;outline:none!important;}
body.admin-page #admin-app .installer-search-results .installer-search-name{display:block!important;font-weight:800!important;font-size:.92rem!important;line-height:1.25!important;}
body.admin-page #admin-app .installer-search-results .installer-search-meta{display:block!important;margin-top:3px!important;font-size:.76rem!important;color:#5c6b7a!important;line-height:1.3!important;}
body.admin-page #admin-app .association-modal-actions{justify-content:flex-end!important;}
body.admin-page #admin-app #admin_add_installer_link{width:auto!important;min-width:120px!important;margin:0!important;padding:8px 12px!important;}
#company_merge_modal .company-merge-form{gap:9px!important;}
#company_merge_modal .company-merge-search-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:8px!important;align-items:center!important;}
#company_merge_modal .company-merge-search-row input{margin:0!important;}
#company_merge_modal #company_merge_search_button{width:auto!important;min-width:92px!important;margin:0!important;padding:8px 12px!important;}
#company_merge_modal .company-merge-results{border-top:1px solid #d6e0e8;margin-top:4px;}
#company_merge_modal .company-merge-target{
    width:100%!important;min-width:0!important;min-height:48px!important;margin:0!important;padding:9px 6px!important;
    display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;gap:16px!important;align-items:center!important;
    text-align:left!important;border:0!important;border-bottom:1px solid #d6e0e8!important;border-radius:0!important;background:#fff!important;color:#12385c!important;box-shadow:none!important;
}
#company_merge_modal .company-merge-target:hover,#company_merge_modal .company-merge-target:focus-visible{background:#f2f6f9!important;outline:none!important;}
#company_merge_modal .company-merge-target b{min-width:0!important;font-size:.9rem!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
#company_merge_modal .company-merge-target span{font-size:.8rem!important;color:#607487!important;white-space:nowrap!important;}
#company_merge_modal .company-merge-selected .notice{margin:6px 0!important;border-radius:8px!important;padding:10px 12px!important;}
#company_merge_modal .company-merge-confirm-row{display:flex!important;justify-content:flex-end!important;margin-top:4px!important;}
#company_merge_modal #company_merge_confirm{width:auto!important;min-width:0!important;margin:0!important;padding:8px 12px!important;}
@media(max-width:720px){
    #company_merge_modal .company-merge-search-row{grid-template-columns:1fr!important;}
    #company_merge_modal #company_merge_search_button{justify-self:start!important;}
    #company_merge_modal .company-merge-target{grid-template-columns:1fr!important;gap:3px!important;}
    #company_merge_modal .company-merge-target span{white-space:normal!important;}
}


/* v0.100.0.5: merge company is a normal one-column modal, not a compact-form grid. */
#company_merge_modal .company-merge-form{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:14px!important;
}
#company_merge_modal .company-merge-form>label{
    display:block!important;
    margin:0!important;
    font-size:.82rem!important;
    font-weight:800!important;
}
#company_merge_modal .company-merge-search-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
    align-items:center!important;
    width:100%!important;
}
#company_merge_modal .company-merge-search-row input{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
}
#company_merge_modal #company_merge_search_button{
    width:auto!important;
    min-width:88px!important;
    min-height:40px!important;
    margin:0!important;
    padding:8px 13px!important;
}
#company_merge_modal .company-merge-results{
    display:grid!important;
    grid-template-columns:1fr!important;
    width:100%!important;
    min-width:0!important;
    margin:2px 0 0!important;
    border:1px solid #d6e0e8!important;
    border-radius:7px!important;
    overflow:hidden!important;
}
#company_merge_modal .company-merge-results:empty{display:none!important;}
#company_merge_modal .company-merge-target{
    width:100%!important;
    min-width:0!important;
    min-height:44px!important;
    margin:0!important;
    padding:9px 11px!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:12px!important;
    align-items:center!important;
    text-align:left!important;
    border:0!important;
    border-bottom:1px solid #e2e8ee!important;
    border-radius:0!important;
    background:#fff!important;
    color:#12385c!important;
    box-shadow:none!important;
}
#company_merge_modal .company-merge-target:last-child{border-bottom:0!important;}
#company_merge_modal .company-merge-target b{
    min-width:0!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    white-space:normal!important;
}
#company_merge_modal .company-merge-target span{
    white-space:nowrap!important;
    color:#607487!important;
}
#company_merge_modal .company-merge-selected,
#company_merge_modal .company-merge-confirm-row,
#company_merge_modal #company_merge_result{
    width:100%!important;
    min-width:0!important;
    grid-column:1!important;
}
#company_merge_modal .company-merge-confirm-row{
    display:flex!important;
    justify-content:flex-end!important;
}
#company_merge_modal #company_merge_confirm{
    width:auto!important;
    min-width:0!important;
    min-height:40px!important;
    margin:0!important;
    padding:8px 12px!important;
}
@media(max-width:620px){
    #company_merge_modal .company-merge-search-row,
    #company_merge_modal .company-merge-target{grid-template-columns:1fr!important;}
    #company_merge_modal #company_merge_search_button{justify-self:start!important;}
    #company_merge_modal .company-merge-target span{white-space:normal!important;}
}

/* v1.1.0.14 association modal and company-filter alignment. */
body.admin-page #admin-app .company-filter-grid {
    grid-template-columns: minmax(320px, 1fr) minmax(180px, 240px) auto;
}
body.admin-page #admin-app .company-filter-grid select {
    width: 100%;
    min-width: 0;
    min-height: 40px;
    margin: 0 !important;
}
body.admin-page #admin-app .company-filter-grid #company_review_search_button {
    width: auto !important;
    min-width: 100px !important;
    justify-self: end;
    padding-inline: 18px !important;
}
body.admin-page #admin-app .user-association-modal-grid {
    grid-template-columns: 1fr !important;
    gap: 14px !important;
}
body.admin-page #admin-app .user-association-modal-grid .form-field,
body.admin-page #admin-app .user-association-modal-grid .form-field-wide {
    grid-column: 1 !important;
    min-width: 0 !important;
    width: 100% !important;
}
body.admin-page #admin-app .user-association-modal-grid #admin_assoc_contractor_type {
    width: 100% !important;
    max-width: 320px !important;
    margin: 0 !important;
}
body.admin-page #admin-app .installer-search-field {
    position: relative;
}
body.admin-page #admin-app .installer-search-results {
    margin-top: 6px !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 1px solid #cfdbe5 !important;
    border-radius: 10px !important;
    background: #fff !important;
    box-shadow: 0 8px 22px rgba(18,56,92,.10) !important;
}
body.admin-page #admin-app .installer-search-results .installer-search-row {
    display: grid !important;
    grid-template-columns: minmax(0,1fr) !important;
    gap: 3px !important;
    min-height: 0 !important;
    padding: 10px 12px !important;
    background: #fff !important;
    color: #12385c !important;
    border: 0 !important;
    border-bottom: 1px solid #e4ebf1 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
body.admin-page #admin-app .installer-search-results .installer-search-row:last-child {
    border-bottom: 0 !important;
}
body.admin-page #admin-app .installer-search-results .installer-search-row:hover,
body.admin-page #admin-app .installer-search-results .installer-search-row:focus-visible {
    background: #f4f8fb !important;
    color: #12385c !important;
}
body.admin-page #admin-app .association-modal-actions {
    padding-top: 14px !important;
    border-top: 1px solid #dce5ec !important;
}
body.admin-page #admin-app #admin_add_installer_link {
    width: auto !important;
    min-width: 136px !important;
    padding: 9px 16px !important;
}
@media (max-width: 760px) {
    body.admin-page #admin-app .company-filter-grid {
        grid-template-columns: 1fr;
    }
    body.admin-page #admin-app .company-filter-grid #company_review_search_button {
        justify-self: stretch;
        width: 100% !important;
    }
    body.admin-page #admin-app .user-association-modal-grid #admin_assoc_contractor_type {
        max-width: none !important;
    }
}


/* Shared homeowner skill administration. */
/* Homeowner skill administration: compact index with modal editing. */
body.admin-page #admin-app .derived-skills-index-panel {
    margin: 0;
}

body.admin-page #admin-app .derived-skill-table-wrap {
    max-height: none;
    overflow-x: auto;
}

body.admin-page #admin-app .derived-skill-table {
    width: 100%;
    min-width: 940px;
    table-layout: fixed;
}

body.admin-page #admin-app .derived-skill-table th:nth-child(1),
body.admin-page #admin-app .derived-skill-table td:nth-child(1) { width: 24%; }
body.admin-page #admin-app .derived-skill-table th:nth-child(2),
body.admin-page #admin-app .derived-skill-table td:nth-child(2) { width: 19%; }
body.admin-page #admin-app .derived-skill-table th:nth-child(3),
body.admin-page #admin-app .derived-skill-table td:nth-child(3) { width: 11%; text-align: center; }
body.admin-page #admin-app .derived-skill-table th:nth-child(4),
body.admin-page #admin-app .derived-skill-table td:nth-child(4) { width: 29%; }
body.admin-page #admin-app .derived-skill-table th:nth-child(5),
body.admin-page #admin-app .derived-skill-table td:nth-child(5) { width: 10%; }
body.admin-page #admin-app .derived-skill-table th:nth-child(6),
body.admin-page #admin-app .derived-skill-table td:nth-child(6) { width: 7%; text-align: right; }

body.admin-page #admin-app .derived-skill-table .table-sort-button {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: inherit !important;
    box-shadow: none !important;
    font: inherit;
    font-weight: 850;
    text-align: left;
    cursor: pointer;
}

body.admin-page #admin-app .derived-skill-table .table-sort-button:hover,
body.admin-page #admin-app .derived-skill-table .table-sort-button:focus-visible,
body.admin-page #admin-app .derived-skill-table .table-sort-button.active {
    color: #174f7d !important;
    text-decoration: underline;
    text-underline-offset: 3px;
}

body.admin-page #admin-app .skill-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    min-height: 28px;
    padding: 2px 8px;
    border: 1px solid #cbd6df;
    border-radius: 999px;
    background: #f7fafc;
    color: #173f67;
    font-weight: 800;
}

body.admin-page #admin-app .skill-subskill-cell {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}

body.admin-page #admin-app button.skill-subskill-chip {
    display: inline-flex;
    width: auto !important;
    min-width: 0 !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 3px 8px !important;
    border: 1px solid #b9c9d7 !important;
    border-radius: 999px !important;
    background: #eef5fb !important;
    color: #174f7d !important;
    box-shadow: none !important;
    font-size: 12px;
    font-weight: 800;
}

body.admin-page #admin-app button.skill-subskill-chip:hover,
body.admin-page #admin-app button.skill-subskill-chip:focus-visible {
    border-color: #174f7d !important;
    background: #e1eef8 !important;
}

body.admin-page #admin-app button.add-subskill-action {
    width: auto !important;
    min-width: 0 !important;
    min-height: 28px !important;
    margin: 0 !important;
    padding: 2px 4px !important;
    border: 0 !important;
    background: transparent !important;
    color: #12385c !important;
    box-shadow: none !important;
    font-size: 12px;
    font-weight: 800;
    text-decoration: underline;
}

body.admin-page #admin-app .skill-edit-action {
    min-width: 62px !important;
}

body.admin-page .modal-card.modal-card-wide.modal-card-skill {
    width: min(1040px, calc(100vw - 32px));
    max-width: 1040px;
}

body.admin-page #card_skill_editor_modal {
    max-height: none !important;
    overflow: visible !important;
    padding-right: 0 !important;
}

body.admin-page #card_skill_editor_modal .card-skill-details-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.admin-page #card_skill_editor_modal .field-help {
    margin: 5px 0 0;
    color: #607284;
    font-size: 11px;
    line-height: 1.3;
}

body.admin-page #card_skill_editor_modal .derived-skill-requirements {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #d7e0e8;
}

body.admin-page #card_skill_editor_modal .derived-selected-requirements {
    display: grid;
    gap: 8px;
}

body.admin-page #card_skill_editor_modal .selected-skill-requirement {
    border: 1px solid #d4dee7;
    border-radius: 6px;
    background: #fff;
    overflow: hidden;
}

body.admin-page #card_skill_editor_modal .selected-skill-requirement-main {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 12px;
}

body.admin-page #card_skill_editor_modal .selected-skill-requirement-main > div {
    display: grid;
    gap: 2px;
}

body.admin-page #card_skill_editor_modal .selected-skill-requirement-main small {
    color: #607284;
    font-size: 11.5px;
}

body.admin-page #card_skill_editor_modal button.requirement-remove {
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 2px 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: #a82525 !important;
    box-shadow: none !important;
}

body.admin-page #card_skill_editor_modal .selected-skill-requirement-options {
    border-top: 1px solid #e2e8ee;
    background: #f8fafc;
}

body.admin-page #card_skill_editor_modal .selected-skill-requirement-options summary {
    padding: 8px 12px;
    color: #38556f;
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
}

body.admin-page #card_skill_editor_modal .selected-skill-requirement-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    padding: 0 12px 12px;
}

body.admin-page #card_skill_editor_modal .selected-skill-requirement-fields label {
    margin: 0;
    font-size: 12px;
}

body.admin-page #card_skill_editor_modal .selected-skill-requirement-fields input,
body.admin-page #card_skill_editor_modal .selected-skill-requirement-fields select {
    min-height: 36px;
    margin-top: 4px;
    padding: 7px 9px;
    font-size: 12px;
}

body.admin-page #card_skill_editor_modal .derived-requirement-picker {
    margin-top: 12px;
    padding: 12px;
    border: 1px solid #cbd6df;
    border-radius: 6px;
    background: #fbfcfd;
}

body.admin-page #card_skill_editor_modal .derived-requirement-picker-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 12px;
}

body.admin-page #card_skill_editor_modal .derived-requirement-picker-head > div {
    min-width: 0;
}

body.admin-page #card_skill_editor_modal .derived-requirement-picker-head h4 {
    margin: 0 0 3px;
    color: #17324d;
    font-size: 15px;
}

body.admin-page #card_skill_editor_modal .derived-requirement-picker-head .form-help {
    margin: 0 !important;
}

body.admin-page #card_skill_editor_modal button.requirement-picker-done {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex: 0 0 auto;
    width: auto !important;
    min-width: 72px !important;
    min-height: 34px !important;
    margin: 0 !important;
    padding: 6px 12px !important;
    border: 1px solid #b8c7d4 !important;
    border-radius: 5px !important;
    background: #fff !important;
    color: #173f67 !important;
    box-shadow: none !important;
    font-size: 12px;
    font-weight: 800;
}

body.admin-page #card_skill_editor_modal button.requirement-picker-done:hover,
body.admin-page #card_skill_editor_modal button.requirement-picker-done:focus-visible {
    border-color: #174f7d !important;
    background: #eef5fb !important;
}

body.admin-page #card_skill_editor_modal .requirement-search-label {
    display: block !important;
    margin: 0 0 5px !important;
    color: #17324d !important;
    font-size: 12px !important;
    font-weight: 800 !important;
}

body.admin-page #card_skill_editor_modal #card_skill_requirement_search {
    width: 100% !important;
    min-height: 40px !important;
    margin: 0 0 12px !important;
}

body.admin-page #card_skill_editor_modal .derived-requirement-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    max-height: none;
    overflow: visible;
}

body.admin-page #card_skill_editor_modal button.requirement-option {
    grid-column: auto !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 12px;
    width: 100% !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    border: 1px solid #d5dee6 !important;
    border-radius: 6px !important;
    background: #fff !important;
    color: #17324d !important;
    box-shadow: none !important;
    text-align: left;
}

body.admin-page #card_skill_editor_modal button.requirement-option:hover,
body.admin-page #card_skill_editor_modal button.requirement-option:focus-visible {
    border-color: #7e9bb4 !important;
    background: #f1f7fb !important;
}

body.admin-page #card_skill_editor_modal button.requirement-option > span:first-child {
    display: grid;
    gap: 2px;
    min-width: 0;
}

body.admin-page #card_skill_editor_modal button.requirement-option b,
body.admin-page #card_skill_editor_modal button.requirement-option small {
    overflow-wrap: anywhere;
}

body.admin-page #card_skill_editor_modal button.requirement-option small {
    color: #607284;
    font-size: 11px;
}

body.admin-page #card_skill_editor_modal button.requirement-option strong {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 28px;
    padding: 3px 8px;
    border-radius: 999px;
    background: #e8f1f8;
    color: #174f7d;
    font-size: 11px;
    font-weight: 850;
}

body.admin-page #card_skill_editor_modal .requirement-picker-more {
    grid-column: 1 / -1;
    margin: 3px 0 0 !important;
    padding: 4px 2px 0;
}

body.admin-page #card_skill_editor_modal .requirement-picker-empty {
    grid-column: 1 / -1;
}

body.admin-page #admin-app .derived-skill-diagnostics { display: grid; gap: 12px; }
body.admin-page #admin-app .derived-skill-diagnostic {
    border: 1px solid #dbe3ea;
    border-left: 4px solid #d4aa28;
    border-radius: 8px;
    padding: 13px 14px;
    background: #fff;
}
body.admin-page #admin-app .derived-skill-diagnostic.earned { border-left-color: #2b6da8; }
body.admin-page #admin-app .derived-skill-diagnostic-head { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
body.admin-page #admin-app .derived-skill-diagnostic-head > div { display: grid; gap: 3px; }
body.admin-page #admin-app .derived-skill-diagnostic-head span { color: #607284; font-size: 12px; }
body.admin-page #admin-app .derived-skill-diagnostic ul { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 7px; }
body.admin-page #admin-app .derived-skill-diagnostic li { display: grid; grid-template-columns: 22px 1fr; gap: 7px; align-items: start; }
body.admin-page #admin-app .derived-skill-diagnostic li > span { font-weight: 900; color: #a77b00; }
body.admin-page #admin-app .derived-skill-diagnostic li.met > span { color: #2b6da8; }
body.admin-page #admin-app .derived-skill-diagnostic li div { display: grid; gap: 1px; }
body.admin-page #admin-app .derived-skill-diagnostic li small { color: #607284; }
body.admin-page #admin-app .derived-endorsement-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
body.admin-page #admin-app .derived-endorsement { display: inline-flex; padding: 5px 8px; border-radius: 999px; background: #fff4cf; color: #705400; font-size: 12px; font-weight: 700; }
body.admin-page #admin-app .derived-endorsement.earned { background: #dcecf9; color: #174f7d; }

@media (max-width: 760px) {
    body.admin-page #card_skill_editor_modal .card-skill-details-grid,
    body.admin-page #card_skill_editor_modal .selected-skill-requirement-fields,
    body.admin-page #card_skill_editor_modal .derived-requirement-options {
        grid-template-columns: 1fr;
    }

    body.admin-page #card_skill_editor_modal button.requirement-option {
        grid-column: 1 / -1 !important;
    }

    body.admin-page #card_skill_editor_modal .derived-requirement-picker-head {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    body.admin-page #card_skill_editor_modal button.requirement-picker-done {
        align-self: flex-start;
    }
}


/* Shared API token administration. */
/* API token management: compact access presets and a simple permission matrix. */
body.admin-page #admin-app .api-token-section { margin-top: 1.5rem; }

body.admin-page #admin-app .api-token-create-grid {
    display: grid;
    grid-template-columns: minmax(260px, 2fr) minmax(170px, 1fr);
    gap: 12px;
    max-width: 760px;
    margin: 12px 0 16px;
}

body.admin-page #admin-app .api-token-create-grid label {
    display: grid;
    gap: 4px;
    margin: 0;
    font-weight: 700;
}

body.admin-page #admin-app .api-token-access-fieldset {
    max-width: 920px;
    margin: 0 0 14px;
    padding: 0;
    border: 0;
}

body.admin-page #admin-app .api-token-access-fieldset legend {
    margin-bottom: 7px;
    color: #17324d;
    font-weight: 800;
}

body.admin-page #admin-app .api-token-access-presets {
    display: flex;
    align-items: stretch;
    gap: 8px;
    flex-wrap: wrap;
}

body.admin-page #admin-app .api-token-access-option {
    display: grid;
    grid-template-columns: 18px minmax(150px, 1fr);
    align-items: start;
    gap: 8px;
    flex: 1 1 220px;
    min-height: 0;
    margin: 0;
    padding: 9px 11px;
    border: 1px solid #cbd6df;
    border-radius: 5px;
    background: #fff;
    color: #17324d;
    cursor: pointer;
}

body.admin-page #admin-app .api-token-access-option:has(input:checked) {
    border-color: #3d6f98;
    background: #f1f7fb;
    box-shadow: inset 3px 0 0 #174f7d;
}

body.admin-page #admin-app .api-token-access-option input {
    width: 16px !important;
    height: 16px !important;
    margin: 2px 0 0 !important;
}

body.admin-page #admin-app .api-token-access-option span {
    display: grid;
    gap: 2px;
}

body.admin-page #admin-app .api-token-access-option strong {
    font-size: 13px;
    line-height: 1.2;
}

body.admin-page #admin-app .api-token-access-option small {
    color: #607284;
    font-size: 10.5px;
    font-weight: 500;
    line-height: 1.25;
}

body.admin-page #admin-app .api-token-custom-permissions {
    width: 100%;
    max-width: 920px;
    margin: 2px 0 16px;
}

body.admin-page #admin-app .api-token-custom-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 7px;
}

body.admin-page #admin-app .api-token-custom-heading h4 { margin: 0 0 2px; }
body.admin-page #admin-app .api-token-custom-heading p { margin: 0; }

body.admin-page #admin-app .api-token-scope-matrix {
    width: 100%;
    margin: 0;
    border-top: 1px solid #cbd6df;
    border-bottom: 1px solid #cbd6df;
    background: #fff;
}

body.admin-page #admin-app .api-token-scope-head,
body.admin-page #admin-app .api-token-scope-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) 72px 82px;
    align-items: center;
}

body.admin-page #admin-app .api-token-scope-head {
    min-height: 34px;
    background: #edf3f8;
    color: #173f67;
    font-size: 10.5px;
    font-weight: 850;
    letter-spacing: .03em;
    text-transform: uppercase;
}

body.admin-page #admin-app .api-token-scope-head > span {
    padding: 7px 10px;
    text-align: center;
}

body.admin-page #admin-app .api-token-scope-head > span:first-child { text-align: left; }

body.admin-page #admin-app .api-token-scope-row {
    min-height: 38px;
    border-top: 1px solid #e1e7ed;
}

body.admin-page #admin-app .api-token-scope-row > div {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 5px 10px;
}

body.admin-page #admin-app .api-token-scope-row > div:first-child { justify-content: flex-start; }
body.admin-page #admin-app .api-token-scope-resource b { font-size: 12.5px; }

body.admin-page #admin-app .api-token-scope-choice {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 28px;
    margin: 0;
    padding: 0;
    cursor: pointer;
    font-size: 0;
    line-height: 0;
}

body.admin-page #admin-app .api-token-scope-choice input {
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
}

body.admin-page #admin-app .api-token-scope-na { color: #94a3b8; }
body.admin-page #admin-app .api-token-table-wrap { max-height: none; margin-top: 18px; }
body.admin-page #admin-app .api-token-table { width: 100%; min-width: 840px; table-layout: fixed; }
body.admin-page #admin-app .api-token-table col.api-token-col-name { width: 20%; }
body.admin-page #admin-app .api-token-table col.api-token-col-hint { width: 13%; }
body.admin-page #admin-app .api-token-table col.api-token-col-scopes { width: 25%; }
body.admin-page #admin-app .api-token-table col.api-token-col-expires { width: 12%; }
body.admin-page #admin-app .api-token-table col.api-token-col-used { width: 14%; }
body.admin-page #admin-app .api-token-table col.api-token-col-status { width: 8%; }
body.admin-page #admin-app .api-token-table col.api-token-col-actions { width: 8%; }
body.admin-page #admin-app .api-token-table th,
body.admin-page #admin-app .api-token-table td {
    width: auto !important;
    min-width: 0;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    overflow-wrap: anywhere;
    vertical-align: top;
}
body.admin-page #admin-app .api-token-table th { white-space: nowrap; }
body.admin-page #admin-app .api-token-table td:last-child,
body.admin-page #admin-app .api-token-table th:last-child { text-align: right; white-space: nowrap; }
body.admin-page #admin-app .api-token-table .compact-action { min-width: 0; }
body.admin-page #admin-app .api-token-scope-cell { max-width: 280px; white-space: normal; overflow-wrap: anywhere; font-size: 12px; }
body.admin-page #admin-app .api-token-scope-chip { display: inline-block; margin: 0 3px 3px 0; padding: 2px 5px; border: 1px solid #cbd5e1; border-radius: 3px; background: #f8fafc; font-size: 10.5px; line-height: 1.25; }
body.admin-page #admin-app .api-token-secret-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
body.admin-page #admin-app .api-token-secret-row code { display: block; max-width: 100%; padding: 10px 12px; background: #0f172a; color: #fff; border-radius: 4px; overflow-wrap: anywhere; user-select: all; }
body.admin-page #admin-app .api-token-load-error { grid-column: 1 / -1; margin: 0; }

@media (max-width: 760px) {
    body.admin-page #admin-app .api-token-create-grid { grid-template-columns: 1fr; }
    body.admin-page #admin-app .api-token-access-presets { display: grid; grid-template-columns: 1fr; }
    body.admin-page #admin-app .api-token-custom-heading { align-items: flex-start; flex-direction: column; }
    body.admin-page #admin-app .api-token-scope-head,
    body.admin-page #admin-app .api-token-scope-row { grid-template-columns: minmax(150px, 1fr) 58px 68px; }
}
body.admin-page #admin-app .button-link { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }
body.admin-page #admin-app .status-badge.status-active { border-color: #15803d; color: #166534; background: #ecfdf3; }
body.admin-page #admin-app .status-badge.status-expired,
body.admin-page #admin-app .status-badge.status-revoked { border-color: #9ca3af; color: #475569; background: #f1f5f9; }


/* Shared accreditation administration. */
/* Shared accreditation list controls for administrator, installer and designer workspaces. */
.admin-accreditation-row .accreditation-summary{
    min-width:0;
}

.admin-accreditation-row .accreditation-summary > b,
.admin-accreditation-row .accreditation-summary > span{
    overflow-wrap:anywhere;
}

.admin-accreditation-row .accreditation-action-pair{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:6px;
    flex-wrap:nowrap;
    min-width:max-content;
}

#admin-app .admin-accreditation-row .accreditation-icon-action,
#installer-app .admin-accreditation-row .accreditation-icon-action{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    flex:0 0 34px;
    width:34px!important;
    min-width:34px!important;
    height:34px;
    min-height:34px!important;
    margin:0!important;
    padding:0!important;
    border:1px solid #aebfd0!important;
    border-radius:6px!important;
    background:#fff!important;
    color:#12385c!important;
    box-shadow:none!important;
    text-decoration:none;
    cursor:pointer;
}

#admin-app .admin-accreditation-row .accreditation-icon-action:hover,
#installer-app .admin-accreditation-row .accreditation-icon-action:hover,
#admin-app .admin-accreditation-row .accreditation-icon-action:focus-visible,
#installer-app .admin-accreditation-row .accreditation-icon-action:focus-visible{
    border-color:#2f6f9f!important;
    background:#edf5fb!important;
    outline:2px solid rgba(47,111,159,.22);
    outline-offset:1px;
}

#admin-app .admin-accreditation-row .accreditation-icon-action svg,
#installer-app .admin-accreditation-row .accreditation-icon-action svg{
    width:17px;
    height:17px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.9;
    stroke-linecap:round;
    stroke-linejoin:round;
    pointer-events:none;
}

#admin-app .admin-accreditation-row .evidence-action::before,
#installer-app .admin-accreditation-row .evidence-action::before{
    content:none!important;
}

#admin-app .admin-accreditation-row .upload-evidence-action,
#installer-app .admin-accreditation-row .upload-evidence-action{
    color:#245f8e!important;
}

#admin-app .admin-accreditation-row .accreditation-remove-action,
#installer-app .admin-accreditation-row .accreditation-remove-action{
    border-color:#d99a9a!important;
    color:#a51f25!important;
    background:#fff8f8!important;
}

#admin-app .admin-accreditation-row .accreditation-remove-action:hover,
#installer-app .admin-accreditation-row .accreditation-remove-action:hover,
#admin-app .admin-accreditation-row .accreditation-remove-action:focus-visible,
#installer-app .admin-accreditation-row .accreditation-remove-action:focus-visible{
    border-color:#b3262d!important;
    background:#fff0f0!important;
}

#admin-app .admin-accreditation-row .accreditation-state-action,
#installer-app .admin-accreditation-row .accreditation-state-action{
    width:auto!important;
    min-width:0!important;
    min-height:34px!important;
    margin:0!important;
    padding:7px 10px!important;
    border-radius:6px!important;
    box-shadow:none!important;
    white-space:nowrap;
}

@media(max-width:920px){
    .admin-accreditation-row .accreditation-action-pair{
        flex-wrap:wrap;
        min-width:0;
    }
}

@media(max-width:680px){
    .admin-accreditation-row .accreditation-action-pair{
        justify-content:flex-start;
    }
}

/* Accreditation removal confirmation is deliberately smaller than the edit forms. */
.accreditation-confirm-backdrop{
    z-index:1400!important;
}

.accreditation-confirm-card{
    width:min(460px,96vw)!important;
}

.accreditation-confirm-actions{
    display:flex;
    justify-content:flex-end;
    gap:10px;
    margin-top:18px;
}

.accreditation-confirm-actions button{
    width:auto!important;
    min-width:130px;
    margin:0!important;
}

@media(max-width:560px){
    .accreditation-confirm-actions{
        flex-direction:column-reverse;
    }
    .accreditation-confirm-actions button{
        width:100%!important;
    }
}

.accreditation-expiry-flag{
    display:inline-flex;
    align-items:center;
    margin-left:.45rem;
    padding:.08rem .42rem;
    border-radius:999px;
    font-size:.72rem;
    font-weight:700;
    line-height:1.35;
    vertical-align:middle;
}

.accreditation-expiry-flag.accreditation-expiring{
    color:#755300;
    background:#fff3c4;
    border:1px solid #e1c45f;
}

.accreditation-expiry-flag.accreditation-expired{
    color:#8f1717;
    background:#fde3e3;
    border:1px solid #dc9c9c;
}

/* Use the same compact status-card presentation in administrator user workspaces. */
body.admin-page #admin-app .user-page .admin-accreditation-row{
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 8px!important;
    padding:10px 12px!important;
    border:1px solid #d7e2ec!important;
    border-radius:12px!important;
    background:#f8fbfd!important;
}
body.admin-page #admin-app .user-page .admin-accreditation-row.acc-state-active{
    border-color:#b9d5e7!important;
    background:#eef7fc!important;
}
body.admin-page #admin-app .user-page .admin-accreditation-row.acc-state-pending{
    border-color:#ead49b!important;
    background:#fff9e8!important;
}
body.admin-page #admin-app .user-page .admin-accreditation-row.acc-state-suspended,
body.admin-page #admin-app .user-page .admin-accreditation-row.acc-state-rejected{
    border-color:#e2b5b5!important;
    background:#fff4f4!important;
}
body.admin-page #admin-app .user-page .admin-accreditation-row:last-child{
    margin-bottom:0!important;
}

/* Administrator suspend is a warning action, not a destructive removal action. */
#admin-app .admin-accreditation-row .accreditation-suspend-action{
    border:1px solid #d99a9a!important;
    background:#fff8f8!important;
    color:#a51f25!important;
}
#admin-app .admin-accreditation-row .accreditation-suspend-action:hover,
#admin-app .admin-accreditation-row .accreditation-suspend-action:focus-visible{
    border-color:#b3262d!important;
    background:#fff0f0!important;
}

/* Accreditation catalogue table. This file is appended after the selected
   Verify theme, so these rules are the final authority for this one table. */
body.admin-page #admin-app .accreditation-catalogue-table-wrap{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    overflow-x:visible!important;
    overflow-y:visible!important;
}
body.admin-page #admin-app .accreditation-catalogue-table{
    width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
}
body.admin-page #admin-app .accreditation-catalogue-table .accreditation-col-name{width:28%;}
body.admin-page #admin-app .accreditation-catalogue-table .accreditation-col-code{width:10%;}
body.admin-page #admin-app .accreditation-catalogue-table .accreditation-col-category{width:15%;}
body.admin-page #admin-app .accreditation-catalogue-table .accreditation-col-type{width:13%;}
body.admin-page #admin-app .accreditation-catalogue-table .accreditation-col-usage{width:14%;}
body.admin-page #admin-app .accreditation-catalogue-table .accreditation-col-status{width:8%;}
body.admin-page #admin-app .accreditation-catalogue-table .accreditation-col-order{width:4%;}
body.admin-page #admin-app .accreditation-catalogue-table .accreditation-col-action{width:8%;}
body.admin-page #admin-app .accreditation-catalogue-table th,
body.admin-page #admin-app .accreditation-catalogue-table td{
    min-width:0!important;
    vertical-align:middle!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
}
body.admin-page #admin-app .accreditation-catalogue-table td:first-child,
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(3){
    overflow-wrap:anywhere!important;
}
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(5),
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(5),
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(6),
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(6),
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(7),
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(7),
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(8),
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(8){
    white-space:nowrap!important;
}
body.admin-page #admin-app .accreditation-catalogue-table th:last-child,
body.admin-page #admin-app .accreditation-catalogue-table td:last-child{
    padding-left:6px!important;
    padding-right:10px!important;
    text-align:right;
    overflow:visible!important;
    text-overflow:clip!important;
}
body.admin-page #admin-app .accreditation-catalogue-table .accreditation-usage-primary{
    display:block;
    white-space:nowrap!important;
}
body.admin-page #admin-app .accreditation-catalogue-table .table-sort-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    width:auto!important;
    min-width:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:inherit!important;
    box-shadow:none!important;
    font:inherit!important;
    font-weight:700!important;
    line-height:1.2!important;
    text-transform:none!important;
}
body.admin-page #admin-app .accreditation-catalogue-table .table-sort-button.active::after{margin-left:4px;}
body.admin-page #admin-app .accreditation-catalogue-table .table-sort-button:hover,
body.admin-page #admin-app .accreditation-catalogue-table .table-sort-button:focus-visible{
    color:#0c4f82!important;
    text-decoration:underline;
    filter:none!important;
}
body.admin-page #admin-app .accreditation-catalogue-table .status-pill{white-space:nowrap!important;}
body.admin-page #admin-app .accreditation-catalogue-table .table-action-button{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    min-width:42px!important;
    max-width:48px!important;
    padding:6px 8px!important;
    font-size:.78rem!important;
    margin:0!important;
    white-space:nowrap!important;
}
@media(max-width:1100px){
    body.admin-page #admin-app .accreditation-catalogue-table-wrap{overflow-x:auto!important;}
    body.admin-page #admin-app .accreditation-catalogue-table{min-width:960px!important;}
}


/* v0.100.0.5: submitted accreditation requests use the same icon evidence action as normal accreditation rows. */
body.admin-page #admin-app .accreditation-request-admin-row .accreditation-icon-action{
    flex:0 0 auto!important;
}
body.admin-page #admin-app .accreditation-request-admin-row .accreditation-request-assign{
    display:grid!important;
    grid-template-columns:minmax(220px,1fr) auto!important;
    gap:8px!important;
    align-items:center!important;
    min-width:min(100%,360px)!important;
}
body.admin-page #admin-app .accreditation-request-admin-row .accreditation-request-assign select{
    width:100%!important;
    min-width:0!important;
    margin:0!important;
}
body.admin-page #admin-app .accreditation-request-admin-row .accreditation-request-assign button{
    width:auto!important;
    min-width:72px!important;
    margin:0!important;
}
@media(max-width:700px){
    body.admin-page #admin-app .accreditation-request-admin-row .accreditation-request-assign{grid-template-columns:1fr!important;min-width:0!important;}
    body.admin-page #admin-app .accreditation-request-admin-row .accreditation-request-assign button{justify-self:start!important;}
}


/* Installer user workspace. */
/* Installer selected-user navigation and derived skills. */
#installer-app #installer_users_list_view,
#installer-app #installer_user_workspace{
    width:100%;
    grid-column:1 / -1!important;
    box-sizing:border-box;
}
#installer-app .installer-user-workspace{
    display:block;
    margin:0;
}
#installer-app .installer-user-breadcrumb{
    display:flex;
    align-items:center;
    gap:10px;
    min-height:42px;
    margin:14px 0 22px;
    padding:10px 14px;
    box-sizing:border-box;
    border:1px solid #d7e2ec;
    border-radius:8px;
    background:#f7fafc;
    color:#68798a;
    font-size:14px;
    line-height:1.35;
}
#installer-app .installer-user-breadcrumb a{
    display:inline-flex;
    align-items:center;
    color:#12385c;
    font-weight:800;
    text-decoration:none;
}
#installer-app .installer-user-breadcrumb a:hover{
    color:#0b2c4c;
}
#installer-app .installer-user-breadcrumb a:focus-visible{
    outline:2px solid #2f6f9f;
    outline-offset:3px;
    border-radius:3px;
}
#installer-app .installer-user-breadcrumb-separator{
    color:#91a0ae;
    font-size:18px;
    line-height:1;
}
#installer-app .installer-user-breadcrumb-current{
    min-width:0;
    overflow:hidden;
    color:#5b6b7d;
    font-weight:600;
    text-overflow:ellipsis;
    white-space:nowrap;
}
#installer-app .installer-selected-user-layout{
    margin-top:0!important;
}
.installer-session-loading{
    min-height:220px;
    display:flex;
    align-items:center;
    justify-content:center;
    color:#5b6b7d;
    font-weight:700;
}
#installer-app .installer-skills-section{
    margin-top:20px;
    padding-top:18px;
    border-top:1px solid #d7e2ec;
}
#installer-app .installer-skills-section .panel-heading{
    margin-bottom:10px;
}
#installer-app .installer-skill-row{
    border:1px solid #d7e2ec;
    border-radius:12px;
    padding:11px 12px;
    background:#f8fbfd;
}
#installer-app .installer-skill-row.skill-status-active{
    border-color:#b9d5e7;
    background:#eef7fc;
}
#installer-app .installer-skill-row.skill-status-expired,
#installer-app .installer-skill-row.skill-status-suspended{
    border-color:#e2b5b5;
    background:#fff4f4;
}
#installer-app .installer-skill-row.skill-status-pending{
    border-color:#ead49b;
    background:#fff9e8;
}
#installer-app .skill-endorsement-list{
    display:flex;
    flex-wrap:wrap;
    gap:5px;
    margin-top:7px;
}
#installer-app .skill-endorsement-chip{
    display:inline-flex;
    margin:0;
    padding:3px 7px;
    border-radius:999px;
    background:#dcecf6;
    color:#12385c;
    font-size:.72rem;
    font-weight:800;
}
#installer-app .status-expired,
#installer-app .status-suspended{
    background:#fde3e3;
    color:#8f1717;
}
#installer-app .status-pending{
    background:#fff1c2;
    color:#755300;
}
body.admin-page #admin-app .company-person-row{
    cursor:pointer;
}
body.admin-page #admin-app .company-person-row:hover td,
body.admin-page #admin-app .company-person-row:focus td{
    background:#f2f8fc;
}
body.admin-page #admin-app .company-person-row:focus{
    outline:2px solid #2f6f9f;
    outline-offset:-2px;
}

/* v0.100.0.5 selected-user actions and existing-cardholder link polish. */
#installer_link_user_modal .compact-form{
    display:grid!important;
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:12px 16px!important;
    align-items:center!important;
}
#installer_link_user_modal .compact-form>label{margin:0!important;align-self:center!important;}
#installer_link_user_modal .compact-form>input{margin:0!important;min-width:0!important;}
#installer_link_user_modal .installer-link-fallback{
    grid-column:1/-1!important;
    width:100%!important;
    box-sizing:border-box!important;
    margin:4px 0 0!important;
    border:1px solid #d7e2ec!important;
    border-radius:10px!important;
    padding:0!important;
    background:#f7fafc!important;
    overflow:hidden!important;
}
#installer_link_user_modal .installer-link-fallback>summary{
    padding:11px 13px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    white-space:normal!important;
    border:0!important;
    background:transparent!important;
}
#installer_link_user_modal .installer-link-fallback>summary:after{float:none!important;margin-left:auto!important;}
#installer_link_user_modal .installer-link-fallback-fields{
    display:grid!important;
    grid-template-columns:150px minmax(0,1fr)!important;
    gap:10px 16px!important;
    padding:0 13px 13px!important;
    align-items:center!important;
}
#installer_link_user_modal .installer-link-fallback-fields .form-help{grid-column:1/-1!important;margin:0 0 3px!important;}
#installer_link_user_modal .installer-link-fallback-fields label{margin:0!important;}
#installer_link_user_modal .link-existing-user-submit{grid-column:2!important;width:auto!important;min-width:210px!important;justify-self:stretch!important;margin-top:2px!important;}
#installer_link_user_modal #installer_link_user_result{grid-column:1/-1!important;}

#installer-app .installer-selected-user-layout{grid-template-columns:minmax(0,1.35fr) minmax(260px,.65fr)!important;}
#installer-app .user-action-panel{align-self:start!important;}
#installer-app .user-action-panel h2{font-size:1rem!important;margin:0 0 8px!important;}
#installer-app .user-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;margin-top:0!important;}
#installer-app .user-action-button{min-height:40px!important;padding:8px 10px!important;border-radius:9px!important;font-size:.84rem!important;}
#installer-app .selected-user-card{position:relative;}
#installer-app .selected-user-detail-actions{position:absolute;right:0;top:0;display:flex;gap:6px;z-index:2;}
#installer-app .selected-user-remove-link{
    width:32px!important;height:32px!important;min-width:32px!important;min-height:32px!important;
    padding:0!important;margin:0!important;display:grid!important;place-items:center!important;
    border:0!important;background:transparent!important;color:#9f1b1b!important;box-shadow:none!important;border-radius:8px!important;font-size:15px!important;
}
#installer-app .selected-user-remove-link:hover{background:#fff0f0!important;}
#installer-app .selected-user-photo-column{display:flex;flex-direction:column;align-items:center;gap:7px;}
#installer-app .selected-user-edit-link{
    width:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:2px 5px!important;
    border:0!important;background:transparent!important;box-shadow:none!important;color:#184e7d!important;
    font-size:.76rem!important;font-weight:800!important;display:inline-flex!important;align-items:center!important;gap:4px!important;
}
#installer-app .selected-user-edit-link:hover{text-decoration:underline;}
#installer-app .association-request-prompt{margin-top:14px;padding:10px 0 0;border-top:1px solid rgba(18,56,92,.13);display:flex;align-items:center;justify-content:space-between;gap:12px;}
#installer-app .association-request-prompt span{display:grid;gap:2px;}
#installer-app .association-request-prompt small{color:#607487;}
#installer-app .association-request-prompt button{width:auto!important;min-width:0!important;margin:0!important;padding:7px 10px!important;}
@media(max-width:720px){
    #installer_link_user_modal .compact-form,#installer_link_user_modal .installer-link-fallback-fields{grid-template-columns:1fr!important;}
    #installer_link_user_modal .link-existing-user-submit{grid-column:1!important;}
    #installer-app .installer-selected-user-layout{grid-template-columns:1fr!important;}
    #installer-app .user-action-grid{grid-template-columns:1fr!important;}
}

/* Keep the accreditation editor compact; global button/input rules should not turn it
   back into a stack of oversized controls. */
#installer_add_accreditation_modal .modal-card{
    max-width:620px!important;
}
#installer_add_accreditation_modal .form-help{
    margin:0 0 12px!important;
}
#installer_add_accreditation_modal label{
    margin:10px 0 5px!important;
}
#installer_add_accreditation_modal select,
#installer_add_accreditation_modal input,
#installer_add_accreditation_modal textarea{
    width:100%!important;
    box-sizing:border-box!important;
    margin:0!important;
}
#installer_add_accreditation_modal .form-row.two-col{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:12px!important;
    align-items:end!important;
}
#installer_add_accreditation_modal #installer_add_accreditation{
    display:flex!important;
    width:auto!important;
    min-width:170px!important;
    margin:14px 0 0 auto!important;
    padding:9px 14px!important;
}
@media(max-width:620px){
    #installer_add_accreditation_modal .form-row.two-col{grid-template-columns:1fr!important;}
}


/* v0.100.0.5: compact installer user actions; keep destructive association control inside user details. */
#installer-app .installer-selected-user-layout{
    grid-template-columns:minmax(0,1fr) 260px!important;
    gap:14px!important;
}
#installer-app .selected-user-card{
    position:relative!important;
    padding-right:38px!important;
}
#installer-app .selected-user-detail-actions{
    position:absolute!important;
    top:0!important;
    right:0!important;
}
#installer-app .selected-user-remove-link svg{
    width:17px!important;
    height:17px!important;
    stroke:currentColor!important;
}
#installer-app .user-action-panel{
    align-self:start!important;
    padding:12px!important;
}
#installer-app .user-action-panel h2{
    margin:0 0 7px!important;
    font-size:.92rem!important;
}
#installer-app .user-action-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:5px!important;
    margin:0!important;
}
#installer-app .user-action-button{
    width:100%!important;
    min-height:34px!important;
    padding:6px 9px!important;
    border-radius:5px!important;
    font-size:.8rem!important;
    line-height:1.2!important;
    background:#f7f9fb!important;
    border:1px solid #d5dee7!important;
    color:#12385c!important;
}
#installer-app .user-action-button.active{
    background:#eef5fb!important;
    color:#12385c!important;
    border-color:#8db4d1!important;
    box-shadow:inset 3px 0 0 #12385c!important;
}
#installer-app .user-action-button span{
    min-width:24px!important;
    padding:2px 5px!important;
    border-radius:3px!important;
    background:#e5edf4!important;
    color:#12385c!important;
}
#installer-app .user-action-button.active span{
    background:#dbe9f4!important;
    color:#12385c!important;
}
@media(max-width:820px){
    #installer-app .installer-selected-user-layout{grid-template-columns:1fr!important;}
    #installer-app .user-action-panel{padding:10px!important;}
}


/* v0.100.0.5: keep the selected-user action menu independent of global theme button rules. */
body.installer-page #installer-app .user-action-panel{
    padding:12px!important;
}
body.installer-page #installer-app .user-action-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:6px!important;
    margin:0!important;
}
body.installer-page #installer-app button.user-action-button.secondary-button{
    width:100%!important;
    min-width:0!important;
    min-height:36px!important;
    margin:0!important;
    padding:7px 10px!important;
    border:1px solid #d5dee7!important;
    border-radius:6px!important;
    background:#f7f9fb!important;
    color:#12385c!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    text-align:left!important;
    font-size:.82rem!important;
    line-height:1.2!important;
    font-weight:800!important;
}
body.installer-page #installer-app button.user-action-button.secondary-button:hover,
body.installer-page #installer-app button.user-action-button.secondary-button:focus-visible{
    background:#eef3f7!important;
    border-color:#aebdcc!important;
}
body.installer-page #installer-app button.user-action-button.secondary-button.active{
    background:#eef5fb!important;
    color:#12385c!important;
    border-color:#8db4d1!important;
    box-shadow:inset 3px 0 0 #12385c!important;
}
body.installer-page #installer-app button.user-action-button.secondary-button span{
    min-width:24px!important;
    padding:2px 5px!important;
    border-radius:4px!important;
    background:#e5edf4!important;
    color:#12385c!important;
    font-size:.72rem!important;
}

/* v0.100.0.5: restore the established installer user-action proportions. The
   association edit/remove controls remain in the user card, but the normal
   action menu must retain the same size and visual hierarchy used before the
   association work. */
body.installer-page #installer-app .installer-selected-user-layout{
    grid-template-columns:minmax(0,1fr) minmax(320px,.68fr)!important;
    gap:16px!important;
}
body.installer-page #installer-app .user-action-panel{
    align-self:stretch!important;
    padding:20px!important;
}
body.installer-page #installer-app .user-action-panel h2{
    margin:0 0 12px!important;
    font-size:1.25rem!important;
}
body.installer-page #installer-app .user-action-grid{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:10px!important;
    margin-top:12px!important;
}
body.installer-page #installer-app button.user-action-button.secondary-button{
    width:100%!important;
    min-width:0!important;
    min-height:48px!important;
    margin:0!important;
    padding:12px 14px!important;
    border:1px solid rgba(18,56,92,.14)!important;
    border-radius:5px!important;
    background:#f7f9fb!important;
    color:#12385c!important;
    box-shadow:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:12px!important;
    text-align:left!important;
    font-size:.95rem!important;
    line-height:1.25!important;
    font-weight:900!important;
}
body.installer-page #installer-app button.user-action-button.secondary-button:hover,
body.installer-page #installer-app button.user-action-button.secondary-button:focus-visible{
    background:#eef3f7!important;
    border-color:#aebdcc!important;
}
body.installer-page #installer-app button.user-action-button.secondary-button.active{
    background:#12385c!important;
    color:#fff!important;
    border-color:#12385c!important;
    box-shadow:none!important;
}
body.installer-page #installer-app button.user-action-button.secondary-button span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:30px!important;
    padding:3px 8px!important;
    border-radius:3px!important;
    background:rgba(18,56,92,.12)!important;
    color:#12385c!important;
    font-size:.75rem!important;
}
body.installer-page #installer-app button.user-action-button.secondary-button.active span{
    background:rgba(255,255,255,.2)!important;
    color:#fff!important;
}
@media(max-width:900px){
    body.installer-page #installer-app .installer-selected-user-layout{grid-template-columns:1fr!important;}
}


/* Skill goals and multi-technician jobs. */
/* Skill goals and job team selection. */
.installer-goals-section,
.skill-goals-admin-section {
  margin-top: 1.25rem;
  padding-top: 1.1rem;
  border-top: 1px solid var(--line, #d5e0e8);
}

.installer-goal-list,
.admin-skill-goal-list {
  display: grid;
  gap: .75rem;
}

.skill-goal-card {
  border: 1px solid #cfdde8;
  border-radius: .75rem;
  padding: .85rem 1rem;
  background: #f8fbfd;
}

.skill-goal-card.goal-status-achieved { background: #edf7fb; border-color: #a8cedd; }
.skill-goal-card.goal-status-cancelled { opacity: .7; }

.skill-goal-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
}

.skill-goal-head > div { min-width: 0; }
.skill-goal-head b { display: block; }
.skill-goal-head span:not(.status-pill) { display: block; margin-top: .18rem; font-size: .82rem; color: #52687a; }

.skill-goal-progress {
  height: .42rem;
  margin: .7rem 0;
  overflow: hidden;
  border-radius: 999px;
  background: #dfe8ef;
}
.skill-goal-progress > span { display: block; height: 100%; background: #16466f; }

.skill-goal-requirements {
  list-style: none;
  margin: .55rem 0 0;
  padding: 0;
  display: grid;
  gap: .35rem;
}
.skill-goal-requirements li {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .35rem .5rem;
  border-radius: .35rem;
  font-size: .85rem;
}
.skill-goal-requirements li span,
.skill-goal-requirements li small { min-width: 0; }
.skill-goal-requirement-met { background: #edf7fb; }
.skill-goal-requirement-open { background: #fff7e8; }
.goal-cancel-action { margin-top: .55rem; }

.job-options-fieldset {
  margin: 0;
  border: 1px solid #d3dee7;
  border-radius: .65rem;
  padding: .8rem;
  background: #fbfdff;
}
.job-options-fieldset legend { padding: 0 .3rem; font-weight: 700; }
.job-options-fieldset > .form-help { margin: 0 0 .65rem; }
.job-selected-list { display: grid; gap: .4rem; }
.job-selected-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .75rem;
  padding: .5rem .6rem;
  border: 1px solid #d7e1e9;
  border-radius: .45rem;
  background: #fff;
}
.job-selected-row span { min-width: 0; }
.job-selected-row strong { display: block; }
.job-selected-row small,
.job-picker-result small,
.job-picker-head small { display: block; margin-top: .08rem; color: #607588; font-weight: 400; }
.job-selection-empty { margin: 0; color: #607588; font-size: .88rem; }
#installer_job_card_modal .job-picker-toggle,
#installer_job_card_modal .job-selection-remove,
#installer_job_card_modal .job-picker-result,
#installer_job_card_modal .job-picker-head .compact-action {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
}
#installer_job_card_modal .job-picker-toggle { margin-top: .65rem !important; padding: .48rem .72rem !important; }
#installer_job_card_modal .job-selection-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.9rem !important;
  height: 1.9rem;
  padding: 0 !important;
  flex: 0 0 1.9rem;
  border: 1px solid #d7a3a6;
  border-radius: .4rem;
  background: #fff8f8;
  color: #a51f25;
  font-size: 1.1rem;
  line-height: 1;
}
#installer_job_card_modal .job-selection-remove:hover,
#installer_job_card_modal .job-selection-remove:focus-visible { background: #fff0f0; border-color: #b3262d; }
.job-picker-panel {
  margin-top: .7rem;
  padding: .7rem;
  border: 1px solid #cbd9e4;
  border-radius: .55rem;
  background: #f4f8fb;
}
.job-picker-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; margin-bottom: .6rem; }
.job-picker-head > div { min-width: 0; }
.job-picker-panel > label { margin: 0 0 .3rem !important; }
.job-picker-panel > input { margin: 0 !important; }
.job-picker-results { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .4rem; margin-top: .55rem; }
#installer_job_card_modal .job-picker-result {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: .65rem;
  min-height: 3.2rem;
  padding: .5rem .6rem !important;
  border: 1px solid #d7e1e9 !important;
  border-radius: .45rem !important;
  background: #fff !important;
  color: #12385c !important;
  text-align: left;
  box-shadow: none !important;
}
#installer_job_card_modal .job-picker-result:hover,
#installer_job_card_modal .job-picker-result:focus-visible { border-color: #6f91ad !important; background: #f8fbfd !important; }
.job-picker-result span { min-width: 0; }
.job-picker-result b { flex: 0 0 auto; font-size: .78rem; color: #174f70; }
#installer_job_card_modal .modal-card {
  width: min(780px,96vw);
  max-height: calc(100vh - 32px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
#installer_job_card_modal .modal-head { flex: 0 0 auto; }
#installer_job_card_modal .job-modal-scroll {
  min-height: 0;
  overflow-y: auto;
  padding: 0 .25rem .5rem 0;
  scrollbar-gutter: stable;
}
#installer_job_card_modal .job-modal-actions {
  flex: 0 0 auto;
  display: flex;
  justify-content: flex-end;
  gap: .6rem;
  margin-top: .8rem;
  padding-top: .8rem;
  border-top: 1px solid #d7e1e9;
  background: #fff;
}
#installer_job_card_modal .job-modal-actions button {
  width: auto !important;
  min-width: 10rem;
  margin: 0 !important;
}

.job-technician-list { display: grid; gap: 1rem; margin-top: 1rem; }
.job-technician-card {
  border: 1px solid #d1dde7;
  border-radius: .85rem;
  padding: 1rem;
  background: #fff;
}
.job-technician-card .job-visit-card { margin: 0; }
.job-technician-card .verification-skills { margin-top: 1rem; }
.job-technician-card .verification-skills h3 { margin: 0; }

@media (max-width: 760px) {
  .job-picker-results { grid-template-columns: 1fr; }
  #installer_job_card_modal .job-modal-actions { flex-direction: column-reverse; }
  #installer_job_card_modal .job-modal-actions button { width: 100% !important; }
  .skill-goal-head { align-items: flex-start; }
}

/* v0.18.68.1 compact public-skill goals */
.goal-table-wrap{overflow-x:auto}.goal-table{width:100%;table-layout:auto}.goal-table th:nth-child(2){width:15rem}.goal-table th:nth-child(3){width:8rem}.goal-table th:nth-child(4){width:8rem}.goal-table th:last-child{width:3rem}.goal-table-row{cursor:pointer}.goal-table-row:focus{outline:2px solid #1b5d8f;outline-offset:-2px}.goal-table-row td:first-child small{display:block;margin-top:.15rem;color:#61768a}.skill-goal-progress.compact{width:100%;min-width:7rem;height:.3rem;margin:.35rem 0 0}.goal-remove-action{margin-left:auto}#admin-app .goal-table .goal-remove-action{display:inline-flex!important;align-items:center;justify-content:center;width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;margin:0!important;padding:0!important;border:1px solid #d99a9a!important;border-radius:6px!important;background:#fff8f8!important;color:#a51f25!important;box-shadow:none!important}#admin-app .goal-table .goal-remove-action:hover,#admin-app .goal-table .goal-remove-action:focus-visible{border-color:#b3262d!important;background:#fff0f0!important;outline:2px solid rgba(179,38,45,.18);outline-offset:1px}#admin-app .goal-table .goal-remove-action svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.skill-progress-toggle-row{display:flex;justify-content:flex-end;margin-top:.75rem}.all-skill-progress-panel{margin-top:.75rem}.goal-progress-all-list{border:1px solid #d5e0e8;border-radius:.65rem;overflow:hidden}.goal-progress-all-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(8rem,14rem) 3.5rem;align-items:center;gap:1rem;padding:.6rem .75rem;border-bottom:1px solid #e1e8ee}.goal-progress-all-row:last-child{border-bottom:0}.goal-progress-all-row small{display:block;color:#61768a;margin-top:.12rem}.goal-progress-all-row>span{text-align:right;font-weight:700}.goal-detail-summary{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.goal-detail-summary h3{margin:0}.goal-detail-summary p{margin:.25rem 0 0}.goal-detail-actions{justify-content:flex-end}.goal-route-options{margin-top:1rem;border-top:1px solid #d7e1e9;padding-top:.8rem}.goal-route-options h4{margin:0}.goal-route-option{display:grid;grid-template-columns:minmax(8rem,1fr) auto;gap:.3rem 1rem;padding:.55rem .65rem;margin-top:.45rem;border:1px solid #d7e1e9;border-radius:.5rem;background:#f8fbfd}.goal-route-option ul{grid-column:1/-1;margin:.25rem 0 0;padding-left:1.1rem}.goal-route-option li.met{color:#174f70}.goal-route-option li.missing{color:#80580c}.installer-goal-rows{border:1px solid #d4dfe8;border-radius:.7rem;overflow:hidden}.installer-goal-row{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(7rem,12rem) 7rem 6rem 2.5rem;align-items:center;gap:.75rem;padding:.65rem .75rem;border-bottom:1px solid #dce5ec;background:#fff;cursor:pointer}.installer-goal-row:last-child{border-bottom:0}.installer-goal-row:hover{background:#f7fafc}.installer-goal-row:focus{outline:2px solid #1b5d8f;outline-offset:-2px}.installer-goal-row small{display:block;color:#61768a;margin-top:.12rem}.installer-goal-row .goal-target{font-size:.85rem;color:#52687a}.goal-detail-modal-card{max-width:46rem}
@media(max-width:760px){.goal-progress-all-row{grid-template-columns:1fr 3rem}.goal-progress-all-row .skill-goal-progress{grid-column:1/2}.installer-goal-row{grid-template-columns:1fr auto}.installer-goal-row>.skill-goal-progress,.installer-goal-row>.goal-target{grid-column:1/-1}.installer-goal-row>.status-pill{grid-column:1/2;justify-self:start}.installer-goal-row>.goal-remove-action{grid-column:2/3;grid-row:1/2}.goal-table th:nth-child(2),.goal-table td:nth-child(2){min-width:10rem}}

/* Achieved skills beneath active goals */
.achieved-skills-admin-block{margin-top:1rem;padding-top:.9rem;border-top:1px solid #d5e0e8}.achieved-skills-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem}.achieved-skills-heading h4{margin:0}.achieved-skill-table th:nth-child(2){width:13rem}.achieved-skill-table th:nth-child(3){width:8rem}.achieved-skill-table th:nth-child(4){width:7rem}.achieved-skill-endorsements{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.3rem}.achieved-skill-endorsements span{display:inline-flex;align-items:center;padding:.14rem .4rem;border-radius:999px;background:#eaf3f8;color:#194a6c;font-size:.72rem;font-weight:700}.admin-achieved-skill-list .empty-state{margin:.35rem 0 0}
@media(max-width:760px){.achieved-skill-table th:nth-child(2),.achieved-skill-table td:nth-child(2){display:none}.achieved-skill-table th:nth-child(3),.achieved-skill-table td:nth-child(3){min-width:7rem}}
.installer-goal-row.goal-read-only{grid-template-columns:minmax(12rem,1fr) minmax(7rem,12rem) 7rem 6rem}
@media(max-width:760px){.installer-goal-row.goal-read-only{grid-template-columns:1fr auto}}


/* News administration and MFA QR. */
/* v0.18.70.0 news administration, MFA QR and optional installer goals. */
.news-admin-layout{display:grid;grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr);gap:1rem;align-items:start}.news-compose-panel,.news-list-panel{margin:0}.news-compose-panel h3,.news-list-panel h3{margin-top:0}.news-compose-form textarea{resize:vertical}.news-archive-toggle{display:inline-flex!important;align-items:center;gap:.45rem;margin:0!important;white-space:nowrap;font-size:.86rem;font-weight:700}.news-archive-toggle input{width:auto!important;margin:0!important}.news-admin-table td:first-child{min-width:16rem}.news-admin-table td:first-child small{display:block;margin-top:.2rem;color:#607588;line-height:1.35}.news-admin-table th:last-child,.news-admin-table td:last-child{width:7rem;text-align:right}
.mfa-qr-panel{display:flex;align-items:center;justify-content:center;width:max-content;max-width:100%;margin:.7rem auto 1rem;padding:.65rem;background:#fff;border:1px solid #cbd9e4;border-radius:.45rem}.mfa-qr-panel canvas{display:block;max-width:100%;height:auto}.mfa-inline-panel .mfa-qr-panel{margin-left:0}.mfa-inline-panel .admin-code-block{overflow-wrap:anywhere}
@media(max-width:860px){.news-admin-layout{grid-template-columns:1fr}.news-admin-table td:first-child{min-width:12rem}}

/* v0.100.0.8: keep authenticator enrolment compact and consistent with admin modals. */
.mfa-setup-modal .mfa-qr-panel{margin:.25rem auto 1rem;}
.mfa-setup-modal .mfa-setup-grid{grid-template-columns:minmax(0,1fr);}
.mfa-setup-modal .admin-code-block{display:block;width:100%;box-sizing:border-box;padding:.65rem .75rem;border:1px solid #c7d4df;border-radius:.45rem;background:#f7fafc;overflow-wrap:anywhere;word-break:break-all;}
.mfa-setup-modal #admin_mfa_uri{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.78rem;}
.mfa-setup-modal.mfa-enrollment-required #admin_mfa_setup_intro::before{content:'MFA is required for IAA administrator accounts. ';font-weight:700;color:#12385c;}


/* Public legal and scheme documents. */
/* v0.18.72.1: long-form public legal and scheme documents. */
.legal-page-shell {
    width: min(1120px, calc(100% - 32px));
}

.legal-hero-card {
    overflow: visible;
}

.legal-document-header {
    padding: 40px 44px 30px;
    border-bottom: 1px solid #dbe3eb;
}

.legal-document-header h1 {
    max-width: 780px;
    margin: 12px 0 14px;
}

.legal-document-header .lead {
    max-width: 780px;
    margin: 0;
    color: #465a70;
    font-size: 18px;
    line-height: 1.65;
}

.legal-related-links {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 7px 16px;
    margin-top: 22px;
    font-size: 14px;
}

.legal-related-links span {
    color: #69798a;
    font-weight: 700;
}

.legal-related-links a,
.legal-document a {
    color: var(--iaa-blue);
    font-weight: 750;
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.legal-related-links a:hover,
.legal-related-links a:focus-visible,
.legal-document a:hover,
.legal-document a:focus-visible {
    text-decoration-thickness: 2px;
}

.legal-document-layout {
    display: grid;
    grid-template-columns: minmax(190px, 225px) minmax(0, 1fr);
    gap: 38px;
    padding: 32px 44px 48px;
}

.legal-toc {
    min-width: 0;
    padding-right: 28px;
    border-right: 1px solid #dbe3eb;
}

.legal-toc-inner {
    position: sticky;
    top: 18px;
    max-height: calc(100vh - 36px);
    overflow-y: auto;
    padding-right: 8px;
}

.legal-toc h2 {
    margin: 0 0 12px;
    color: #243a52;
    font-size: 14px;
    letter-spacing: .02em;
    text-transform: uppercase;
}

.legal-toc ol {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: legal-toc;
}

.legal-toc li {
    counter-increment: legal-toc;
}

.legal-toc a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    gap: 4px;
    color: #516478;
    font-size: 13px;
    line-height: 1.35;
    text-decoration: none;
}

.legal-toc a::before {
    content: counter(legal-toc) ".";
    color: #8a98a7;
    font-variant-numeric: tabular-nums;
}

.legal-toc a:hover,
.legal-toc a:focus-visible {
    color: var(--iaa-blue);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.legal-document {
    width: 100%;
    max-width: 790px;
    min-width: 0;
    color: #25384d;
    font-size: 16px;
    line-height: 1.68;
}

.legal-document section,
.legal-clauses > li {
    scroll-margin-top: 22px;
}

.legal-document section + section {
    margin-top: 34px;
    padding-top: 30px;
    border-top: 1px solid #e1e7ed;
}

.legal-document h2 {
    margin: 0 0 16px;
    color: #12385c;
    font-size: clamp(23px, 3vw, 29px);
    line-height: 1.2;
}

.legal-document h3 {
    margin: 26px 0 12px;
    color: #243f5c;
    font-size: 18px;
    line-height: 1.35;
}

.legal-document p {
    margin: 0 0 16px;
}

.legal-document p:last-child,
.legal-document li > p:last-child {
    margin-bottom: 0;
}

.legal-document ul,
.legal-document ol:not(.legal-clauses) {
    margin: 12px 0 20px;
    padding-left: 24px;
}

.legal-document ul li,
.legal-document ol:not(.legal-clauses) li {
    margin: 8px 0;
    padding-left: 4px;
}

.legal-document ul li::marker {
    color: var(--iaa-green);
}

.legal-document strong {
    color: #163858;
}

.legal-introduction {
    margin-bottom: 34px;
    padding-bottom: 30px;
    border-bottom: 1px solid #e1e7ed;
}

/* Numbered terms use hierarchical counters: 1, 1.1, 1.1.1.
   A grid reserves a dedicated number column so long clause numbers never
   overlap the clause text at any viewport width. */
.legal-clauses,
.legal-clauses ol {
    margin: 0;
    padding: 0;
    list-style: none;
    counter-reset: clause;
}

.legal-clauses li {
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    column-gap: 11px;
    align-items: start;
    min-width: 0;
    counter-increment: clause;
}

.legal-clauses li::before {
    content: counters(clause, ".") ".";
    grid-column: 1;
    grid-row: 1;
    align-self: start;
    min-width: 0;
    color: #66798c;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
    line-height: 1.68;
    text-align: right;
    white-space: nowrap;
}

.legal-clauses li > p,
.legal-clauses li > ul,
.legal-clauses li > div {
    grid-column: 2;
    min-width: 0;
}

/* Nested clauses use the full parent width and add only a small visual step.
   This keeps 1.1 and 1.1.1 readable without pushing the text halfway across
   the document. */
.legal-clauses li > ol {
    grid-column: 1 / -1;
    min-width: 0;
    margin-left: 18px;
}

.legal-clauses > li {
    margin-top: 34px;
    padding-top: 30px;
    border-top: 1px solid #e1e7ed;
}

.legal-clauses > li:first-child {
    margin-top: 0;
    padding-top: 0;
    border-top: 0;
}

.legal-clauses > li::before {
    color: var(--iaa-blue);
    font-size: 20px;
    line-height: 1.22;
}

.legal-clauses > li > p:first-child {
    margin: 0 0 17px;
    color: #12385c;
    font-size: clamp(22px, 3vw, 28px);
    font-weight: 850;
    line-height: 1.22;
}

.legal-clauses ol {
    margin-top: 12px;
}

.legal-clauses ol > li {
    margin: 12px 0;
}

.legal-content-gap {
    margin: 18px 0;
    padding: 13px 0 13px 16px;
    border-left: 4px solid #e4a13a;
    color: #594827;
}

.legal-contact-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 28px;
    margin-top: 24px;
    padding-top: 22px;
    border-top: 1px solid #e1e7ed;
}

.legal-contact-columns address {
    margin: 0;
    color: #3e5368;
    font: inherit;
    line-height: 1.65;
}

.legal-contact-columns address + address {
    padding-left: 28px;
    border-left: 1px solid #e1e7ed;
}

@media (max-width: 820px) {
    .legal-document-header {
        padding: 30px 26px 24px;
    }

    .legal-document-layout {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 26px 26px 38px;
    }

    .legal-toc {
        padding: 0 0 22px;
        border-right: 0;
        border-bottom: 1px solid #dbe3eb;
    }

    .legal-toc-inner {
        position: static;
        max-height: none;
        overflow: visible;
        padding: 0;
    }

    .legal-toc ol {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 8px 18px;
    }

    .legal-document {
        max-width: none;
    }
}

@media (max-width: 560px) {
    .legal-page-shell {
        width: min(100% - 18px, 1120px);
        padding-top: 10px;
    }

    .legal-document-header {
        padding: 25px 19px 21px;
    }

    .legal-document-header .lead {
        font-size: 16px;
    }

    .legal-document-layout {
        padding: 22px 19px 32px;
    }

    .legal-toc ol {
        grid-template-columns: 1fr;
    }

    .legal-document {
        font-size: 15.5px;
        line-height: 1.65;
    }

    .legal-document section + section {
        margin-top: 28px;
        padding-top: 25px;
    }

    .legal-clauses li {
        grid-template-columns: 46px minmax(0, 1fr);
        column-gap: 8px;
    }

    .legal-clauses li > ol {
        margin-left: 10px;
    }

    .legal-clauses li::before {
        font-size: 13px;
    }

    .legal-clauses > li::before {
        font-size: 17px;
    }

    .legal-contact-columns {
        grid-template-columns: 1fr;
    }

    .legal-contact-columns address + address {
        padding: 22px 0 0;
        border-top: 1px solid #e1e7ed;
        border-left: 0;
    }
}
