/* 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;
    min-height: 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-row>div{min-width:0;flex:1}.job-comms-trail{margin-top:10px;border-top:1px solid rgba(18,56,92,.12);padding-top:8px}.job-comms-trail summary{cursor:pointer;color:#12385c;font-size:13px;font-weight:800;list-style-position:inside}.job-comms-list{display:grid;gap:7px;margin-top:8px}.job-comms-entry{padding:8px 10px;border-radius:10px;background:#fff;border:1px solid rgba(18,56,92,.1);color:#26394d;font-size:13px;line-height:1.4}.job-comms-meta{color:#68788a;font-size:11px;font-weight:700;margin-bottom:3px}.job-comms-empty{margin-top:8px;font-style:italic}
.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;
}

/* The platform attribution is intentionally independent of tenant branding.
   It stays beneath both columns of the existing shared footer. */
.iaa-bot-nav-powered-by {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: 8px;
    border-top: 1px solid rgba(8, 43, 85, .08);
    padding: 9px 0 3px;
    color: #526276;
    font-size: 11px;
}
.iaa-bot-nav-powered-by img {
    display: block;
    width: 96px;
    max-height: 43px;
    height: auto;
    object-fit: contain;
}

.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(4,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;
}
.webhook-create-grid{display:grid;grid-template-columns:minmax(180px,.7fr) minmax(280px,1.5fr) minmax(180px,.7fr);gap:12px;align-items:end}.webhook-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.webhook-event-choice{display:flex!important;gap:8px;align-items:flex-start;margin:0!important;padding:9px 10px;border:1px solid rgba(18,56,92,.12);border-radius:10px;background:#f9fbfd}.webhook-event-choice input{width:auto!important;margin:3px 0 0!important}.webhook-event-choice span{display:grid;gap:2px}.webhook-event-choice small{color:#647589;font-weight:500}.webhook-endpoint-cell code{overflow-wrap:anywhere}.webhook-table .action-pair{display:flex;flex-wrap:wrap;gap:6px}.webhook-table .compact-action{min-width:0!important;white-space:nowrap}@media(max-width:900px){.webhook-create-grid,.webhook-event-grid{grid-template-columns:1fr}}

/* v1.2.1.8 account/integration layout */
.installer-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:start;margin-top:14px}
.settings-card{min-width:0;padding:18px;border:1px solid var(--iaa-border,#d5dee7);border-radius:10px;background:#fff}
.settings-card-wide{grid-column:1/-1}
.settings-card>.section-title-row{margin:0 0 14px}.settings-card>.section-title-row h3{margin:0 0 4px}.settings-card>.section-title-row .form-help{margin:0}
.settings-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px}.settings-field-grid>label{margin:0!important}.settings-field-wide{grid-column:1/-1}
.organisation-logo-settings{display:grid;grid-template-columns:minmax(150px,220px) minmax(260px,1fr);gap:16px;align-items:start;margin-top:14px}.organisation-logo-settings .company-logo-upload-preview{margin:0}.organisation-logo-settings .styled-file-field{margin:0}
.settings-card-actions{display:flex;justify-content:flex-start;margin-top:14px}.settings-card-actions button{width:auto}
.installer-security-settings .admin-details{margin-top:10px}.installer-security-settings .admin-details:first-of-type{margin-top:0}
.settings-integration-row{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:14px;border:1px solid #e1e7ed;border-radius:9px;background:#f8fafc}.settings-integration-row h4{margin:0 0 4px}.settings-integration-row .form-help{margin:0}.settings-integration-row .button-link{flex:0 0 auto}
.installer-integration-settings{padding-bottom:16px}
.credentials-panel>.webhook-section{margin-top:16px}

/* Keep the power-user scope switch compact and aligned, regardless of tenant input styling. */
#scope_admin_modal .scope-admin-modal-grid{gap:14px 16px;align-items:end}
#scope_admin_modal .scope-admin-all-wrap{grid-column:1/-1!important;align-self:auto;padding:10px 12px!important;border:1px solid #e0e6ec;border-radius:8px;background:#f8fafc}
#scope_admin_modal .scope-admin-all-wrap .admin-switch{display:inline-flex!important;width:auto!important;min-height:24px!important;align-items:center!important;gap:10px!important;margin:0!important;padding:0!important;color:#173f67!important}
#scope_admin_modal .scope-admin-all-wrap .admin-switch input[type="checkbox"]{position:absolute!important;left:0!important;top:0!important;width:1px!important;height:1px!important;min-width:1px!important;min-height:1px!important;margin:0!important;padding:0!important;opacity:0!important;clip:rect(0 0 0 0)!important;clip-path:inset(50%)!important;overflow:hidden!important;pointer-events:none!important}
#scope_admin_modal .scope-admin-all-wrap .admin-switch-track{display:inline-flex!important;flex:0 0 42px!important;width:42px!important;height:24px!important;min-width:42px!important;min-height:24px!important;margin:0!important}
#scope_admin_modal .scope-admin-all-wrap .admin-switch-thumb{display:block!important;width:16px!important;height:16px!important;min-width:16px!important;min-height:16px!important}

/* Webhook tables are deliberately wide; scroll the table instead of crushing headings into vertical text. */
.webhook-table-wrap{overflow-x:auto}
.webhook-table{width:100%;min-width:1120px!important;table-layout:fixed}
.webhook-table .webhook-col-name{width:150px}.webhook-table .webhook-col-endpoint{width:280px}.webhook-table .webhook-col-scope{width:130px}.webhook-table .webhook-col-events{width:220px}.webhook-table .webhook-col-delivery{width:135px}.webhook-table .webhook-col-status{width:95px}.webhook-table .webhook-col-actions{width:260px}
.webhook-table th,.webhook-table td{vertical-align:top}.webhook-table th{white-space:normal;overflow-wrap:normal;word-break:normal}.webhook-table th:nth-last-child(-n+3),.webhook-table td:nth-last-child(-n+3){white-space:nowrap}
.webhook-table .webhook-endpoint-cell code{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere;word-break:break-word}.webhook-table .api-token-scope-cell{white-space:normal!important}.webhook-table .action-pair{display:flex;flex-wrap:wrap;gap:6px;align-items:flex-start}.webhook-table .action-pair .compact-action{flex:0 0 auto}
.webhook-create-grid-no-scope{grid-template-columns:minmax(180px,.7fr) minmax(320px,1.6fr)}
.webhook-section-heading{align-items:flex-start}.webhook-create-controls.webhook-read-only{display:none}

@media(max-width:900px){.installer-settings-grid{grid-template-columns:1fr}.settings-card-wide{grid-column:1}.settings-field-grid,.organisation-logo-settings{grid-template-columns:1fr}.settings-field-wide{grid-column:1}.settings-integration-row{align-items:flex-start;flex-direction:column}.webhook-create-grid-no-scope{grid-template-columns:1fr}}

/* v1.2.1.9: keep webhook status/action columns readable inside admin-table overrides. */
body.admin-page #admin-app .admin-table.webhook-table,
body.installer-page #installer-app .admin-table.webhook-table{
    width:100%;
    min-width:1270px!important;
    table-layout:fixed!important;
}
body.admin-page #admin-app .admin-table.webhook-table th,
body.admin-page #admin-app .admin-table.webhook-table td,
body.installer-page #installer-app .admin-table.webhook-table th,
body.installer-page #installer-app .admin-table.webhook-table td{
    overflow:visible;
    text-overflow:clip;
}
body.admin-page #admin-app .admin-table.webhook-table th,
body.installer-page #installer-app .admin-table.webhook-table th{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
}
body.admin-page #admin-app .admin-table.webhook-table th:nth-last-child(-n+3),
body.admin-page #admin-app .admin-table.webhook-table td:nth-last-child(-n+3),
body.installer-page #installer-app .admin-table.webhook-table th:nth-last-child(-n+3),
body.installer-page #installer-app .admin-table.webhook-table td:nth-last-child(-n+3){
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
}

/* v1.2.1.10: account settings and organisation integration layout. */
.installer-organisation-form{display:block;width:100%;min-width:0}
.installer-organisation-form .settings-field-grid{width:100%}
.card-credit-purchase{display:grid;grid-template-columns:minmax(120px,180px) minmax(180px,1fr);gap:12px;align-items:end;margin-top:16px}.card-credit-purchase label{margin:0}.card-credit-purchase button{width:auto;justify-self:start}
.settings-integration-block{margin-top:14px;padding:16px;border:1px solid #e1e7ed;border-radius:9px;background:#f8fafc}.settings-integration-block:first-of-type{margin-top:0}.settings-integration-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:14px}.settings-integration-heading h4{margin:0 0 4px}.settings-integration-heading .form-help{margin:0}.settings-integration-heading .button-link{flex:0 0 auto;width:auto}
.organisation-api-key-create{display:grid;grid-template-columns:minmax(220px,1fr) minmax(160px,220px);gap:12px 16px;align-items:end}.organisation-api-key-create label{margin:0!important}
.organisation-api-key-table-wrap{margin-top:14px;overflow-x:auto}.organisation-api-key-table{width:100%;min-width:980px;table-layout:fixed}.organisation-api-key-table col:nth-child(1){width:170px}.organisation-api-key-table col:nth-child(2){width:155px}.organisation-api-key-table col:nth-child(3){width:300px}.organisation-api-key-table col:nth-child(4){width:150px}.organisation-api-key-table col:nth-child(5){width:150px}.organisation-api-key-table col:nth-child(6){width:110px}.organisation-api-key-table th,.organisation-api-key-table td{overflow:visible!important;overflow-wrap:normal!important;word-break:normal!important}.organisation-api-key-table th{white-space:nowrap}.organisation-api-key-table .api-token-scope-cell{white-space:normal}
.installer-integration-settings>.webhook-section{margin-top:18px;padding-top:18px;border-top:1px solid #dfe6ed}.installer-integration-settings>.webhook-section .section-title-row{margin-top:0}
@media(max-width:900px){.card-credit-purchase,.organisation-api-key-create{grid-template-columns:1fr}.settings-integration-heading{flex-direction:column}.settings-integration-heading .button-link{align-self:flex-start}.organisation-logo-settings{grid-template-columns:1fr}}

/* v1.2.1.21: user review queue visibility. */
#admin-app .user-review-table-flag{display:flex;align-items:center;gap:5px;width:max-content;max-width:100%;margin-top:5px;padding:3px 7px;border-radius:999px;background:#fff1f2;color:#991b1b;font-size:.7rem;font-weight:850;line-height:1.2;overflow:hidden;text-overflow:ellipsis;}
#admin-app .user-review-table-flag .tab-action-flag{width:15px;height:15px;min-width:15px;font-size:9px;}
#admin-app .admin-table tr.admin-user-row.admin-user-needs-review td:first-child{box-shadow:inset 3px 0 0 #dc2626;}
#admin-app .users-filter-grid #admin_filter_review{min-width:150px;}



/* v1.2.1.22: keep Users search controls in a predictable two-row 12-column layout. */
body.admin-page #admin-app .users-filter-grid{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:10px 12px;
  align-items:center;
}
body.admin-page #admin-app .users-filter-grid>*{min-width:0}
body.admin-page #admin-app .users-filter-grid .users-filter-name{grid-column:span 4}
body.admin-page #admin-app .users-filter-grid .users-filter-email{grid-column:span 3}
body.admin-page #admin-app .users-filter-grid .users-filter-organisation{grid-column:span 3}
body.admin-page #admin-app .users-filter-grid .users-filter-scope{grid-column:span 2}
body.admin-page #admin-app .users-filter-grid .users-filter-role{grid-column:span 2}
body.admin-page #admin-app .users-filter-grid .users-filter-review{grid-column:span 2;min-width:0!important}
body.admin-page #admin-app .users-filter-grid .users-filter-account{grid-column:span 2}
body.admin-page #admin-app .users-filter-grid .users-filter-skill{grid-column:span 4}
body.admin-page #admin-app .users-filter-grid .users-filter-search{grid-column:span 2;width:100%!important}
@media(max-width:760px){
  body.admin-page #admin-app .users-filter-grid{grid-template-columns:1fr!important}
  body.admin-page #admin-app .users-filter-grid>*{grid-column:auto!important}
}

/* v1.2.1.29: scoped accreditation catalogue and installer roles/functions. */
.installer-catalogue-workspace,.installer-competence-workspace{width:100%;min-width:0}
.catalogue-source-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:4px 0 16px}.catalogue-source-tab,.competence-type-tab,.accreditation-picker-source{width:auto}.catalogue-source-tab.active,.competence-type-tab.active,.accreditation-picker-source.active{font-weight:800;box-shadow:inset 0 -2px 0 currentColor}
.catalogue-filter-grid{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(145px,1fr));gap:10px;margin-bottom:10px;align-items:center}.catalogue-filter-grid>*{min-width:0}.catalogue-favourite-filter{display:flex!important;align-items:center;gap:7px;margin:0!important;font-size:.9rem}.catalogue-favourite-filter input{width:auto!important;min-height:auto!important;margin:0!important}.catalogue-result-summary{margin:8px 0 12px}
.catalogue-result-list,.competence-definition-list{display:grid;gap:9px}.catalogue-result-card,.competence-definition-card{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 14px;border:1px solid #dfe6ed;border-radius:10px;background:#fff}.catalogue-result-main{min-width:0}.catalogue-result-title,.competence-definition-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.catalogue-result-meta,.catalogue-result-code,.competence-definition-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-top:4px;color:#607087;font-size:.82rem}.catalogue-result-code code{font-size:.78rem}.catalogue-source-badge{display:inline-flex;padding:2px 7px;border-radius:999px;font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em}.catalogue-source-badge.defined{background:#f3e8ff;color:#6b21a8}.catalogue-source-badge.catalogue{background:#e0f2fe;color:#075985}.catalogue-favourite{position:absolute;right:10px;top:8px;border:0!important;background:transparent!important;color:#9aa8b7!important;width:28px!important;min-width:28px!important;height:28px;padding:0!important;font-size:20px!important;box-shadow:none!important}.catalogue-favourite.active{color:#b7791f!important}.catalogue-result-actions{padding-right:30px}.competence-definition-card.is-archived{opacity:.7}
.competence-toolbar{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;gap:10px;align-items:center;margin-bottom:14px}.competence-definition-card p{margin:4px 0;color:#607087}.competence-editor-section{margin-top:18px;padding-top:15px;border-top:1px solid #e1e7ed}.competence-option-grid{display:grid;gap:8px}.competence-option{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:10px;align-items:center;margin:0!important;padding:10px 12px;border:1px solid #dfe6ed;border-radius:8px;background:#fff}.competence-option input{width:auto!important;min-height:auto!important;margin:0!important}.competence-option span{display:grid;gap:2px}.competence-option small{color:#607087}.competence-option select{width:auto;min-width:120px}.competence-option.selected{border-color:#8b5cf6;background:#faf5ff}
.accreditation-picker{margin:10px 0 16px;padding:13px;border:1px solid #dfe6ed;border-radius:10px;background:#f8fafc}.accreditation-picker-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.accreditation-picker-results,.competence-requirement-results{display:grid;gap:7px;margin-top:10px;max-height:330px;overflow:auto}.accreditation-picker-option,.competence-requirement-option{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center;width:100%;padding:10px 12px!important;text-align:left!important;border:1px solid #dfe6ed!important;border-radius:8px!important;background:#fff!important;color:#17233a!important;box-shadow:none!important}.accreditation-picker-option>span,.competence-requirement-option>span:first-child{display:grid;gap:3px}.accreditation-picker-option strong,.competence-requirement-option strong{font-size:.92rem}.accreditation-picker-option small,.competence-requirement-option small{color:#607087}.accreditation-picker-selected{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:10px;padding:12px;border:1px solid #8b5cf6;border-radius:9px;background:#faf5ff}.accreditation-picker-selected>span{display:grid;gap:3px}.accreditation-picker-selected small,.accreditation-picker-selected span span{color:#607087}.competence-selected-requirements{display:grid;gap:7px;margin-top:10px}.competence-selected-requirement{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;align-items:center;padding:9px 11px;border:1px solid #dfe6ed;border-radius:8px}.competence-selected-requirement>span{display:grid}.competence-selected-requirement small{color:#607087}.competence-selected-requirement select{width:auto;min-width:125px}
.installer-defined-accreditation-grid{margin-top:10px}.competence-assignment-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:14px 0}.installer-user-competence-summary{margin-top:14px;padding-top:13px;border-top:1px solid #e1e7ed}.company-competence-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.company-competence-head>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.readiness-pill{display:inline-flex;align-items:center;padding:3px 8px;border-radius:999px;font-size:.72rem;font-weight:850}.readiness-pill.ready{background:#dcfce7;color:#166534}.readiness-pill.attention{background:#fef3c7;color:#92400e}.readiness-pill.not-ready{background:#fee2e2;color:#991b1b}.competence-user-item{margin-top:7px;border:1px solid #e1e7ed;border-radius:8px;background:#fff}.competence-user-item summary{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:9px 10px;cursor:pointer}.competence-gap-list{display:grid;gap:5px;margin:0;padding:0 10px 10px;list-style:none}.competence-gap-list li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px solid #edf1f5;font-size:.82rem}.competence-state-expiring strong,.competence-state-attention strong,.competence-state-pending strong{color:#92400e}.competence-state-expired strong,.competence-state-missing strong,.competence-state-suspended strong,.competence-state-not_ready strong{color:#991b1b}
@media(max-width:900px){.catalogue-filter-grid{grid-template-columns:1fr 1fr}.competence-assignment-grid{grid-template-columns:1fr}.competence-toolbar{grid-template-columns:1fr}.catalogue-result-card,.competence-definition-card{grid-template-columns:1fr}.catalogue-result-actions{padding-right:0}.accreditation-picker-search{grid-template-columns:1fr}.competence-option{grid-template-columns:auto minmax(0,1fr)}.competence-option select{grid-column:2}.competence-selected-requirement{grid-template-columns:minmax(0,1fr) auto}.competence-selected-requirement select{grid-column:1}.competence-selected-requirement button{grid-column:2;grid-row:1/3}}
@media(max-width:620px){.catalogue-filter-grid{grid-template-columns:1fr}.company-competence-head{align-items:flex-start;flex-direction:column}}
.accreditation-picker-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:8px}.accreditation-picker-filters select{width:100%}.competence-selected-heading{margin:14px 0 6px;font-size:.9rem}.competence-selected-requirement .catalogue-source-badge{width:max-content;margin-bottom:3px}.competence-gap-list small{display:block;color:#607087;font-weight:500}
@media(max-width:700px){.accreditation-picker-filters{grid-template-columns:1fr}}

/* v1.2.1.29: optional grouping for the installer accreditation catalogue. */
#installer-app .catalogue-result-group{display:grid;gap:.65rem;margin:0 0 1rem;}
#installer-app .catalogue-result-group>h3{margin:.35rem 0 0;padding:.35rem .1rem;border-bottom:1px solid var(--border,#d8dde5);font-size:.92rem;}

/* v1.2.1.30: installer catalogue / competence UI aligned with the established Verify workspace. */
#installer-app .installer-catalogue-workspace,
#installer-app .installer-competence-workspace{grid-column:1 / -1!important;width:100%!important;min-width:0!important;}
#installer-app .installer-section-heading{padding-bottom:10px;border-bottom:1px solid var(--line,#d8dde5);}
#installer-app .installer-subtabs{display:flex;gap:6px;align-items:center;flex-wrap:wrap;margin:0 0 12px;padding:0;border-bottom:1px solid var(--line,#d8dde5);}
#installer-app .installer-subtab,
.workflow-modal .installer-subtab{width:auto!important;min-width:0!important;margin:0!important;padding:8px 12px!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:8px 8px 0 0!important;background:transparent!important;color:#51657a!important;box-shadow:none!important;font-weight:800!important;}
#installer-app .installer-subtab.active,
.workflow-modal .installer-subtab.active{border-bottom-color:#12385c!important;color:#12385c!important;background:#f3f7fa!important;}
#installer-app .installer-filter-row{display:grid;gap:8px;align-items:center;margin:0 0 10px;padding:10px;border:1px solid var(--line,#d8dde5);border-radius:12px;background:#f6f9fc;}
#installer-app .installer-filter-row input,
#installer-app .installer-filter-row select,
#installer-app .installer-filter-row button{width:100%!important;min-width:0!important;min-height:40px!important;margin:0!important;}
#installer-app .installer-catalogue-filter-row{grid-template-columns:minmax(260px,2fr) repeat(3,minmax(135px,1fr)) auto;}
#installer-app .installer-catalogue-filter-row #installer_catalogue_scope:not(.hidden){display:block!important;}
#installer-app .installer-catalogue-filter-row:has(#installer_catalogue_scope:not(.hidden)){grid-template-columns:minmax(240px,1.8fr) repeat(4,minmax(125px,1fr)) auto;}
#installer-app .installer-competence-filter-row{grid-template-columns:minmax(280px,1fr) auto auto;}
#installer-app .installer-list-options{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 12px;}
#installer-app .installer-list-options select{width:auto;min-width:170px;margin:0;}
#installer-app .installer-list-options .compact-check-filter{display:flex;align-items:center;gap:7px;margin:0;white-space:nowrap;font-weight:700;color:#12385c;}
#installer-app .installer-list-options .compact-check-filter input,
#installer-app .compact-check-filter input{width:18px!important;min-width:18px!important;height:18px!important;min-height:auto!important;margin:0!important;}
#installer-app .installer-list-options .catalogue-result-summary{margin-left:auto;}
#installer-app .installer-catalogue-results,
#installer-app .installer-competence-results{width:100%;min-width:0;}
#installer-app .installer-catalogue-results .admin-table-wrap,
#installer-app .installer-competence-results .admin-table-wrap{max-height:none!important;border:1px solid var(--line,#d8dde5);border-radius:12px;overflow:auto;background:#fff;}
#installer-app .installer-definition-table,
#installer-app .competence-definition-table,
#installer-app .catalogue-tree-table{width:100%;table-layout:fixed;}
#installer-app .installer-definition-table td:first-child,
#installer-app .competence-definition-table td:first-child{width:auto;}
#installer-app .installer-definition-table td:first-child small,
#installer-app .competence-definition-table td:first-child small,
#installer-app .catalogue-tree-name small{display:block;margin-top:3px;color:#6b7b8c;font-size:.78rem;font-weight:500;}
#installer-app .installer-definition-table th:nth-child(2){width:20%;}
#installer-app .installer-definition-table th:nth-child(3){width:14%;}
#installer-app .installer-definition-table th:nth-child(4){width:90px;}
#installer-app .installer-definition-table th:nth-child(5){width:90px;}
#installer-app .competence-definition-table th:nth-child(2){width:28%;}
#installer-app .competence-definition-table th:nth-child(3){width:90px;}
#installer-app .competence-definition-table th:nth-child(4){width:80px;}
#installer-app .competence-definition-table th:nth-child(5){width:100px;}
#installer-app .competence-definition-table th:nth-child(6){width:90px;}
#installer-app .competence-definition-table tr.is-archived{opacity:.68;}
#installer-app .table-action-cell{text-align:right;white-space:nowrap;}
#installer-app .table-action-cell .compact-action{min-width:70px!important;}
#installer-app .catalogue-tree{display:grid;gap:10px;}
#installer-app .catalogue-tree-body{border:1px solid var(--line,#d8dde5);border-radius:12px;background:#fff;overflow:hidden;}
#installer-app .catalogue-tree-body>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#eef3f7;color:#12385c;cursor:pointer;list-style-position:inside;font-weight:850;}
#installer-app .catalogue-tree-body>summary span{display:inline-flex;align-items:baseline;gap:8px;}
#installer-app .catalogue-tree-body>summary small{color:#66788a;font-size:.78rem;font-weight:650;}
#installer-app .catalogue-tree-body-content{display:grid;gap:0;padding:0 12px 12px;}
#installer-app .catalogue-tree-level{padding-top:10px;}
#installer-app .catalogue-tree-level-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:5px 3px 7px;color:#12385c;font-size:.86rem;}
#installer-app .catalogue-tree-level-heading span{display:inline-flex;min-width:24px;justify-content:center;padding:2px 7px;border-radius:999px;background:#eef3f7;color:#50657b;font-size:.72rem;}
#installer-app .catalogue-tree-level .admin-table-wrap{border-radius:9px;}
#installer-app .catalogue-tree-table th:nth-child(2){width:22%;}
#installer-app .catalogue-tree-table th:nth-child(3){width:90px;}
#installer-app .catalogue-tree-table th:nth-child(4){width:52px;}
#installer-app .catalogue-tree-favourite{text-align:center;}
#installer-app .catalogue-tree-favourite .catalogue-favourite{position:static!important;display:inline-flex!important;align-items:center;justify-content:center;width:30px!important;height:30px!important;min-width:30px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;color:#9aa8b7!important;font-size:19px!important;box-shadow:none!important;}
#installer-app .catalogue-tree-favourite .catalogue-favourite.active{color:#b7791f!important;}

/* Keep the company relationship useful without pushing the accreditation workspace down the page. */
#installer-app .compact-company-relationship{margin-top:12px;padding-top:11px;border-top:1px solid var(--line,#d8dde5);}
#installer-app .compact-company-relationship .selected-user-company-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px;}
#installer-app .compact-company-relationship .selected-user-company-heading h3{margin:0 0 2px;}
#installer-app .compact-company-relationship .selected-user-company-heading .form-help{margin:0;}
#installer-app .company-relationship-facts,
#installer-app .company-competence-facts{display:flex;align-items:center;gap:8px 22px;flex-wrap:wrap;}
#installer-app .company-relationship-facts span,
#installer-app .company-competence-facts span{display:flex;align-items:baseline;gap:6px;color:#334a61;font-size:.86rem;}
#installer-app .company-relationship-facts b,
#installer-app .company-competence-facts b{color:#12385c;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;}
#installer-app .installer-user-competence-summary{margin-top:9px!important;padding-top:9px!important;border-top:1px solid #edf1f5!important;}
#installer-app .company-competence-compact{display:grid;gap:7px;}
#installer-app .company-competence-head{margin:0!important;}
#installer-app .company-competence-head>div{gap:7px!important;}
#installer-app .company-competence-head .slim-button{min-height:34px!important;padding:6px 10px!important;font-size:.8rem!important;}
#installer-app .company-competence-details{margin-top:2px;}
#installer-app .company-competence-details>summary{width:max-content;color:#12385c;font-size:.8rem;font-weight:800;cursor:pointer;}
#installer-app .company-competence-detail-list{display:grid;gap:6px;margin-top:7px;}
#installer-app .company-competence-detail-list .competence-user-item{margin:0;}

/* Compact modal pattern for catalogue / role workflows. */
.workflow-modal{display:grid!important;grid-template-rows:auto minmax(0,1fr) auto;width:min(780px,calc(100vw - 32px))!important;max-height:min(760px,calc(100vh - 32px))!important;padding:0!important;overflow:hidden!important;}
.workflow-modal-head{margin:0!important;padding:18px 20px 12px;border-bottom:1px solid var(--line,#d8dde5);align-items:center!important;}
.workflow-modal-head .eyebrow{margin-bottom:3px!important;}
.workflow-modal-head h2{margin:0!important;}
.workflow-modal-head .icon-button{margin:0!important;}
.workflow-modal-body{min-height:0;overflow:auto;padding:14px 20px 16px;}
.workflow-modal-body>.form-help:first-child{margin-top:0;}
.workflow-modal-footer{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:62px;padding:10px 20px;border-top:1px solid var(--line,#d8dde5);background:#fff;}
.workflow-modal-footer>.result-area{flex:1;margin:0!important;}
.workflow-modal-footer .modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0!important;}
.workflow-modal-footer .modal-actions button{width:auto!important;min-width:120px!important;margin:0!important;}
.workflow-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 14px;align-items:start;}
.workflow-form-grid .form-field{min-width:0;}
.workflow-form-grid .form-field-wide{grid-column:1 / -1;}
.workflow-form-grid label{display:block!important;margin:0 0 5px!important;font-size:.82rem!important;}
.workflow-form-grid input,
.workflow-form-grid select,
.workflow-form-grid textarea{width:100%!important;margin:0!important;min-height:40px!important;padding:9px 11px!important;}
.workflow-form-grid textarea{min-height:68px!important;}
.workflow-form-grid .field-help{margin:4px 0 0;font-size:.74rem;}
.compact-checkbox-row{display:flex!important;align-items:center!important;gap:8px!important;margin:1px 0!important;font-size:.82rem!important;}
.compact-checkbox-row input{width:17px!important;min-width:17px!important;height:17px!important;min-height:auto!important;margin:0!important;}
.workflow-more-details,
.workflow-editor-section{margin-top:12px;border:1px solid var(--line,#d8dde5);border-radius:10px;background:#fbfcfd;overflow:hidden;}
.workflow-more-details>summary,
.workflow-editor-section>summary{padding:10px 12px;cursor:pointer;color:#12385c;font-weight:850;font-size:.86rem;}
.workflow-more-details-grid,
.workflow-editor-section>div:not(.compact-search-row):not(.compact-filter-grid){margin:0;}
.workflow-more-details-grid{padding:0 12px 12px;}
.workflow-inline-option{margin-top:12px;padding:10px 12px;border-radius:10px;background:#f4f8fb;border:1px solid var(--line,#d8dde5);}
.workflow-inline-option .field-help{margin:4px 0 0 25px;}
.summary-help{margin-left:6px;color:#718195;font-weight:500;font-size:.75rem;}
.compact-search-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin:8px 0;}
.compact-search-row input{width:100%!important;min-height:40px!important;margin:0!important;}
.compact-search-row button{width:auto!important;min-width:90px!important;min-height:40px!important;margin:0!important;}
.compact-filter-details{margin:3px 0 7px;}
.compact-filter-details>summary{width:max-content;cursor:pointer;color:#12385c;font-size:.78rem;font-weight:800;}
.compact-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:7px;}
.compact-filter-grid select{width:100%!important;min-height:38px!important;margin:0!important;padding:7px 9px!important;}
.compact-subtabs{margin:0 0 8px!important;}
.compact-picker{margin:0 0 12px;padding:11px;border:1px solid var(--line,#d8dde5);border-radius:11px;background:#f8fafc;}
.compact-picker-results{display:grid;gap:4px;max-height:190px;overflow:auto;margin-top:7px;padding-right:2px;}
.compact-picker-results-short{max-height:150px;}
.compact-picker-results .accreditation-picker-option,
.compact-picker-results .competence-requirement-option{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;width:100%!important;margin:0!important;padding:7px 9px!important;border:1px solid #dfe6ed!important;border-radius:7px!important;background:#fff!important;color:#17233a!important;text-align:left!important;box-shadow:none!important;}
.compact-picker-results .accreditation-picker-option span,
.compact-picker-results .competence-requirement-option span:first-child{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap;}
.compact-picker-results .accreditation-picker-option strong,
.compact-picker-results .competence-requirement-option strong{font-size:.84rem;}
.compact-picker-results .accreditation-picker-option small,
.compact-picker-results .competence-requirement-option small{flex-basis:100%;color:#68798b;font-size:.72rem;}
.compact-picker-results code{font-size:.7rem;}
.compact-picker-selected{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0;padding:9px 10px;border:1px solid #b9c9d8;border-radius:9px;background:#fff;}
.compact-picker-selected>span{display:grid;gap:2px;min-width:0;}
.compact-picker-selected small{color:#6c7d8e;font-size:.7rem;text-transform:uppercase;font-weight:800;letter-spacing:.03em;}
.compact-picker-selected strong{color:#12385c;}
.compact-picker-selected span span{color:#64778a;font-size:.76rem;}
.add-accreditation-modal:not(.has-accreditation-selection) #installer_add_accreditation{display:none!important;}
.accreditation-submission-grid.hidden{display:none!important;}
.workflow-modal .compact-option-list,
.workflow-modal .compact-selected-list{display:grid;gap:5px;margin:7px 0;max-height:180px;overflow:auto;}
.workflow-modal .competence-option{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;gap:8px;align-items:center;margin:0!important;padding:7px 9px!important;border:1px solid #dfe6ed;border-radius:7px;background:#fff;}
.workflow-modal .competence-option input{width:17px!important;min-width:17px!important;height:17px!important;min-height:auto!important;margin:0!important;}
.workflow-modal .competence-option strong{font-size:.84rem;}
.workflow-modal .competence-option small{font-size:.72rem;}
.workflow-modal .competence-option select{width:auto!important;min-width:110px!important;min-height:34px!important;margin:0!important;padding:6px 8px!important;}
.workflow-modal .competence-selected-requirement{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px;align-items:center;margin:0;padding:7px 9px;border:1px solid #dfe6ed;border-radius:7px;background:#fff;}
.workflow-modal .competence-selected-requirement strong{font-size:.84rem;}
.workflow-modal .competence-selected-requirement small{font-size:.72rem;}
.workflow-modal .competence-selected-requirement select{width:auto!important;min-width:105px!important;min-height:34px!important;margin:0!important;padding:6px 8px!important;}
.workflow-modal .competence-selected-requirement button{margin:0!important;}
.workflow-modal .competence-assignment-grid{gap:10px;margin:12px 0 0;}
.workflow-modal .assignment-panel{min-width:0;padding:10px;border:1px solid var(--line,#d8dde5);border-radius:10px;background:#fbfcfd;}
.workflow-modal .assignment-panel h3{margin:0 0 6px;color:#12385c;font-size:.92rem;}

@media(max-width:900px){
  #installer-app .installer-catalogue-filter-row,
  #installer-app .installer-catalogue-filter-row:has(#installer_catalogue_scope:not(.hidden)){grid-template-columns:1fr 1fr;}
  #installer-app .installer-competence-filter-row{grid-template-columns:1fr auto;}
  #installer-app .installer-competence-filter-row button{grid-column:1 / -1;}
  #installer-app .installer-definition-table,
  #installer-app .competence-definition-table,
  #installer-app .catalogue-tree-table{min-width:720px;}
}
@media(max-width:650px){
  #installer-app .installer-catalogue-filter-row,
  #installer-app .installer-catalogue-filter-row:has(#installer_catalogue_scope:not(.hidden)),
  #installer-app .installer-competence-filter-row{grid-template-columns:1fr;}
  #installer-app .installer-competence-filter-row button{grid-column:auto;}
  #installer-app .installer-list-options{align-items:stretch;}
  #installer-app .installer-list-options select{width:100%;}
  #installer-app .installer-list-options .catalogue-result-summary{margin-left:0;}
  #installer-app .compact-company-relationship .selected-user-company-heading{align-items:flex-start;flex-direction:column;}
  #installer-app .compact-company-relationship .selected-user-company-edit{width:100%!important;}
  .workflow-modal{width:calc(100vw - 16px)!important;max-height:calc(100vh - 16px)!important;}
  .workflow-modal-head,.workflow-modal-body,.workflow-modal-footer{padding-left:14px;padding-right:14px;}
  .workflow-form-grid,.compact-filter-grid,.workflow-modal .competence-assignment-grid{grid-template-columns:1fr;}
  .workflow-form-grid .form-field-wide{grid-column:auto;}
  .compact-search-row{grid-template-columns:1fr;}
  .workflow-modal-footer{align-items:stretch;flex-direction:column;}
  .workflow-modal-footer .modal-actions{width:100%;}
  .workflow-modal-footer .modal-actions button{flex:1;}
}
#installer-app .catalogue-tree-level>summary{cursor:pointer;list-style-position:inside;}

/* v1.2.1.32: simplify installer Defined accreditation editor. */
.defined-accreditation-modal{width:min(620px,calc(100vw - 32px))!important;}
.defined-accreditation-modal .workflow-inline-option{margin-top:12px;padding:0;border:0;border-radius:0;background:transparent;}

/* v1.2.2.1 competency workspace and company relationship polish. */
#installer-app .installer-competence-filter-row{grid-template-columns:minmax(260px,1fr) minmax(125px,170px) auto auto;}
#installer-app .compact-filter-control{display:flex;align-items:center;gap:7px;min-width:0;font-size:.76rem;font-weight:750;color:#536b82}
#installer-app .compact-filter-control select{min-height:40px!important}
#installer-app .competence-editor-page{width:100%;min-width:0}
#installer-app .competence-editor-breadcrumb{display:flex;align-items:center;gap:8px;margin:0 0 10px;color:#607087;font-size:.82rem}
#installer-app .competence-page-heading{margin-bottom:14px}
#installer-app .competence-page-heading .eyebrow{margin:0 0 3px;text-transform:uppercase;letter-spacing:.055em;font-size:.69rem;font-weight:850;color:#607087}
#installer-app .competence-editor-layout{display:grid;grid-template-columns:minmax(260px,.72fr) minmax(420px,1.28fr);gap:18px;align-items:start}
#installer-app .competence-editor-details,#installer-app .editor-requirement-card{border:1px solid var(--line,#d8dde5);border-radius:12px;background:#fff;padding:16px}
#installer-app .competence-editor-details{display:grid;gap:13px;position:sticky;top:12px}
#installer-app .competence-editor-requirements{display:grid;gap:14px;min-width:0}
#installer-app .editor-requirement-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px}
#installer-app .editor-requirement-heading h3{margin:0 0 3px;font-size:1rem;color:#12385c}
#installer-app .editor-search-toolbar{display:grid;grid-template-columns:minmax(130px,180px) minmax(220px,1fr) auto;gap:8px;margin:10px 0}
#installer-app .editor-search-toolbar>input,#installer-app .editor-search-toolbar>select,#installer-app .editor-search-toolbar>button{width:100%!important;min-width:0!important;margin:0!important}
#installer-app .editor-option-list,#installer-app .compact-picker-results{max-height:430px;overflow:auto}
#installer-app .competence-editor-footer{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line,#d8dde5)}
#installer-app .competence-editor-footer .result-area{flex:1}
#installer-app .competence-editor-footer .modal-actions{margin:0;flex:0 0 auto}
#installer-app .company-relationship-facts{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
#installer-app .relationship-fact{display:inline-flex;align-items:center;gap:6px;padding:5px 8px;border:1px solid var(--line,#d8dde5);border-radius:999px;background:#f7fafc;font-size:.78rem;color:#3d556d}
#installer-app .relationship-fact b{font-size:.7rem;text-transform:uppercase;letter-spacing:.025em;color:#607087}
#installer-app .job-role-chip-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
#installer-app .job-role-chip{display:inline-flex;align-items:center;padding:4px 8px;border-radius:999px;background:#eef4f8;color:#12385c;font-size:.78rem;font-weight:700}
@media(max-width:900px){#installer-app .competence-editor-layout{grid-template-columns:1fr}#installer-app .competence-editor-details{position:static}#installer-app .editor-search-toolbar{grid-template-columns:1fr 1fr}#installer-app .editor-search-toolbar button{grid-column:1 / -1}}
@media(max-width:620px){#installer-app .installer-competence-filter-row,#installer-app .editor-search-toolbar{grid-template-columns:1fr}#installer-app .competence-editor-footer{align-items:stretch;flex-direction:column}#installer-app .competence-editor-footer .modal-actions{width:100%;display:flex;justify-content:flex-end}}

/* v1.2.2.1 Job Role assignment modal. */
.workflow-modal .assignment-panel-primary{margin:12px 0 10px}
.workflow-modal .assignment-panel-primary .section-title-row{margin-bottom:5px}
.workflow-modal .assignment-advanced{margin:0;border-top:1px solid var(--line,#d8dde5);padding-top:10px}
.workflow-modal .assignment-advanced>summary{cursor:pointer;color:#12385c;font-size:.82rem;font-weight:800;width:max-content}
.workflow-modal .assignment-advanced>.form-help{margin:6px 0 8px}

/* v1.2.2.2 design consistency: use the established list/search and editor patterns. */
body.admin-page #admin-app .competency-search-row{
  grid-template-columns:minmax(320px,1fr) minmax(160px,220px) auto!important;
  align-items:center;
}
body.admin-page #admin-app .competency-search-row>*,
body.admin-page #admin-app .admin-accreditation-filter-row>*{min-width:0;}
body.admin-page #admin-app .competency-search-row button,
body.admin-page #admin-app .admin-accreditation-filter-row button{width:100%!important;}
body.admin-page #admin-app .admin-accreditation-filter-row{
  grid-template-columns:minmax(300px,2.1fr) minmax(135px,.85fr) minmax(145px,.9fr) minmax(130px,.8fr) minmax(150px,.9fr) minmax(135px,.8fr) auto!important;
  align-items:center;
}
body.admin-page #admin-app .catalogue-view-bar{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin:10px 0 8px;
}
body.admin-page #admin-app .catalogue-view-bar .accreditation-view-toggle{margin-left:auto;}
body.admin-page #admin-app .requirement-count-text{font-weight:750;white-space:nowrap;}
body.admin-page #admin-app .derived-skill-table td{vertical-align:middle;}
body.admin-page #admin-app .derived-skill-table td:nth-child(3){min-width:120px;}

/* Definition editors are normal Verify page sections, not oversized modal-style cards. */
#installer-app .competence-editor-page{max-width:1180px;margin:0 auto;}
#installer-app .competence-editor-breadcrumb{display:flex;align-items:center;gap:7px;margin:0 0 12px;color:var(--muted,#5f7187);font-size:.82rem;}
#installer-app .competence-editor-breadcrumb .text-action{padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;color:var(--iaa-blue,#0b4a7d)!important;font-weight:700!important;}
#installer-app .competence-page-heading{margin-bottom:12px;}
#installer-app .definition-editor-stack{display:grid;gap:14px;}
#installer-app .definition-editor-panel{border:1px solid var(--line,#d8e1e9);border-radius:8px;background:#fff;padding:16px 18px;box-shadow:none;}
#installer-app .definition-editor-panel .section-title-row{margin-bottom:12px;}
#installer-app .definition-editor-panel h3{margin:0;}
#installer-app .definition-details-grid{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr);gap:14px 18px;align-items:start;}
#installer-app .definition-details-grid .definition-description-field{grid-column:auto;}
#installer-app .definition-details-grid textarea{min-height:92px;}
#installer-app .definition-picker-filter{display:grid;grid-template-columns:minmax(260px,1fr) minmax(160px,220px) auto;gap:10px;align-items:center;margin:10px 0!important;padding:10px!important;border:1px solid var(--line,#d8e1e9);border-radius:8px;background:#f7f9fb;}
#installer-app .definition-picker-filter>*{min-width:0;margin:0!important;}
#installer-app .definition-picker-filter button{width:100%!important;}
#installer-app .standard-picker-search{margin:0 0 10px;}
#installer-app .standard-picker-search input{width:100%;}
#installer-app .selected-requirements-table{margin-bottom:8px;}
#installer-app .competence-editor-footer{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-top:14px;padding:14px 0 0;border-top:1px solid var(--line,#d8e1e9);}
#installer-app .competence-editor-footer .result-area{flex:1;}
#installer-app .competence-editor-footer .modal-actions{margin:0;white-space:nowrap;}

/* User Job Roles are a simple navigable list; detailed status has its own workspace. */
#installer-app .installer-user-competence-summary{margin-top:14px!important;padding-top:12px!important;border-top:1px solid var(--line,#d8e1e9)!important;}
#installer-app .user-job-role-summary{display:grid;gap:7px;}
#installer-app .user-job-role-heading{display:flex;align-items:center;justify-content:space-between;min-height:30px;}
#installer-app .user-job-role-heading strong{font-size:.92rem;}
#installer-app .user-job-role-list{display:block;border-top:1px solid #e6ebf0;}
#installer-app button.user-job-role-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;min-height:42px!important;margin:0!important;padding:8px 2px!important;border:0!important;border-bottom:1px solid #e6ebf0!important;border-radius:0!important;background:transparent!important;color:var(--text,#071b38)!important;box-shadow:none!important;text-align:left!important;}
#installer-app button.user-job-role-row:hover{background:#f7f9fb!important;}
#installer-app button.user-job-role-row strong{font-weight:700;}
#installer-app button.user-job-role-row small{font-size:.68rem;color:var(--muted,#65778a);font-weight:700;margin-left:5px;}
#installer-app .user-job-role-empty{margin:2px 0 0;}
#installer-app .user-role-status-summary{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 12px;padding:0 0 10px;border-bottom:1px solid var(--line,#d8e1e9);}
#installer-app .user-role-status-summary>div{display:grid;gap:2px;}
#installer-app .user-role-status-summary small{color:var(--muted,#65778a);}
#installer-app .user-role-direct-requirements{margin-top:16px;}
#installer-app .user-role-direct-requirements h3{margin:0 0 8px;}

/* Edit-user modal: relationship details are edited with the user, not in a separate nested workspace. */
#installer-app #installer_edit_user_modal .modal-card{max-width:820px;}
#installer-app .edit-user-relationship-grid{display:grid;grid-template-columns:minmax(180px,.45fr) minmax(300px,1fr);gap:14px 18px;align-items:start;}
#installer-app .edit-user-assignment-panel{border-top:1px solid var(--line,#d8e1e9);padding-top:13px;margin-top:13px;}
#installer-app .edit-user-assignment-panel h3{margin:0 0 8px;}

@media(max-width:1000px){
 body.admin-page #admin-app .admin-accreditation-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
 body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_q{grid-column:span 2;}
 body.admin-page #admin-app .competency-search-row{grid-template-columns:1fr minmax(150px,220px) auto!important;}
}
@media(max-width:720px){
 body.admin-page #admin-app .admin-accreditation-filter-row,
 body.admin-page #admin-app .competency-search-row{grid-template-columns:1fr!important;}
 body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_q{grid-column:auto;}
 #installer-app .definition-details-grid,
 #installer-app .definition-picker-filter,
 #installer-app .edit-user-relationship-grid{grid-template-columns:1fr;}
 #installer-app .competence-editor-footer{display:grid;}
 #installer-app .competence-editor-footer .modal-actions{justify-content:flex-start;white-space:normal;}
}

/* v1.2.2.3: restore established Verify list/editor presentation. */
#admin-app .admin-table .table-sort-button,
#installer-app .admin-table .table-sort-button{
  appearance:none!important;
  display:inline-flex!important;
  align-items:center!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:800!important;
  line-height:1.2!important;
  text-align:left!important;
}
#admin-app .admin-table .table-sort-button:hover,
#admin-app .admin-table .table-sort-button:focus-visible,
#installer-app .admin-table .table-sort-button:hover,
#installer-app .admin-table .table-sort-button:focus-visible{
  color:#0c4f82!important;
  text-decoration:underline!important;
  text-underline-offset:3px;
}
#admin-app .admin-table thead th,
#installer-app .admin-table thead th{
  height:42px;
  min-height:42px;
  padding-top:9px!important;
  padding-bottom:9px!important;
  background:#eef3f7;
  vertical-align:middle;
}

body.admin-page #admin-app .competency-search-row{
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
}
body.admin-page #admin-app .competency-search-row #card_skill_search{grid-column:span 8;}
body.admin-page #admin-app .competency-search-row #card_skill_scope{grid-column:span 3;}
body.admin-page #admin-app .competency-search-row #card_skill_search_button{grid-column:span 1;}

/* Definition pages keep the normal page heading, then use the available width sensibly. */
#installer-app .competence-editor-page{max-width:none!important;margin:0!important;width:100%!important;}
#installer-app .competence-editor-back{
  display:inline-flex!important;
  width:auto!important;
  min-width:0!important;
  min-height:0!important;
  margin:0 0 8px!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  color:#0b4a7d!important;
  box-shadow:none!important;
  font-size:.82rem!important;
  font-weight:750!important;
  text-decoration:none!important;
}
#installer-app .competence-editor-back:hover,
#installer-app .competence-editor-back:focus-visible{text-decoration:underline!important;text-underline-offset:3px;}
#installer-app .competence-page-heading{margin:0 0 14px!important;padding:0 0 10px!important;border-bottom:1px solid var(--line,#d8e1e9);}
#installer-app .definition-editor-layout{
  display:grid!important;
  grid-template-columns:minmax(250px,1fr) minmax(0,2fr)!important;
  gap:16px!important;
  align-items:start!important;
}
#installer-app .definition-editor-main{display:grid;gap:14px;min-width:0;}
#installer-app .definition-editor-panel{
  min-width:0;
  padding:15px 16px!important;
  border:1px solid var(--line,#d8e1e9)!important;
  border-radius:8px!important;
  background:#fff!important;
  box-shadow:none!important;
}
#installer-app .definition-editor-details{position:static!important;display:block!important;}
#installer-app .definition-details-grid{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
#installer-app .definition-details-grid .form-field,
#installer-app .definition-details-grid .definition-description-field{grid-column:auto!important;min-width:0!important;}
#installer-app .definition-details-grid input,
#installer-app .definition-details-grid select,
#installer-app .definition-details-grid textarea{width:100%!important;min-width:0!important;}
#installer-app .definition-details-grid textarea{min-height:112px!important;}
#installer-app .definition-picker-filter{
  grid-template-columns:minmax(0,1fr) minmax(150px,190px) auto!important;
  padding:9px!important;
  border-radius:8px!important;
}
#installer-app #installer_private_skill_editor .definition-picker-filter{grid-template-columns:minmax(0,1fr) auto!important;}
#installer-app .compact-picker-results,
#installer-app .editor-option-list{max-height:380px!important;overflow:auto!important;}
#installer-app .competence-editor-footer{margin-top:14px!important;padding-top:12px!important;}

/* Catalogue list options are secondary information, not another sort form. */
#installer-app .installer-list-options{min-height:28px;margin:0 0 10px!important;}
#installer-app .installer-list-options .catalogue-result-summary{margin-left:auto!important;}

@media(max-width:900px){
  body.admin-page #admin-app .competency-search-row{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
  body.admin-page #admin-app .competency-search-row #card_skill_search{grid-column:span 2;}
  body.admin-page #admin-app .competency-search-row #card_skill_scope{grid-column:span 1;}
  body.admin-page #admin-app .competency-search-row #card_skill_search_button{grid-column:span 1;}
  #installer-app .definition-editor-layout{grid-template-columns:1fr!important;}
}
@media(max-width:620px){
  body.admin-page #admin-app .competency-search-row{grid-template-columns:1fr!important;}
  body.admin-page #admin-app .competency-search-row>*{grid-column:auto!important;}
  #installer-app .definition-picker-filter,
  #installer-app #installer_private_skill_editor .definition-picker-filter{grid-template-columns:1fr!important;}
}

/* v1.2.2.4: editor visibility and user Job Role status layout corrections. */
#installer-app .definition-editor-layout.hidden{display:none!important;}
#installer-app .user-role-status-panel{grid-column:1 / -1!important;width:100%!important;min-width:0!important;}
#installer-app .user-role-status-panel .admin-table-wrap{width:100%!important;max-height:none!important;overflow-x:auto!important;}
#installer-app .user-role-status-panel .admin-table{width:100%!important;min-width:0!important;table-layout:fixed!important;}
#installer-app .user-role-status-panel .user-role-status-table th:nth-child(1),
#installer-app .user-role-status-panel .user-role-status-table td:nth-child(1){width:34%!important;}
#installer-app .user-role-status-panel .user-role-status-table th:nth-child(2),
#installer-app .user-role-status-panel .user-role-status-table td:nth-child(2){width:18%!important;}
#installer-app .user-role-status-panel .user-role-status-table th:nth-child(3),
#installer-app .user-role-status-panel .user-role-status-table td:nth-child(3){width:48%!important;}
#installer-app .user-role-status-panel .admin-table th,
#installer-app .user-role-status-panel .admin-table td{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;}
#installer-app .user-role-status-panel .competence-gap-list{margin:7px 0 0!important;padding:0!important;gap:3px!important;}
#installer-app .user-role-status-panel .competence-gap-list li{padding:4px 0!important;}
#installer-app .user-role-status-panel .user-role-direct-requirements .admin-table{min-width:0!important;}
#installer-app .user-role-status-actions{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
#installer-app .user-role-status-panel .user-role-direct-table th:nth-child(1),
#installer-app .user-role-status-panel .user-role-direct-table td:nth-child(1){width:48%!important;}
#installer-app .user-role-status-panel .user-role-direct-table th:nth-child(2),
#installer-app .user-role-status-panel .user-role-direct-table td:nth-child(2){width:20%!important;}
#installer-app .user-role-status-panel .user-role-direct-table th:nth-child(3),
#installer-app .user-role-status-panel .user-role-direct-table td:nth-child(3){width:32%!important;}
@media(max-width:720px){#installer-app .user-role-status-actions{width:100%;justify-content:space-between;}}


/* v1.2.2.5: final Roles/Functions visual consistency and Job Role status table. */
#installer-app .installer-competence-filter-row .compact-filter-control,
#installer-app .installer-competence-filter-row .compact-check-filter{margin:0!important;}
#installer-app .installer-competence-filter-row .compact-filter-control{align-self:center!important;}
#installer-app .competence-editor-breadcrumb{margin:12px 0 18px!important;}
#installer-app .competence-editor-breadcrumb .competence-editor-back{
  display:inline-flex!important;align-items:center!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;box-shadow:none!important;
  color:#12385c!important;font:inherit!important;font-weight:800!important;text-decoration:none!important;
}
#installer-app .competence-editor-breadcrumb .competence-editor-back:hover,
#installer-app .competence-editor-breadcrumb .competence-editor-back:focus-visible{color:#0b2c4c!important;text-decoration:underline!important;text-underline-offset:3px;}
#installer-app .competence-editor-footer{width:100%!important;max-width:100%!important;box-sizing:border-box!important;}
#installer-app .competence-editor-footer .modal-actions{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;flex-wrap:wrap!important;margin:0!important;max-width:100%!important;}
#installer-app .competence-editor-footer .modal-actions button{width:auto!important;min-width:128px!important;margin:0!important;}
#installer-app .user-role-status-panel .user-role-status-table{table-layout:fixed!important;}
#installer-app .user-role-status-panel .user-role-status-table th:nth-child(1),
#installer-app .user-role-status-panel .user-role-status-table td:nth-child(1){width:27%!important;}
#installer-app .user-role-status-panel .user-role-status-table th:nth-child(2),
#installer-app .user-role-status-panel .user-role-status-table td:nth-child(2){width:38%!important;}
#installer-app .user-role-status-panel .user-role-status-table th:nth-child(3),
#installer-app .user-role-status-panel .user-role-status-table td:nth-child(3){width:18%!important;}
#installer-app .user-role-status-panel .user-role-status-table th:nth-child(4),
#installer-app .user-role-status-panel .user-role-status-table td:nth-child(4){width:17%!important;}
#installer-app .user-role-status-panel .user-role-status-table td{height:46px!important;padding-top:9px!important;padding-bottom:9px!important;vertical-align:middle!important;}
#installer-app .user-role-status-panel .user-role-function-state{display:block!important;margin-top:3px!important;color:var(--muted,#65778a)!important;font-weight:600!important;}
#installer-app .user-role-status-panel .competence-status-text{font-weight:800!important;text-transform:none!important;}
#installer-app .user-role-status-panel .competence-status-text.competence-state-current,
#installer-app .user-role-status-panel .competence-status-text.competence-state-ready{color:#17643a!important;}
#installer-app .user-role-status-panel .competence-status-text.competence-state-expiring,
#installer-app .user-role-status-panel .competence-status-text.competence-state-attention,
#installer-app .user-role-status-panel .competence-status-text.competence-state-pending{color:#92400e!important;}
#installer-app .user-role-status-panel .competence-status-text.competence-state-expired,
#installer-app .user-role-status-panel .competence-status-text.competence-state-missing,
#installer-app .user-role-status-panel .competence-status-text.competence-state-suspended,
#installer-app .user-role-status-panel .competence-status-text.competence-state-not_ready{color:#991b1b!important;}
@media(max-width:720px){
  #installer-app .competence-editor-footer .modal-actions{width:100%!important;justify-content:flex-start!important;}
  #installer-app .competence-editor-footer .modal-actions button{flex:1 1 140px!important;}
  #installer-app .user-role-status-panel .user-role-status-table{min-width:680px!important;}
}

/* v1.2.2.8 homeowner communication actions */
.job-row-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}.job-row-actions .slim-button{white-space:nowrap}
@media(max-width:700px){.job-row-actions{width:100%;justify-content:flex-start;margin-top:8px}}

/* v1.2.2.9 installer user eligibility */
.idv-required-lozenge{vertical-align:middle;margin-left:.45rem;font-size:.7rem;padding:.2rem .5rem}
.user-action-button:disabled{opacity:.48;cursor:not-allowed;filter:grayscale(.15)}
.installer-simulation-banner{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:10px 14px;border:1px solid #f0b44d;border-radius:12px;background:#fff7df;color:#67410a}.installer-simulation-banner>div{display:flex;align-items:center;gap:10px;min-width:0}.installer-simulation-banner strong{white-space:nowrap}.installer-simulation-banner span{font-size:.88rem;line-height:1.35}.installer-simulation-banner .secondary-button{margin:0!important;width:auto!important;min-width:128px!important;white-space:nowrap;background:#fff!important;border:1px solid #d9a33f!important;color:#67410a!important;box-shadow:none!important}.simulation-confirm-form .simulation-confirm-target{margin:0 0 8px!important;font-size:1rem;font-weight:800;color:#12385c}.simulation-confirm-form .form-help{margin-bottom:8px!important}.simulation-confirm-form .modal-form-actions{margin-top:16px!important}@media(max-width:700px){.installer-simulation-banner{align-items:stretch;flex-direction:column}.installer-simulation-banner>div{align-items:flex-start;flex-direction:column;gap:3px}.installer-simulation-banner .secondary-button{width:100%!important}}

/* v1.2.2.12 multi-file accreditation evidence */
.pending-evidence-list{display:grid;gap:.35rem;margin-top:.45rem}
.pending-evidence-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.45rem .6rem;border:1px solid #d7e1e9;border-radius:.5rem;background:#f8fbfd}
.pending-evidence-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pending-evidence-item .danger-text{flex:0 0 auto;color:#a51f25}

/* v1.2.2.13: multi-file accreditation AI analysis */
.accreditation-analysis-file-summary{display:grid;gap:4px;margin:0 0 10px;padding:10px 12px;border:1px solid var(--border,#d8dee8);border-radius:10px;background:var(--surface-soft,#f7f9fc)}
.accreditation-analysis-file-summary span,.accreditation-analysis-file-summary small{color:var(--muted,#667085)}
.accreditation-analysis-file-tabs{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 12px}
.accreditation-analysis-file-tab{display:grid;gap:2px;min-width:150px;max-width:260px;padding:8px 10px;border:1px solid var(--border,#d8dee8);border-radius:9px;background:var(--surface,#fff);color:inherit;text-align:left;cursor:pointer}
.accreditation-analysis-file-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:700}
.accreditation-analysis-file-tab small{color:var(--muted,#667085);text-transform:capitalize}
.accreditation-analysis-file-tab.active{border-color:var(--accent,#164e87);box-shadow:0 0 0 1px var(--accent,#164e87) inset}

/* v1.2.2.14 designer/user and job refinements */
#installer-app .compact-form .form-grid-pair{display:contents}
#installer-app .compact-form .form-grid-pair.hidden{display:none!important}
.job-title-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.job-title-indicators{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.job-checkin-indicator,.job-review-indicator{display:inline-flex;align-items:center;border:1px solid rgba(15,118,110,.22);border-radius:999px;padding:2px 7px;background:rgba(15,118,110,.08);color:#0f766e;font-size:.72rem;font-weight:750}
.job-review-indicator{border-color:rgba(37,99,235,.22);background:rgba(37,99,235,.08);color:#1d4ed8}
#designer_companies_view .admin-table td>span{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}
@media(max-width:760px){#installer-app .compact-form .form-grid-pair{display:grid;grid-template-columns:1fr;grid-column:1/-1;gap:6px}}

/* v1.2.2.15: designer company drill-down and installer job address lookup */
#installer_create_user_modal .add-field-user-form > label.designer-accreditation-field,
#installer_link_user_modal .compact-form > label.designer-accreditation-field{
  grid-column:1!important;
  margin:0!important;
  align-self:center!important;
}
#installer_create_user_modal .add-field-user-form > select.designer-accreditation-field,
#installer_link_user_modal .compact-form > select.designer-accreditation-field{
  grid-column:2!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
  justify-self:stretch!important;
  align-self:stretch!important;
}
.job-address-search-wrap{position:relative}
.modal-card .clean-job-form #job_address_search{min-width:0}
.job-address-search-results{
  position:absolute;
  z-index:40;
  left:0;
  right:0;
  top:calc(100% + 4px);
  max-height:280px;
  overflow:auto;
  background:#fff;
  border:1px solid rgba(18,56,92,.2);
  border-radius:10px;
  box-shadow:0 10px 24px rgba(10,32,55,.16);
}
.modal-card .clean-job-form .job-address-search-results .job-address-suggestion{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:10px 12px!important;
  border:0!important;
  border-bottom:1px solid rgba(18,56,92,.1)!important;
  border-radius:0!important;
  background:#fff!important;
  color:#102c49!important;
  font:inherit!important;
  text-align:left!important;
  line-height:1.35!important;
  box-shadow:none!important;
}
.modal-card .clean-job-form .job-address-search-results .job-address-suggestion:last-child{border-bottom:0!important}
.modal-card .clean-job-form .job-address-search-results .job-address-suggestion:hover,
.modal-card .clean-job-form .job-address-search-results .job-address-suggestion:focus,
.modal-card .clean-job-form .job-address-search-results .job-address-suggestion.active{background:#edf6ff!important;outline:none!important}
#job_location_status{margin:6px 0 0!important}
.designer-company-row{cursor:pointer}
.designer-company-row:hover td{background:#f7fbff}
.designer-company-row.active td{background:#eaf5ff}
.designer-company-detail{margin-top:18px;padding-top:18px;border-top:1px solid rgba(18,56,92,.12)}
.designer-company-detail-heading{margin-bottom:10px}
.designer-company-detail-heading h3{margin:2px 0 4px;color:#12385c}
.designer-company-detail-heading .danger-button,
.designer-company-detail-heading .secondary-button{width:auto!important;margin:0!important;white-space:nowrap}
.designer-company-users-table td>span{display:block;margin-top:3px;color:var(--muted);font-size:.78rem}
#designer_company_detail_notice:empty{display:none}
@media(max-width:760px){
  #installer_create_user_modal .add-field-user-form > label.designer-accreditation-field,
  #installer_create_user_modal .add-field-user-form > select.designer-accreditation-field,
  #installer_link_user_modal .compact-form > label.designer-accreditation-field,
  #installer_link_user_modal .compact-form > select.designer-accreditation-field{grid-column:1!important}
}

/* v1.2.2.16: designer company list/detail and associated company views */
#designer_companies_view .designer-company-search-row{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(150px,220px) auto;
  gap:10px;
  align-items:end;
}
#designer_companies_view .designer-company-search-row input,
#designer_companies_view .designer-company-search-row select{
  min-width:0;
  margin-top:0;
}
#designer_companies_view .designer-company-search-row button{
  width:auto!important;
  min-width:96px;
  min-height:44px;
  margin:0!important;
}
#designer_companies_view .designer-company-detail{
  margin-top:0;
  padding-top:0;
  border-top:0;
}
#designer_companies_view .designer-company-breadcrumb{margin:0 0 16px;}
#designer_companies_view .designer-company-detail-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:flex-end;
}
#designer_companies_view .designer-company-detail-actions button{
  width:auto!important;
  min-width:120px;
  margin:0!important;
}
#designer_companies_view .designer-company-users-table{margin-top:4px;}
#installer_companies_panel .admin-table td>span{display:block;margin-top:3px;color:var(--muted);font-size:.78rem;}
@media(max-width:760px){
  #designer_companies_view .designer-company-search-row{grid-template-columns:1fr;}
  #designer_companies_view .designer-company-search-row button{width:100%!important;}
  #designer_companies_view .designer-company-detail-actions{width:100%;justify-content:stretch;}
  #designer_companies_view .designer-company-detail-actions button{flex:1 1 160px;}
}

/* v1.2.2.17: designer company/user navigation polish */
#designer_companies_view .designer-company-user-row{cursor:pointer;}
#designer_companies_view .designer-company-user-row:hover td{background:#f7fbff;}
#installer_companies_panel{grid-column:1/-1!important;width:100%!important;min-width:0;}
#installer_companies_panel .admin-table-wrap{width:100%!important;max-width:none!important;}
#installer_companies_panel .admin-table{width:100%!important;}
body.admin-page #admin-app .associated-companies-table{width:100%!important;}


/* v1.2.2.18: linked company navigation and breadcrumb polish */
.company-table-link{
  appearance:none;
  border:0;
  background:transparent;
  padding:0;
  margin:0;
  color:var(--iaa-blue,#12385c);
  font:inherit;
  font-weight:700;
  text-align:left;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.company-table-link:hover,.company-table-link:focus-visible{text-decoration-thickness:2px;}

/* v1.2.2.19: designer breadcrumb and associated-company link alignment */
#installer-app .installer-user-breadcrumb .text-action{
  appearance:none;
  display:inline-flex!important;
  align-items:center;
  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;
  box-shadow:none!important;
  color:#12385c!important;
  font:inherit;
  font-weight:800!important;
  line-height:1.35!important;
  text-align:left!important;
  text-decoration:none;
  white-space:nowrap;
}
#installer-app .installer-user-breadcrumb .text-action:hover,
#installer-app .installer-user-breadcrumb .text-action:focus-visible{
  color:#0b2c4c!important;
  text-decoration:underline;
  text-underline-offset:2px;
}
#installer-app .admin-table .company-table-link{
  display:inline-flex!important;
  align-items:center;
  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;
  box-shadow:none!important;
  color:var(--iaa-blue,#12385c)!important;
  text-align:left!important;
}

/* v1.3.0.3: compact selected address with manual-entry fallback */
.job-address-search-help,
.job-address-manual-head,
.job-address-selected-card{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
}
.job-address-search-help .form-help,
.job-address-manual-head .form-help,
.job-address-selected-card .form-help{margin:6px 0 0!important}
.job-address-search-help .text-action,
.job-address-manual-head .text-action,
.job-address-selected-actions .text-action{white-space:nowrap;margin-top:4px}
.job-address-selected-card{
  padding:14px 16px;
  border:1px solid rgba(18,56,92,.16);
  border-radius:12px;
  background:#f8fbfe;
}
.job-address-selected-card>div:first-child{min-width:0;flex:1}
.job-address-selected-card .field-label,
.job-address-manual-head .field-label{display:block;font-weight:700;color:#12385c;margin-bottom:5px}
.job-address-selected-text{color:#102c49;line-height:1.45;font-weight:600}
.job-address-selected-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.job-address-selected-actions .secondary-button{width:auto!important;margin:0!important}
.job-address-manual-fields{padding:0!important}
.job-address-manual-head{margin-bottom:10px}
.job-address-manual-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:12px 14px;
}
.job-address-manual-grid>.form-field{margin:0!important;min-width:0}
.job-address-manual-grid>.form-field-wide{grid-column:1 / -1}
@media(max-width:760px){
  .job-address-search-help,
  .job-address-manual-head,
  .job-address-selected-card{flex-direction:column;align-items:stretch}
  .job-address-selected-actions{justify-content:flex-start}
  .job-address-manual-grid{grid-template-columns:1fr}
  .job-address-manual-grid>.form-field-wide{grid-column:auto}
}


/* v1.3.0.5: job address action consistency and external workflow assignee controls */
#installer-app .job-address-search-help .secondary-button,
#installer-app .job-address-manual-head .secondary-button,
#installer-app .job-address-selected-actions .secondary-button{width:auto!important;min-width:0!important;margin:0!important;padding:9px 14px!important;border-radius:999px!important;box-shadow:none!important;white-space:nowrap}
.job-workflow-assignments{display:grid;gap:10px;margin-top:8px}
.job-workflow-assignment-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.8fr);gap:14px;align-items:end;padding:12px;border:1px solid rgba(18,56,92,.12);border-radius:12px;background:#f8fbfd}
.job-workflow-assignment-row strong,.job-workflow-assignment-row small{display:block}.job-workflow-assignment-row small{margin-top:3px;color:#647589}.job-workflow-assignment-row label{margin:0!important}.job-workflow-assignment-row label span{display:block;margin-bottom:5px;font-weight:700;color:#12385c;font-size:.82rem}
@media(max-width:700px){.job-workflow-assignment-row{grid-template-columns:1fr}}

.installer-association-edit{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px 16px;align-items:end;margin-top:10px}.installer-association-edit>label:first-child{display:grid;gap:5px;font-size:.78rem;font-weight:700;color:#52687a}.installer-association-edit input[type="text"]{width:100%;box-sizing:border-box}.installer-association-edit .compact-checkbox-row{padding-bottom:9px}@media(max-width:720px){.installer-association-edit{grid-template-columns:1fr}.installer-association-edit .compact-checkbox-row{padding-bottom:0}}

/* v1.3.0.14: Preserve the historical admin card padding used by company and
   user details. Only bleed the brand row out to the full card edges. This
   avoids the detail-page layout regressions from zeroing the entire card. */
body.admin-page .admin-shell > .installer-admin-card {
    padding: 14px 16px 18px;
}
body.admin-page .admin-shell > .installer-admin-card > .brand-row {
    margin: -14px -16px 0;
    border-radius: 17px 17px 0 0;
}
@media (max-width: 820px) {
    body.admin-page .admin-shell > .installer-admin-card > .brand-row {
        border-radius: 9px 9px 0 0;
    }
}

/* Cross-page navigation uses the same tab components as in-page buttons.
   Scope accent colours apply to ordinary links, not navigation tabs. */
#admin-app .admin-tabs a.admin-tab,
#installer-app .workspace-tabs a.workspace-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    white-space: nowrap;
    font-family: inherit;
    font-size: inherit;
}

/* Scope Branding editor presentation options */
.scope-option-inline{display:flex;gap:5px;align-items:center;margin-top:5px;font-size:.72rem;font-weight:400!important}
.scope-option-inline input{width:auto!important;min-height:0!important}
.scope-brand-preview.scope-preview-balanced .scope-brand-preview-body{background:var(--scope-preview-workspace)!important}
.scope-brand-preview-id{margin:9px 0;padding:10px;border:1px solid var(--scope-preview-border,#d5dee7);border-radius:10px;background:var(--scope-preview-id-card,#fff);color:var(--scope-preview-text,#071b38);font-size:.75rem;font-weight:700}
.scope-brand-preview.scope-preview-logo-backed .scope-brand-preview-top img{background:#fff;padding:3px;border-radius:4px}

/* Preview uploaded logos as rendered, with a backing only if explicitly selected. */
.scope-brand-preview:not(.scope-preview-logo-backed) .scope-brand-preview-top img{background:transparent!important;padding:0!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;
    }
}


/* v1.3.0.10: standard Installer Registration Card Scheme logo only; scoped branding remains unchanged. */
.brand-home > .brand-mark {
    width: 218px !important;
    height: 62px !important;
    background: url('/assets/img/installer-registration-card-scheme-logo-inverse.svg') left center / contain no-repeat !important;
}
.brand-home > .brand-mark .brand-slash { display: none !important; }
.brand-home > .brand-mark + .brand-copy > strong { display: none !important; }
/* v1.3.0.11: standard Verify header consistency cleanup.
   Keep scoped branding independent; standard subtitles remain in the DOM for
   compatibility but are not shown beside the scheme logo. */
.brand-home > .brand-mark + .brand-copy > span { display: none !important; }
.hero-card > .brand-row,
body.admin-page .brand-row,
body.installer-page .brand-row {
    border-radius: 12px 12px 0 0 !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;
    }
}

/* v1.3.0.1: compact newISA company integration controls. */
body.admin-page #admin-app .company-integration-section .newisa-title-row{
    align-items:flex-start;
    margin-bottom:16px;
}
body.admin-page #admin-app .company-integration-section .newisa-title-row>div{
    min-width:0;
    max-width:760px;
}
body.admin-page #admin-app .integration-status-pill{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    flex:0 0 auto;
    min-height:28px;
    padding:5px 10px;
    border:1px solid #cbd7e2;
    border-radius:999px;
    background:#f4f7fa;
    color:#52677f;
    font-size:12px;
    font-weight:800;
    white-space:nowrap;
}
body.admin-page #admin-app .integration-status-pill.ok{
    border-color:#9fd0b3;
    background:#edf8f1;
    color:#176437;
}
body.admin-page #admin-app .integration-status-pill.bad{
    border-color:#ddb0b0;
    background:#fff2f2;
    color:#922727;
}
body.admin-page #admin-app .newisa-settings-grid{
    display:grid;
    grid-template-columns:minmax(260px,.8fr) minmax(340px,1.2fr);
    gap:18px;
    align-items:start;
    max-width:920px;
}
body.admin-page #admin-app .newisa-enabled-row{
    display:grid;
    grid-template-columns:20px minmax(0,1fr);
    gap:10px;
    align-items:start;
    min-height:46px;
    margin:0!important;
    padding:11px 12px;
    border:1px solid #d5e0e9;
    border-radius:8px;
    background:#f8fafc;
    color:#17324d;
    cursor:pointer;
}
body.admin-page #admin-app .newisa-enabled-row input{
    width:18px!important;
    min-width:18px!important;
    height:18px!important;
    min-height:18px!important;
    margin:2px 0 0!important;
}
body.admin-page #admin-app .newisa-enabled-row span{
    display:grid;
    gap:3px;
}
body.admin-page #admin-app .newisa-enabled-row b{
    font-size:13px;
    color:#17324d;
}
body.admin-page #admin-app .newisa-enabled-row small{
    color:#65788b;
    font-size:12px;
    line-height:1.35;
    font-weight:500;
}
body.admin-page #admin-app .newisa-key-field{
    display:grid;
    gap:6px;
    min-width:0;
}
body.admin-page #admin-app .newisa-key-field>label{
    margin:0;
    color:#17324d;
    font-weight:800;
}
body.admin-page #admin-app .newisa-key-field input{
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
}
body.admin-page #admin-app .newisa-key-field .field-help{
    margin:0;
    color:#65788b;
    font-size:12px;
}
body.admin-page #admin-app .newisa-status-line{
    max-width:920px;
    margin:12px 0 0;
    padding-top:10px;
    border-top:1px solid #e2e8ee;
    color:#52677f;
    font-size:12px;
}
body.admin-page #admin-app .newisa-action-row{
    justify-content:flex-start;
    max-width:920px;
    margin-top:12px;
}
body.admin-page #admin-app .newisa-action-row #company_newisa_save,
body.admin-page #admin-app .newisa-action-row #company_newisa_test{
    width:auto!important;
    min-width:118px!important;
    min-height:38px!important;
    margin:0!important;
    padding:8px 14px!important;
}
body.admin-page #admin-app .newisa-result{
    max-width:920px;
}
body.admin-page #admin-app .newisa-result:empty{
    display:none;
}
@media(max-width:760px){
    body.admin-page #admin-app .company-integration-section .newisa-title-row{
        gap:10px;
    }
    body.admin-page #admin-app .newisa-settings-grid{
        grid-template-columns:1fr;
    }
    body.admin-page #admin-app .newisa-action-row{
        display:grid;
        grid-template-columns:1fr 1fr;
    }
    body.admin-page #admin-app .newisa-action-row #company_newisa_save,
    body.admin-page #admin-app .newisa-action-row #company_newisa_test{
        width:100%!important;
    }
}

/* v1.3.0.6: the generic company integration layout is shared by newISA and Portal. */
body.admin-page #admin-app .company-integration-section + .company-integration-section {
    margin-top: 18px;
}
body.admin-page #admin-app .newisa-action-row #company_portal_save,
body.admin-page #admin-app .newisa-action-row #company_portal_test {
    width: auto !important;
    min-width: 118px !important;
    min-height: 38px !important;
    margin: 0 !important;
    padding: 8px 14px !important;
}
@media (max-width: 760px) {
    body.admin-page #admin-app .newisa-action-row #company_portal_save,
    body.admin-page #admin-app .newisa-action-row #company_portal_test {
        width: 100% !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;
    }
}

/* v1.3.0.3: explicit external-workflow mapping in Competency editor */
body.admin-page #card_skill_editor_modal .card-skill-external-workflow{
    margin-top: 4px;
    padding: 14px;
    border: 1px solid #dbe3ea;
    border-radius: 10px;
    background: #f8fbfd;
}
body.admin-page #card_skill_editor_modal .card-skill-external-workflow .section-title-row{
    margin-bottom: 10px;
}
body.admin-page #card_skill_editor_modal .card-skill-external-workflow h3{
    margin: 0 0 3px;
    font-size: 15px;
}
body.admin-page #card_skill_editor_modal .card-skill-external-grid{
    display:grid;
    grid-template-columns:minmax(0,180px) minmax(0,1fr);
    gap:12px 14px;
    align-items:end;
}
body.admin-page #card_skill_editor_modal .card-skill-external-grid .form-field{margin:0!important}
body.admin-page #card_skill_editor_modal .readonly-field{
    min-height: 42px;
    display:flex;
    align-items:center;
    padding:9px 11px;
    border:1px solid #d3dde6;
    border-radius:8px;
    background:#eef4f8;
    color:#28465f;
    font-weight:700;
}
@media (max-width:760px){
    body.admin-page #card_skill_editor_modal .card-skill-external-grid{grid-template-columns:1fr}
}

/* v1.3.0.4: keep competency editing discoverable with the wider workflow table. */
.competency-table-row{cursor:pointer;}
.competency-table-row:hover td{background:#f7fbff;}
.competency-table-row:focus{outline:2px solid rgba(18,56,92,.18);outline-offset:-2px;}

/* v1.3.0.6: simplified competency editor and optional integration controls. */
body.admin-page #card_skill_editor_modal .card-skill-advanced {
    margin-top: 20px;
    border-top: 1px solid #d7e0e8;
    border-bottom: 1px solid #d7e0e8;
    background: #fbfcfd;
}
body.admin-page #card_skill_editor_modal .card-skill-advanced > summary {
    display: flex;
    align-items: center;
    min-height: 46px;
    padding: 0 4px;
    color: #17324d;
    cursor: pointer;
    font-size: 14px;
    font-weight: 850;
    list-style-position: inside;
}
body.admin-page #card_skill_editor_modal .card-skill-advanced[open] > summary {
    margin-bottom: 14px;
}
body.admin-page #card_skill_editor_modal .card-skill-advanced-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0 4px 18px;
}
body.admin-page #card_skill_editor_modal .modal-styled-file-field {
    margin: 0 !important;
}
body.admin-page #card_skill_editor_modal .modal-styled-file-field .styled-file-control {
    margin-top: 6px;
}
body.admin-page #card_skill_editor_modal .card-skill-form-actions {
    align-items: center;
}
body.admin-page #card_skill_editor_modal .card-skill-form-actions #card_skill_archive {
    min-width: 128px !important;
}
@media (max-width: 760px) {
    body.admin-page #card_skill_editor_modal .card-skill-advanced-grid {
        grid-template-columns: 1fr;
    }
}


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

:is(body.admin-page #admin-app, body.installer-page #installer-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;
}

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

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

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

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

:is(body.admin-page #admin-app, body.installer-page #installer-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;
}

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

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

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

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

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

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

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

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

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

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

:is(body.admin-page #admin-app, body.installer-page #installer-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;
}

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

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

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

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

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

:is(body.admin-page #admin-app, body.installer-page #installer-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;
}

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

:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-scope-na { color: #94a3b8; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table-wrap { max-height: none; margin-top: 18px; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table { width: 100%; min-width: 840px; table-layout: fixed; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table col.api-token-col-name { width: 20%; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table col.api-token-col-hint { width: 13%; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table col.api-token-col-scopes { width: 25%; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table col.api-token-col-expires { width: 12%; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table col.api-token-col-used { width: 14%; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table col.api-token-col-status { width: 8%; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table col.api-token-col-actions { width: 8%; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table th,
:is(body.admin-page #admin-app, body.installer-page #installer-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;
}
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table th { white-space: nowrap; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table td:last-child,
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table th:last-child { text-align: right; white-space: nowrap; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-table .compact-action { min-width: 0; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-scope-cell { max-width: 280px; white-space: normal; overflow-wrap: anywhere; font-size: 12px; }
:is(body.admin-page #admin-app, body.installer-page #installer-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; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-secret-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin-top: 10px; }
:is(body.admin-page #admin-app, body.installer-page #installer-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; }
:is(body.admin-page #admin-app, body.installer-page #installer-app) .api-token-load-error { grid-column: 1 / -1; margin: 0; }

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

/* v1.2.1.19: AI accreditation evidence screening and human review. */
body.admin-page .ai-analysis-queued{
    display:inline-flex!important;align-items:center!important;justify-content:center!important;
    width:32px!important;height:32px!important;border:1px solid #aab8c4!important;border-radius:50%!important;
    background:#f4f7f9!important;color:#526575!important;font-weight:800!important;cursor:help!important;
}
body.admin-page .ai-analysis-review svg{width:18px!important;height:18px!important;stroke:currentColor!important;fill:none!important;stroke-width:2!important;}
body.admin-page .accreditation-analysis-status{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:4px 0 14px!important;}
body.admin-page .accreditation-analysis-report{display:grid;gap:14px;margin:0 0 16px!important;}
body.admin-page .accreditation-analysis-card{border:1px solid #d7e0e7;border-radius:10px;background:#f8fafb;padding:13px 15px;}
body.admin-page .accreditation-analysis-card h3{font-size:1rem;margin:0 0 8px;}
body.admin-page .accreditation-analysis-card p{margin:0;line-height:1.5;}
body.admin-page .accreditation-analysis-list{margin:0;padding-left:20px;display:grid;gap:6px;}
body.admin-page .accreditation-analysis-finding-critical{font-weight:700;color:#a11d28;}
body.admin-page .accreditation-analysis-finding-warning{color:#785900;}
body.admin-page .accreditation-analysis-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
body.admin-page .accreditation-analysis-metric{border:1px solid #d7e0e7;border-radius:9px;padding:10px;background:#fff;}
body.admin-page .accreditation-analysis-metric b{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;color:#607487;margin-bottom:3px;}
body.admin-page .accreditation-analysis-decision-grid{margin-top:8px;}
body.admin-page .accreditation-analysis-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
@media(max-width:650px){body.admin-page .accreditation-analysis-metrics{grid-template-columns:1fr;}body.admin-page .accreditation-analysis-actions{justify-content:stretch;}body.admin-page .accreditation-analysis-actions button{flex:1 1 100%;}}

/* v1.2.1.20: calibrated, human-readable AI review and accreditation suggestions. */
body.admin-page .accreditation-analysis-card-warning,
body.admin-page .accreditation-analysis-card-caution,
body.admin-page .accreditation-analysis-review-warning{border-color:#d8b35e;background:#fffaf0;}
body.admin-page .accreditation-analysis-card-danger,
body.admin-page .accreditation-analysis-review-danger{border-color:#c6424d;background:#fff4f5;}
body.admin-page .accreditation-analysis-positive,
body.admin-page .accreditation-analysis-review-clear{border-color:#bfd7c4;background:#f7fbf8;}
body.admin-page .accreditation-analysis-warning-text{margin-top:8px!important;color:#785900;}
body.admin-page .accreditation-analysis-verdict{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:7px!important;}
body.admin-page .accreditation-analysis-card-danger .accreditation-analysis-verdict b{color:#9f1f2a;}
body.admin-page .accreditation-analysis-confidence{font-size:.86rem;color:#5d6d79;}
body.admin-page .accreditation-analysis-card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;}
body.admin-page .accreditation-analysis-review-badge{display:inline-flex;align-items:center;border-radius:999px;padding:3px 8px;font-size:.74rem;font-weight:800;text-transform:uppercase;letter-spacing:.03em;}
body.admin-page .accreditation-analysis-review-badge-danger{background:#f7d9dc;color:#8f1822;}
body.admin-page .accreditation-analysis-review-badge-warning{background:#f5e7bd;color:#725300;}
body.admin-page .accreditation-analysis-review-badge-clear{background:#dcecdf;color:#285b34;}
body.admin-page .accreditation-analysis-technical{border:1px solid #d7e0e7;border-radius:10px;background:#fff;overflow:hidden;}
body.admin-page .accreditation-analysis-technical>summary{cursor:pointer;font-weight:700;padding:12px 15px;background:#f5f8fa;}
body.admin-page .accreditation-analysis-technical-body{padding:14px 15px;display:grid;gap:12px;}
body.admin-page .accreditation-analysis-technical-body h4{margin:2px 0 0;font-size:.92rem;}
body.admin-page .accreditation-analysis-tech-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
body.admin-page .accreditation-analysis-tech-grid p{margin:0;}
@media(max-width:650px){body.admin-page .accreditation-analysis-tech-grid{grid-template-columns:1fr;}}

/* v1.2.1.24: modal styling scope, decision hierarchy and final recommendation. */
body.admin-page .accreditation-analysis-metric{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0;}
body.admin-page .accreditation-analysis-metric b{margin:0!important;}
body.admin-page .accreditation-analysis-metric-value{display:block;font-size:.96rem;font-weight:700;color:#18354d;text-transform:capitalize;}
body.admin-page .accreditation-analysis-card-heading{margin-bottom:9px!important;}
body.admin-page .accreditation-analysis-card-heading .accreditation-analysis-review-badge{flex:0 0 auto;margin-left:auto;}
body.admin-page .accreditation-analysis-decision-section{margin-top:26px;padding-top:20px;border-top:1px solid #d7e0e7;}
body.admin-page .accreditation-analysis-decision-title{margin:0 0 12px!important;font-size:1.3rem!important;line-height:1.2;color:#12385c;}
body.admin-page .accreditation-analysis-decision-grid{margin-top:14px!important;}
body.admin-page .accreditation-analysis-final{display:grid;grid-template-columns:auto 1fr;gap:3px 12px;align-items:center;border:1px solid #d7e0e7;border-radius:10px;padding:11px 13px;background:#f8fafb;}
body.admin-page .accreditation-analysis-final-label{grid-column:1/-1;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:#607487;}
body.admin-page .accreditation-analysis-final strong{font-size:1.04rem;}
body.admin-page .accreditation-analysis-final-help{font-size:.88rem;line-height:1.35;color:#526575;}
body.admin-page .accreditation-analysis-final-clear{border-color:#a9cfb2;background:#f2faf4;}
body.admin-page .accreditation-analysis-final-clear strong{color:#23613a;}
body.admin-page .accreditation-analysis-final-warning{border-color:#d8b35e;background:#fff9e9;}
body.admin-page .accreditation-analysis-final-warning strong{color:#725300;}
body.admin-page .accreditation-analysis-final-danger,
body.admin-page .accreditation-analysis-final-problem{border-color:#c6424d;background:#fff1f2;}
body.admin-page .accreditation-analysis-final-danger strong,
body.admin-page .accreditation-analysis-final-problem strong{color:#941d27;}
body.admin-page .accreditation-analysis-final-unavailable{border-color:#bac4cd;background:#f3f5f7;}
body.admin-page .accreditation-analysis-final-unavailable strong{color:#465866;}
body.admin-page .accreditation-analysis-final-processing{border-color:#a9bed0;background:#f3f8fc;}
body.admin-page .accreditation-analysis-final-processing strong{color:#285977;}
@media(max-width:650px){body.admin-page .accreditation-analysis-final{grid-template-columns:1fr;}body.admin-page .accreditation-analysis-final-help{grid-column:1;}}

/* Installer-owned accreditation definitions are approved by their owning installer.
   Keep them visually distinct from IAA-approved/global accreditations in Admin. */
body.admin-page #admin-app .user-page .admin-accreditation-row.acc-installer-approved{
    border-color:#cfb7ea!important;
    background:#f8f2ff!important;
    box-shadow:inset 4px 0 0 #7a3db8;
}
body.admin-page #admin-app .admin-accreditation-row .accreditation-title-line{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
}
body.admin-page #admin-app .admin-accreditation-row .installer-approved-badge{
    display:inline-flex!important;
    align-items:center;
    width:auto!important;
    margin:0!important;
    padding:3px 8px;
    border:1px solid #c3a0e4;
    border-radius:999px;
    background:#efe3fb;
    color:#63309a!important;
    font-size:11px!important;
    font-weight:800;
    line-height:1.2;
}

/* v1.2.1.27: preserve and surface the complete more-information conversation. */
body.admin-page #admin-app .accreditation-review-history{
    margin-top:10px;
    padding-top:9px;
    border-top:1px solid rgba(18,56,92,.12);
    display:grid;
    gap:6px;
}
body.admin-page #admin-app .accreditation-review-history-title{
    margin:0 0 1px;
    color:#12385c;
    font-size:.76rem;
    font-weight:800;
    text-transform:uppercase;
    letter-spacing:.025em;
}
body.admin-page #admin-app .accreditation-review-history-row{
    border-left:4px solid #8b9aab;
    border-radius:8px;
    background:#f7f9fb;
    padding:7px 9px;
}
body.admin-page #admin-app .accreditation-review-history-row>div{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:10px;
}
body.admin-page #admin-app .accreditation-review-history-row strong{
    color:#20364f;
    font-size:.82rem;
}
body.admin-page #admin-app .accreditation-review-history-row time{
    color:#6b7b8c;
    font-size:.72rem;
    white-space:nowrap;
}
body.admin-page #admin-app .accreditation-review-history-row p{
    margin:3px 0 0;
    color:#43566c;
    font-size:.78rem;
    line-height:1.35;
}
body.admin-page #admin-app .accreditation-review-history-row.review-history-request{
    border-left-color:#c48100;
    background:#fff8e8;
}
body.admin-page #admin-app .accreditation-review-history-row.review-history-response{
    border-left-color:#2f6f9f;
    background:#eef7ff;
}
body.admin-page #admin-app .accreditation-review-history-row.review-history-approved{
    border-left-color:#24834f;
    background:#eef9f3;
}
body.admin-page #admin-app .accreditation-review-history-row.review-history-rejected{
    border-left-color:#b3261e;
    background:#fff1f1;
}
@media(max-width:700px){
    body.admin-page #admin-app .accreditation-review-history-row>div{align-items:flex-start;flex-direction:column;gap:2px;}
}

/* v1.2.1.31: accreditation catalogue admin layout correction. */
body.admin-page #admin-app .admin-accreditation-filter-row{
    grid-template-columns:repeat(12,minmax(0,1fr))!important;
    gap:10px!important;
    align-items:center!important;
}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_q{grid-column:span 4;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_owner_scope{grid-column:span 2;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_body{grid-column:span 2;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_level{grid-column:span 2;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_category{grid-column:span 2;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_status{grid-column:span 3;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_type{grid-column:span 3;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_search{
    grid-column:11 / 13;
    width:100%!important;
    min-width:0!important;
    margin:0!important;
}

body.admin-page #admin-app .accreditation-catalogue-table-wrap{
    width:100%!important;
    max-width:100%!important;
    overflow-x:auto!important;
    overflow-y:visible!important;
}
body.admin-page #admin-app .accreditation-catalogue-table{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    table-layout:fixed!important;
}
body.admin-page #admin-app .accreditation-catalogue-table col.accreditation-col-name{width:24%;}
body.admin-page #admin-app .accreditation-catalogue-table col.accreditation-col-code{width:12%;}
body.admin-page #admin-app .accreditation-catalogue-table col.accreditation-col-body{width:13%;}
body.admin-page #admin-app .accreditation-catalogue-table col.accreditation-col-category{width:12%;}
body.admin-page #admin-app .accreditation-catalogue-table col.accreditation-col-catalogue{width:11%;}
body.admin-page #admin-app .accreditation-catalogue-table col.accreditation-col-usage{width:9%;}
body.admin-page #admin-app .accreditation-catalogue-table col.accreditation-col-status{width:7%;}
body.admin-page #admin-app .accreditation-catalogue-table col.accreditation-col-action{width:92px;}
body.admin-page #admin-app .accreditation-catalogue-table th,
body.admin-page #admin-app .accreditation-catalogue-table td{
    min-width:0!important;
    padding:9px 10px!important;
    vertical-align:middle!important;
}
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(1),
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(3),
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(4),
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(5){
    white-space:normal!important;
    overflow-wrap:anywhere!important;
}
body.admin-page #admin-app .accreditation-catalogue-table td:nth-child(2) code{
    display:block!important;
    max-width:100%!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    word-break:normal!important;
}
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{
    text-align:right!important;
    padding-left:6px!important;
    padding-right:8px!important;
    overflow:visible!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:64px!important;
    max-width:none!important;
    min-height:32px!important;
    margin:0!important;
    padding:6px 9px!important;
    line-height:1.1!important;
    font-size:.77rem!important;
    white-space:nowrap!important;
    pointer-events:auto!important;
}
body.admin-page #admin-app .accreditation-catalogue-table .status-pill{
    display:inline-flex!important;
    max-width:100%!important;
    padding:3px 7px!important;
    font-size:.72rem!important;
    white-space:nowrap!important;
}

/* Keep the accreditation definition editor compact and stop generic form rules
   from turning its checkbox controls into full-height input boxes. */
body.admin-page .modal-card #admin_skill_modal{
    max-height:min(72vh,680px)!important;
    overflow:auto!important;
}
body.admin-page .modal-card #admin_skill_modal .accreditation-definition-grid{
    gap:11px 14px!important;
}
body.admin-page .modal-card #admin_skill_modal .form-field{
    margin:0!important;
}
body.admin-page .modal-card #admin_skill_modal .form-field>label:not(.checkbox-row){
    margin:0 0 5px!important;
}
body.admin-page .modal-card #admin_skill_modal input:not([type="checkbox"]),
body.admin-page .modal-card #admin_skill_modal select,
body.admin-page .modal-card #admin_skill_modal textarea{
    min-height:38px!important;
    margin:0!important;
    padding:8px 10px!important;
}
body.admin-page .modal-card #admin_skill_modal textarea{
    min-height:72px!important;
}
body.admin-page .modal-card #admin_skill_modal .field-help{
    margin:4px 0 0!important;
    font-size:.73rem!important;
    line-height:1.3!important;
}
body.admin-page .modal-card #admin_skill_modal .checkbox-field{
    display:flex!important;
    align-items:flex-end!important;
    min-height:58px!important;
}
body.admin-page .modal-card #admin_skill_modal .checkbox-row{
    display:flex!important;
    align-items:center!important;
    gap:8px!important;
    width:auto!important;
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    font-size:.8rem!important;
    line-height:1.25!important;
    cursor:pointer!important;
}
body.admin-page .modal-card #admin_skill_modal .checkbox-row input[type="checkbox"]{
    display:block!important;
    flex:0 0 18px!important;
    width:18px!important;
    min-width:18px!important;
    max-width:18px!important;
    height:18px!important;
    min-height:18px!important;
    max-height:18px!important;
    margin:0!important;
    padding:0!important;
    border-radius:3px!important;
}
body.admin-page .modal-card #admin_skill_modal .checkbox-row span{
    display:inline!important;
    margin:0!important;
}
body.admin-page .modal-card #admin_skill_modal #admin_create_skill{
    display:block!important;
    width:auto!important;
    min-width:150px!important;
    margin:14px 0 0 auto!important;
    padding:9px 16px!important;
}

@media(max-width:1050px){
    body.admin-page #admin-app .admin-accreditation-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
    body.admin-page #admin-app .admin-accreditation-filter-row>*{grid-column:auto!important;}
    body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_q{grid-column:1 / -1!important;}
    body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_search{grid-column:2!important;}
    body.admin-page #admin-app .accreditation-catalogue-table{min-width:900px!important;}
}
@media(max-width:620px){
    body.admin-page #admin-app .admin-accreditation-filter-row{grid-template-columns:1fr!important;}
    body.admin-page #admin-app .admin-accreditation-filter-row>*{grid-column:auto!important;}
    body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_q,
    body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_search{grid-column:auto!important;}
    body.admin-page .modal-card #admin_skill_modal .accreditation-definition-grid{grid-template-columns:1fr!important;}
    body.admin-page .modal-card #admin_skill_modal .checkbox-field{min-height:0!important;}
}

/* v1.2.2.0 Verified Accreditation catalogue and reference-data workspace. */
body.admin-page #admin-app .admin-accreditation-filter-row{
    grid-template-columns:minmax(220px,2fr) repeat(5,minmax(130px,1fr)) auto auto!important;
    align-items:end;
}
body.admin-page #admin-app .list-view-toggle{display:flex;gap:5px;justify-content:flex-end;}
body.admin-page #admin-app .list-view-toggle button{min-width:58px!important;}
body.admin-page #admin-app .list-view-toggle button.active{border-color:#174f7d!important;background:#e8f1f8!important;color:#174f7d!important;}
body.admin-page #admin-app .accreditation-catalogue-table{min-width:860px!important;}
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(1){width:32%;}
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(2){width:14%;}
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(3){width:12%;}
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(4){width:15%;}
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(5){width:12%;}
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(6){width:8%;}
body.admin-page #admin-app .accreditation-catalogue-table th:nth-child(7){width:7%;}
body.admin-page #admin-app .accreditation-catalogue-table td:first-child small{display:block;margin-top:2px;color:#6b7b8c;font-size:.72rem;}
body.admin-page #admin-app .accreditation-catalogue-tree{display:grid;gap:10px;margin-top:12px;}
body.admin-page #admin-app .accreditation-catalogue-tree.hidden{display:none!important;}
body.admin-page #admin-app .accreditation-catalogue-tree .catalogue-tree-body{border:1px solid #d7e0e8;border-radius:10px;background:#fff;overflow:hidden;}
body.admin-page #admin-app .accreditation-catalogue-tree .catalogue-tree-body>summary{padding:11px 13px;background:#eef4f8;color:#12385c;cursor:pointer;font-weight:850;}
body.admin-page #admin-app .accreditation-catalogue-tree .catalogue-tree-body>summary span{display:flex;align-items:baseline;gap:8px;}
body.admin-page #admin-app .accreditation-catalogue-tree .catalogue-tree-body>summary small{color:#66788a;font-size:.75rem;}
body.admin-page #admin-app .accreditation-catalogue-tree .catalogue-tree-body-content{padding:0 12px 12px;}
body.admin-page #admin-app .accreditation-catalogue-tree .catalogue-tree-level{padding-top:9px;}
body.admin-page #admin-app .accreditation-catalogue-tree .catalogue-tree-level-heading{display:flex;justify-content:space-between;gap:10px;padding:5px 2px 7px;cursor:pointer;color:#12385c;}
body.admin-page #admin-app .accreditation-catalogue-tree .catalogue-tree-level-heading span{min-width:25px;padding:2px 7px;border-radius:999px;background:#eef3f7;text-align:center;font-size:.72rem;}
body.admin-page #admin-app .reference-tree-items{display:grid;gap:5px;}
body.admin-page #admin-app button.reference-tree-item,
body.admin-page .modal-card button.reference-list-row{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;margin:0!important;padding:9px 11px!important;border:1px solid #d5dfe8!important;border-radius:7px!important;background:#fff!important;color:#183b5c!important;box-shadow:none!important;text-align:left!important;}
body.admin-page #admin-app button.reference-tree-item:hover,
body.admin-page .modal-card button.reference-list-row:hover{border-color:#8eabc1!important;background:#f5f9fc!important;}
body.admin-page #admin-app button.reference-tree-item>span:first-child,
body.admin-page .modal-card button.reference-list-row>span:first-child{display:grid;gap:2px;min-width:0;}
body.admin-page #admin-app button.reference-tree-item small,
body.admin-page .modal-card button.reference-list-row small{color:#66788a;font-size:.73rem;}
body.admin-page .modal-card #accreditation_reference_modal{max-height:min(72vh,700px);overflow:auto;}
body.admin-page .modal-card .accreditation-reference-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
body.admin-page .modal-card .accreditation-reference-grid>section{display:grid;align-content:start;gap:7px;padding:12px;border:1px solid #d7e0e8;border-radius:9px;background:#f8fafc;}
body.admin-page .modal-card .accreditation-reference-grid h3{margin:0 0 3px;}
body.admin-page .modal-card .reference-list{display:grid;gap:5px;max-height:190px;overflow:auto;margin-bottom:6px;}
body.admin-page .modal-card .reference-logo-state{font-size:.7rem;font-weight:800;color:#245f8e;}
body.admin-page .modal-card #accreditation_reference_modal button[id$="_save"]{width:auto!important;justify-self:end;margin-top:5px!important;}
@media(max-width:1100px){body.admin-page #admin-app .admin-accreditation-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))!important;}body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_q{grid-column:1 / -1!important;}}
@media(max-width:720px){body.admin-page .modal-card .accreditation-reference-grid{grid-template-columns:1fr;}body.admin-page #admin-app .admin-accreditation-filter-row{grid-template-columns:1fr!important;}body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_q{grid-column:auto!important;}}

/* v1.2.2.1 accreditation catalogue polish. */
.accreditation-filter-shell{border:1px solid var(--scope-border,#d5dee7);border-radius:10px;background:var(--scope-surface,#fff);padding:14px 16px;margin-bottom:14px}
.accreditation-filter-primary{display:grid;grid-template-columns:minmax(150px,220px) minmax(280px,1fr) auto;gap:12px;align-items:end}
.accreditation-filter-secondary{display:grid;grid-template-columns:repeat(4,minmax(125px,1fr)) auto;gap:10px;align-items:end;margin-top:10px;padding-top:10px;border-top:1px solid var(--scope-border,#dfe7ee)}
.accreditation-filter-shell .filter-field{display:flex;flex-direction:column;gap:5px;min-width:0}
.accreditation-filter-shell .filter-field>span,.competency-filter-bar .filter-field>span{font-size:.75rem;font-weight:700;color:var(--scope-muted,#5f7187)}
.accreditation-view-toggle{display:flex;justify-content:flex-end;gap:6px;align-items:center;white-space:nowrap}
.simple-accreditation-tree{padding:4px 2px 10px}
.simple-tree-body,.simple-tree-level{border:0;margin:0;background:transparent}
.simple-tree-body>summary,.simple-tree-level>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:7px;min-height:34px;color:var(--scope-text,#071b38)}
.simple-tree-body>summary::-webkit-details-marker,.simple-tree-level>summary::-webkit-details-marker{display:none}
.simple-tree-body>summary:before,.simple-tree-level>summary:before{content:'›';display:inline-block;width:12px;font-size:1.15rem;line-height:1;transform:rotate(0deg);transition:transform .12s ease;color:var(--scope-muted,#5f7187)}
.simple-tree-body[open]>summary:before,.simple-tree-level[open]>summary:before{transform:rotate(90deg)}
.simple-tree-body>summary{font-weight:750;font-size:.95rem}
.simple-tree-branch{margin-left:19px;border-left:1px solid var(--scope-border,#d5dee7);padding-left:12px}
.simple-tree-level>summary{font-weight:650;font-size:.88rem}
.simple-tree-leaves{margin-left:19px;padding:2px 0 6px 12px;border-left:1px solid var(--scope-border,#e2e9ef)}
.simple-tree-leaf{display:flex!important;justify-content:space-between!important;align-items:center!important;width:100%;padding:6px 8px!important;border:0!important;background:transparent!important;color:var(--scope-text,#071b38)!important;text-align:left!important;border-radius:6px!important;font-weight:500!important;box-shadow:none!important}
.simple-tree-leaf:hover{background:var(--scope-background,#f5f8fb)!important}
.simple-tree-leaf small{font-size:.7rem;color:var(--scope-muted,#5f7187);text-transform:capitalize;margin-left:10px}
.accreditation-reference-modal{min-width:min(780px,calc(100vw - 64px))}
.reference-modal-intro{margin:0 0 12px}
.reference-tabs{display:flex;gap:4px;border-bottom:1px solid var(--scope-border,#d5dee7);margin-bottom:16px}
.reference-tab{background:transparent!important;color:var(--scope-muted,#5f7187)!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;padding:9px 13px!important;box-shadow:none!important}
.reference-tab.active{color:var(--scope-text,#071b38)!important;border-bottom-color:var(--scope-action,#0b4a7d)!important}
.reference-workspace{display:grid;grid-template-columns:minmax(240px,.9fr) minmax(320px,1.1fr);gap:16px;align-items:start}
.reference-list-panel,.reference-editor-card{border:1px solid var(--scope-border,#d5dee7);border-radius:10px;background:var(--scope-surface,#fff);padding:14px}
.reference-panel-heading{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:10px}
.reference-panel-heading h3,.reference-editor-card h3{margin:0 0 3px;font-size:1rem}
.reference-list{display:flex;flex-direction:column;gap:5px;max-height:360px;overflow:auto}
.reference-list-row{display:flex!important;justify-content:space-between!important;align-items:center!important;gap:10px;width:100%;text-align:left!important;padding:8px 10px!important;background:var(--scope-background,#f7fafc)!important;color:var(--scope-text,#071b38)!important;border:1px solid var(--scope-border,#d5dee7)!important;border-radius:7px!important;box-shadow:none!important}
.reference-list-row span:first-child{display:flex;flex-direction:column;min-width:0}
.reference-list-row strong{font-size:.86rem}.reference-list-row small{font-size:.7rem;color:var(--scope-muted,#5f7187)}
.reference-logo-state{font-size:.66rem;font-weight:700;text-transform:uppercase;color:var(--scope-muted,#5f7187)}
.reference-editor-actions{display:flex;justify-content:flex-end;margin-top:12px}
.file-upload-control{display:flex;align-items:center;gap:10px;border:1px dashed var(--scope-border,#cbd7e1);border-radius:8px;padding:9px 10px;cursor:pointer;background:var(--scope-background,#f7fafc)}
.file-upload-control input{position:absolute;opacity:0;pointer-events:none}.file-upload-control span{font-weight:700}.file-upload-control small{color:var(--scope-muted,#5f7187);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.compact-check{display:flex!important;flex-direction:row!important;gap:7px!important;align-items:center!important;margin-top:7px;font-size:.78rem;font-weight:500!important}
.competency-filter-bar{display:grid;grid-template-columns:minmax(150px,220px) minmax(280px,1fr);gap:12px;align-items:end;margin:0 0 14px}
.competency-filter-bar .filter-field{display:flex;flex-direction:column;gap:5px}
@media(max-width:760px){.accreditation-filter-primary,.accreditation-filter-secondary,.reference-workspace,.competency-filter-bar{grid-template-columns:1fr}.accreditation-view-toggle{justify-content:flex-start}.accreditation-reference-modal{min-width:0}.reference-list{max-height:220px}}

/* v1.2.2.2 tree: one coherent list with consistent rows and quiet hierarchy. */
body.admin-page #admin-app .accreditation-catalogue-tree{display:block;margin:8px 0 0!important;padding:0!important;border:1px solid var(--scope-border,#d5dee7);border-radius:8px;background:#fff;overflow:hidden;}
body.admin-page #admin-app .accreditation-catalogue-tree.hidden{display:none!important;}
body.admin-page #admin-app .simple-accreditation-tree{padding:0!important;}
body.admin-page #admin-app .simple-tree-body,
body.admin-page #admin-app .simple-tree-level{margin:0!important;border:0!important;background:transparent!important;}
body.admin-page #admin-app .simple-tree-body+ .simple-tree-body{border-top:1px solid var(--scope-border,#dfe6ec)!important;}
body.admin-page #admin-app .simple-tree-body>summary,
body.admin-page #admin-app .simple-tree-level>summary{box-sizing:border-box;display:flex!important;align-items:center!important;gap:8px!important;height:42px!important;min-height:42px!important;margin:0!important;padding:0 12px!important;list-style:none;cursor:pointer;color:var(--scope-text,#071b38);}
body.admin-page #admin-app .simple-tree-body>summary{font-size:.9rem;font-weight:800;background:#f8fafc;}
body.admin-page #admin-app .simple-tree-level>summary{height:40px!important;min-height:40px!important;padding-left:14px!important;font-size:.84rem;font-weight:700;background:#fff;border-top:1px solid #edf1f4;}
body.admin-page #admin-app .simple-tree-body>summary:before,
body.admin-page #admin-app .simple-tree-level>summary:before{content:'›';display:inline-flex;align-items:center;justify-content:center;width:12px;height:16px;flex:0 0 12px;font-size:1rem;line-height:1;transform:none;transition:transform .12s ease;color:#61758a;}
body.admin-page #admin-app .simple-tree-body[open]>summary:before,
body.admin-page #admin-app .simple-tree-level[open]>summary:before{transform:rotate(90deg);}
body.admin-page #admin-app .simple-tree-branch{margin:0!important;padding:0 0 0 22px!important;border-left:0!important;background:#fff;}
body.admin-page #admin-app .simple-tree-level{border-left:1px solid #dce5ec!important;}
body.admin-page #admin-app .simple-tree-leaves{margin:0!important;padding:0 0 0 20px!important;border-left:1px solid #e1e8ee!important;}
body.admin-page #admin-app button.simple-tree-leaf{box-sizing:border-box;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;width:100%!important;height:40px!important;min-height:40px!important;margin:0!important;padding:0 12px 0 20px!important;border:0!important;border-top:1px solid #f0f3f6!important;border-radius:0!important;background:#fff!important;color:var(--scope-text,#071b38)!important;box-shadow:none!important;text-align:left!important;font-size:.84rem!important;font-weight:500!important;}
body.admin-page #admin-app button.simple-tree-leaf:hover{background:#f6f9fb!important;color:#0b4a7d!important;}
body.admin-page #admin-app button.simple-tree-leaf small{margin-left:auto!important;font-size:.68rem!important;color:#748496!important;text-transform:capitalize!important;}

/* v1.2.2.3: established search grid, structured tree and reference-data modal. */
body.admin-page #admin-app .admin-accreditation-filter-row{
  display:grid!important;
  grid-template-columns:repeat(12,minmax(0,1fr))!important;
  gap:10px!important;
  align-items:center!important;
}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_q{grid-column:1 / span 6!important;grid-row:1!important;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_owner_scope{grid-column:7 / span 1!important;grid-row:1!important;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_body{grid-column:8 / span 2!important;grid-row:1!important;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_level{grid-column:10 / span 2!important;grid-row:1!important;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_category{grid-column:1 / span 3!important;grid-row:2!important;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_status{grid-column:4 / span 1!important;grid-row:2!important;}
body.admin-page #admin-app .admin-accreditation-filter-row .filter-view-toggle{grid-column:5 / span 3!important;grid-row:2!important;justify-self:start!important;}
body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_search{grid-column:12 / span 1!important;grid-row:2!important;}
body.admin-page #admin-app .filter-view-toggle{display:inline-flex!important;align-items:stretch!important;gap:0!important;margin:0!important;padding:0!important;border:1px solid #b9c8d6!important;border-radius:7px!important;overflow:hidden!important;background:#fff!important;}
body.admin-page #admin-app .filter-view-toggle button{width:auto!important;min-width:72px!important;min-height:40px!important;margin:0!important;padding:8px 13px!important;border:0!important;border-radius:0!important;background:#fff!important;color:#12385c!important;box-shadow:none!important;}
body.admin-page #admin-app .filter-view-toggle button+button{border-left:1px solid #b9c8d6!important;}
body.admin-page #admin-app .filter-view-toggle button.active{background:#eaf3fa!important;color:#0b4a7d!important;}
body.admin-page #admin-app .catalogue-view-bar{margin:2px 0 8px!important;min-height:20px!important;}

body.admin-page #admin-app .accreditation-catalogue-tree{margin-top:8px!important;border:1px solid #cfdbe5!important;border-radius:9px!important;background:#fff!important;overflow:hidden!important;}
body.admin-page #admin-app .simple-tree-body+ .simple-tree-body{border-top:1px solid #dfe7ed!important;}
body.admin-page #admin-app .simple-tree-body>summary,
body.admin-page #admin-app .simple-tree-level>summary{
  position:relative;
  box-sizing:border-box!important;
  height:42px!important;
  min-height:42px!important;
  padding:0 12px!important;
  border:0!important;
  outline:0!important;
}
body.admin-page #admin-app .simple-tree-body>summary:focus-visible,
body.admin-page #admin-app .simple-tree-level>summary:focus-visible{box-shadow:inset 0 0 0 2px #2f6f9f!important;}
body.admin-page #admin-app .simple-tree-body>summary{background:#f3f7fa!important;font-weight:800!important;}
body.admin-page #admin-app .simple-tree-body[open]>summary{border-bottom:1px solid #dfe7ed!important;}
body.admin-page #admin-app .simple-tree-level>summary{background:#fbfcfd!important;border-bottom:1px solid #edf1f4!important;font-weight:700!important;}
body.admin-page #admin-app .simple-tree-body>summary>span,
body.admin-page #admin-app .simple-tree-level>summary>span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.admin-page #admin-app .simple-tree-body>summary>small,
body.admin-page #admin-app .simple-tree-level>summary>small{margin-left:auto!important;color:#6b7d8f!important;font-size:.72rem!important;font-weight:700!important;}
body.admin-page #admin-app .simple-tree-branch{padding-left:24px!important;background:#fff!important;}
body.admin-page #admin-app .simple-tree-level{border-left:1px solid #d9e3ea!important;}
body.admin-page #admin-app .simple-tree-leaves{padding-left:24px!important;border-left:1px solid #e3eaf0!important;}
body.admin-page #admin-app button.simple-tree-leaf{
  height:42px!important;
  min-height:42px!important;
  padding:0 12px 0 18px!important;
  border-top:0!important;
  border-bottom:1px solid #edf1f4!important;
  background:#fff!important;
}
body.admin-page #admin-app button.simple-tree-leaf:last-child{border-bottom:0!important;}
body.admin-page #admin-app button.simple-tree-leaf:hover{background:#f7fafc!important;}

body.admin-page .modal-card.modal-card-reference{width:min(760px,calc(100vw - 32px))!important;max-width:760px!important;}
body.admin-page .accreditation-reference-modal{width:100%!important;min-width:0!important;max-width:none!important;overflow:visible!important;}
body.admin-page .accreditation-reference-modal .reference-tabs{margin:8px 0 14px!important;}
body.admin-page .accreditation-reference-modal .reference-workspace{display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
body.admin-page .accreditation-reference-modal .reference-list-panel,
body.admin-page .accreditation-reference-modal .reference-editor-card{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;}
body.admin-page .accreditation-reference-modal .reference-editor-card{padding-top:14px!important;border-top:1px solid #d8e1e9!important;}
body.admin-page .accreditation-reference-modal .reference-panel-heading{align-items:center!important;margin:0 0 8px!important;}
body.admin-page .accreditation-reference-modal .reference-list{display:block!important;max-height:230px!important;overflow:auto!important;border:1px solid #d5dee7!important;border-radius:8px!important;background:#fff!important;}
body.admin-page .accreditation-reference-modal .reference-table-wrap{width:100%;overflow:auto;}
body.admin-page .accreditation-reference-modal .reference-table{width:100%;border-collapse:collapse;table-layout:fixed;font-size:.82rem;}
body.admin-page .accreditation-reference-modal .reference-table th{padding:8px 10px;background:#eef3f7;color:#12385c;text-align:left;font-size:.75rem;font-weight:800;}
body.admin-page .accreditation-reference-modal .reference-table td{height:40px;padding:7px 10px;border-top:1px solid #e5ebf0;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
body.admin-page .accreditation-reference-modal .reference-table th:last-child,
body.admin-page .accreditation-reference-modal .reference-table td:last-child{width:72px;text-align:right;}
body.admin-page .accreditation-reference-modal .reference-table .reference-edit-action{min-width:58px!important;padding:6px 9px!important;}
body.admin-page .accreditation-reference-modal .reference-editor-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px 14px!important;}
body.admin-page .accreditation-reference-modal .reference-editor-grid .form-field-wide{grid-column:1 / -1!important;}
body.admin-page .accreditation-reference-modal .reference-editor-actions{margin-top:10px!important;}
body.admin-page .accreditation-reference-modal .file-upload-control{min-height:40px;box-sizing:border-box;}

@media(max-width:1000px){
  body.admin-page #admin-app .admin-accreditation-filter-row{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_q{grid-column:1 / span 4!important;grid-row:1!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_owner_scope{grid-column:5 / span 2!important;grid-row:1!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_body{grid-column:1 / span 2!important;grid-row:2!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_level{grid-column:3 / span 2!important;grid-row:2!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_category{grid-column:5 / span 2!important;grid-row:2!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_status{grid-column:1 / span 2!important;grid-row:3!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row .filter-view-toggle{grid-column:3 / span 2!important;grid-row:3!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row #accreditation_catalogue_search{grid-column:6!important;grid-row:3!important;}
}
@media(max-width:620px){
  body.admin-page #admin-app .admin-accreditation-filter-row{grid-template-columns:1fr!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row>*{grid-column:auto!important;grid-row:auto!important;}
  body.admin-page #admin-app .admin-accreditation-filter-row .filter-view-toggle{justify-self:stretch!important;}
  body.admin-page #admin-app .filter-view-toggle button{flex:1!important;}
  body.admin-page .accreditation-reference-modal .reference-editor-grid{grid-template-columns:1fr!important;}
  body.admin-page .accreditation-reference-modal .reference-editor-grid .form-field-wide{grid-column:auto!important;}
}


/* v1.2.2.5: reference-data modal spacing and upload controls. */
body.admin-page .modal-card.modal-card-reference{width:min(820px,calc(100vw - 40px))!important;max-width:820px!important;overflow-x:hidden!important;}
body.admin-page .accreditation-reference-modal{box-sizing:border-box!important;overflow-x:hidden!important;}
body.admin-page .accreditation-reference-modal .reference-modal-intro{margin:0 0 16px!important;}
body.admin-page .accreditation-reference-modal .reference-tabs{margin:0 0 18px!important;}
body.admin-page .accreditation-reference-modal .reference-panel-heading{gap:18px!important;margin-bottom:12px!important;}
body.admin-page .accreditation-reference-modal .reference-panel-heading>div{min-width:0!important;}
body.admin-page .accreditation-reference-modal .reference-panel-heading .compact-action{flex:0 0 auto!important;min-width:104px!important;padding:9px 14px!important;}
body.admin-page .accreditation-reference-modal .reference-list{max-height:250px!important;}
body.admin-page .accreditation-reference-modal .reference-table-wrap{overflow-x:hidden!important;}
body.admin-page .accreditation-reference-modal .reference-table th,
body.admin-page .accreditation-reference-modal .reference-table td{box-sizing:border-box!important;}
body.admin-page .accreditation-reference-modal .reference-table th:nth-child(1),
body.admin-page .accreditation-reference-modal .reference-table td:nth-child(1){width:36%!important;}
body.admin-page .accreditation-reference-modal .reference-table th:nth-child(2),
body.admin-page .accreditation-reference-modal .reference-table td:nth-child(2){width:30%!important;}
body.admin-page .accreditation-reference-modal .reference-table th:nth-child(3),
body.admin-page .accreditation-reference-modal .reference-table td:nth-child(3){width:20%!important;}
body.admin-page .accreditation-reference-modal .reference-table th:last-child,
body.admin-page .accreditation-reference-modal .reference-table td:last-child{width:14%!important;min-width:78px!important;}
body.admin-page .accreditation-reference-modal .reference-editor-card{margin-top:2px!important;padding:16px!important;border:1px solid #d8e1e9!important;border-radius:8px!important;background:#f8fafc!important;}
body.admin-page .accreditation-reference-modal .reference-editor-card>h3{margin-bottom:12px!important;}
body.admin-page .accreditation-reference-modal .reference-editor-grid{gap:14px!important;}
body.admin-page .accreditation-reference-modal .reference-editor-grid .form-field{min-width:0!important;}
body.admin-page .accreditation-reference-modal .file-upload-control{
  display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important;align-items:center!important;
  width:100%!important;min-width:0!important;min-height:44px!important;margin:0!important;padding:6px 8px!important;box-sizing:border-box!important;overflow:hidden!important;
}
body.admin-page .accreditation-reference-modal .file-upload-control span{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:30px!important;padding:5px 10px!important;
  border:1px solid #c8d5e0!important;border-radius:7px!important;background:#fff!important;color:#12385c!important;font-weight:800!important;white-space:nowrap!important;
}
body.admin-page .accreditation-reference-modal .file-upload-control small{display:block!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;}
body.admin-page .accreditation-reference-modal .compact-check{display:inline-flex!important;width:auto!important;align-items:center!important;gap:8px!important;margin:10px 0 0!important;}
body.admin-page .accreditation-reference-modal .compact-check input{width:18px!important;min-width:18px!important;height:18px!important;min-height:18px!important;margin:0!important;}
body.admin-page .accreditation-reference-modal .reference-editor-actions{display:flex!important;justify-content:flex-end!important;align-items:center!important;margin-top:14px!important;}
body.admin-page .accreditation-reference-modal .reference-editor-actions button{width:auto!important;min-width:120px!important;margin:0!important;padding:10px 14px!important;}
@media(max-width:620px){
  body.admin-page .modal-card.modal-card-reference{width:calc(100vw - 16px)!important;}
  body.admin-page .accreditation-reference-modal .reference-panel-heading{align-items:stretch!important;flex-direction:column!important;}
  body.admin-page .accreditation-reference-modal .reference-panel-heading .compact-action{width:100%!important;}
  body.admin-page .accreditation-reference-modal .file-upload-control{grid-template-columns:1fr!important;}
}

/* v1.2.2.6: reference-data tabs are exclusive; Add/Edit is a focused view. */
body.admin-page .accreditation-reference-modal .reference-workspace.hidden,
body.admin-page .accreditation-reference-modal .reference-list-panel.hidden,
body.admin-page .accreditation-reference-modal .reference-editor-card.hidden{display:none!important;}
body.admin-page .accreditation-reference-modal .reference-editor-heading{
  display:flex!important;align-items:center!important;gap:12px!important;margin:0 0 14px!important;padding:0 0 12px!important;border-bottom:1px solid #d8e1e9!important;
}
body.admin-page .accreditation-reference-modal .reference-editor-heading h3{margin:0!important;order:1!important;}
body.admin-page .accreditation-reference-modal .reference-editor-heading .compact-action{order:2!important;margin-left:auto!important;width:auto!important;min-width:112px!important;}
body.admin-page .accreditation-reference-modal .reference-editor-card{margin-top:0!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;}
}

/* v1.2.1.28: current/former user search and company relationship controls. */
#installer-app .installer-user-search-row,
#installer-app .installer-disconnected-search-row{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 210px 110px!important;
    gap:10px!important;
    align-items:end!important;
    margin:12px 0!important;
}
#installer-app .installer-user-search-row input,
#installer-app .installer-user-search-row select,
#installer-app .installer-disconnected-search-row input,
#installer-app .installer-disconnected-search-row select{
    margin:0!important;
    min-height:44px!important;
}
#installer-app .installer-user-search-row button,
#installer-app .installer-disconnected-search-row button{
    width:100%!important;
    min-height:44px!important;
    margin:0!important;
}
#installer-app .installer-disconnected-search-row{
    grid-template-columns:minmax(0,1fr) minmax(310px,.8fr) 110px!important;
}
#installer-app .installer-date-range{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
    gap:7px;
    align-items:center;
}
#installer-app .installer-date-range span{color:#6c7b8a;font-size:.82rem;text-align:center;}
#installer-app .disconnected-user-row{cursor:pointer;}
#installer-app .disconnected-user-row:hover td,
#installer-app .disconnected-user-row:focus td{background:#f7fbff;}
#installer-app .former-user-banner{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:6px 10px;
    margin:0 38px 14px 0;
    padding:10px 12px;
    border:1px solid #d8dfe6;
    border-radius:9px;
    background:#f5f7f9;
    color:#4d5b68;
}
#installer-app .former-user-banner strong{color:#24384c;}
#installer-app .former-user-banner span{font-size:.82rem;}
#installer-app .selected-user-company-relationship{
    margin-top:16px;
    padding-top:14px;
    border-top:1px solid rgba(18,56,92,.13);
}
#installer-app .selected-user-company-heading{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
    gap:14px;
    margin-bottom:7px;
}
#installer-app .selected-user-company-heading h3{margin:0 0 3px;color:#12385c;font-size:1rem;}
#installer-app .selected-user-company-heading .form-help{margin:0;}
#installer-app .selected-user-company-edit{margin:0!important;white-space:nowrap;}
#installer-app .selected-user-company-relationship dl{margin-bottom:0;}
#installer_disconnect_summary{margin-top:10px;}
@media(max-width:820px){
    #installer-app .installer-user-search-row,
    #installer-app .installer-disconnected-search-row{grid-template-columns:1fr!important;}
    #installer-app .installer-date-range{grid-template-columns:1fr auto 1fr;}
    #installer-app .selected-user-company-heading{flex-direction:column;}
    #installer-app .selected-user-company-edit{width:100%!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 {
  display:block;
  width:100%;
  height:.42rem;
  margin:.7rem 0;
  overflow:hidden;
  border:0;
  border-radius:999px;
  background:#dfe8ef;
  appearance:none;
  -webkit-appearance:none;
}
.skill-goal-progress::-webkit-progress-bar{background:#dfe8ef;border-radius:999px;}
.skill-goal-progress::-webkit-progress-value{background:#16466f;border-radius:999px;}
.skill-goal-progress::-moz-progress-bar{background:#16466f;border-radius:999px;}

.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 7rem;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}}

/* v1.2.2.11: goal visibility, CSP-safe progress and clear installer actions. */
.goal-admin-title-line,.goal-detail-title-line{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.goal-detail-title-line h3{margin:0}.goal-visibility-pill{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;font-size:.7rem;font-weight:800;line-height:1.25;white-space:nowrap;border:1px solid #c8d5e1;background:#f7fafc;color:#34495e}.goal-visibility-general{border-color:#b7d3ea;background:#edf6fd;color:#174f70}.goal-visibility-private{border-color:#d6c3e8;background:#f7f0fc;color:#69348a}.goal-visibility-shared{border-color:#c7d9c2;background:#f0f7ee;color:#315e2d}#installer-app .installer-goal-row .goal-remove-action{justify-self:end;width:auto!important;min-width:6.25rem!important;height:auto!important;min-height:34px!important;margin:0!important;padding:.45rem .7rem!important;white-space:nowrap}.installer-goal-row .skill-goal-progress{margin:.35rem 0 0}

/* v1.3.0.6: paired job-modal footer actions share one shape and size. */
#installer_job_card_modal .job-modal-actions button,
#installer_job_card_modal .job-modal-actions .secondary-button,
#installer_job_card_modal .job-modal-actions .danger-button {
  min-height: 44px !important;
  padding: 10px 16px !important;
  border-radius: 10px !important;
  line-height: 1.2 !important;
}
body.installer-page #installer-app #installer_job_card_modal .job-modal-actions button,
body.installer-page #installer-app #installer_job_card_modal .job-modal-actions .secondary-button,
body.installer-page #installer-app #installer_job_card_modal .job-modal-actions .danger-button {
  border-radius: 10px !important;
}


/* 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;
    }
}


/* Authenticated first-login legal acceptance */
.legal-acceptance-shell{width:min(1120px,calc(100% - 32px))}
.legal-acceptance-card{padding:24px}
.legal-acceptance-header{width:100%;max-width:none;margin:18px 0 20px}
.legal-acceptance-header .lead{max-width:none}
.legal-acceptance-document{max-height:56vh;overflow:auto;border-top:1px solid var(--iaa-border,#d9e2ea);border-bottom:1px solid var(--iaa-border,#d9e2ea);padding:8px 16px 18px;background:#fff}
.legal-acceptance-document .legal-document{max-width:820px;margin:0 auto}
.legal-acceptance-form{max-width:820px;margin:18px auto 0}
.legal-acceptance-consent{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;text-align:left}
.legal-acceptance-consent input[type="checkbox"]{flex:0 0 auto;width:16px;height:16px;margin:2px 0 0;align-self:flex-start}
.legal-acceptance-form button{width:auto;min-width:180px;min-height:42px;padding:10px 18px;margin-top:0;box-shadow:none}
@media(max-width:720px){.legal-acceptance-card{padding:18px 14px}.legal-acceptance-document{padding-left:6px;padding-right:6px}.legal-acceptance-shell{width:min(100% - 16px,1120px)}}

/* v1.3.0.13: Keep legal-page frame width in step with public Verify at
   responsive widths; the legal article's own inner spacing is unchanged. */
@media (max-width: 820px) {
    .legal-page-shell {
        width: min(100% - 20px, 640px);
    }
}


/* Balanced scoped content surfaces. */
/* v1.3.0.23: balanced content presentation on brightly tinted scoped surfaces.
   Shared layout and original scheme branding colours are preserved. */
body.scope-branded-admin.scope-balanced-ui,
body.scope-branded-entry.scope-balanced-ui,
body.installer-page.scope-balanced-ui{
  --ink:var(--scope-text,#16354c);
  --muted:var(--scope-muted,#4c6070);
  --panel:var(--scope-surface,#fff);
  --line:#cedfe8;
  --scope-ui-ink:var(--scope-text,#16354c);
  --scope-ui-muted:var(--scope-muted,#4c6070);
  --scope-ui-line:var(--scope-border,#cedfe8);
  --scope-ui-action:color-mix(in srgb,var(--scope-action) 32%,#123754);
  --scope-ui-soft:var(--scope-workspace,var(--scope-background,#f2f7fa));
  --scope-ui-panel:var(--scope-surface,#ffffff);
  background:var(--scope-ui-soft)!important;
  color:var(--scope-ui-ink)!important;
}
body.scope-balanced-ui .hero-card{background:var(--scope-ui-soft)!important;color:var(--scope-ui-ink)!important;border-color:var(--scope-ui-line)!important}
body.scope-balanced-ui .admin-hero-bar{background:color-mix(in srgb,var(--scope-ui-panel) 70%,var(--scope-ui-soft))!important;color:var(--scope-ui-ink)!important;border-color:var(--scope-ui-line)!important;box-shadow:none!important}
body.scope-balanced-ui .admin-hero-bar *{color:inherit!important}
body.scope-balanced-ui .brand-row{background:var(--scope-header)!important;color:var(--scope-header-text)!important}
body.scope-balanced-ui #admin-app .admin-panel,
body.scope-balanced-ui #admin-app .company-detail-section,
body.scope-balanced-ui #admin-app .user-detail-section,
body.scope-balanced-ui #admin-app .admin-detail-card,
body.scope-balanced-ui #installer-app .admin-panel,
body.scope-balanced-ui .checker-panel,
body.scope-balanced-ui .detail-card,
body.scope-balanced-ui .email-config-panel{background:var(--scope-ui-panel)!important;color:var(--scope-ui-ink)!important;border-color:var(--scope-ui-line)!important}
body.scope-balanced-ui #admin-app h1,
body.scope-balanced-ui #admin-app h2,
body.scope-balanced-ui #admin-app h3,
body.scope-balanced-ui #installer-app h2,
body.scope-balanced-ui .company-detail-section h3{color:var(--scope-ui-ink)!important}
body.scope-balanced-ui #admin-app .form-help,
body.scope-balanced-ui #admin-app .muted-text,
body.scope-balanced-ui #admin-app .table-subline,
body.scope-balanced-ui #installer-app .form-help{color:var(--scope-ui-muted)!important}
body.scope-balanced-ui #admin-app .admin-table-wrap,
body.scope-balanced-ui #admin-app .company-review-table-wrap,
body.scope-balanced-ui #installer-app .admin-table-wrap{background:var(--scope-ui-panel)!important;border-color:var(--scope-ui-line)!important}
body.scope-balanced-ui #admin-app .admin-table,
body.scope-balanced-ui #installer-app .admin-table,
body.scope-balanced-ui #admin-app .company-detail-table{background:var(--scope-ui-panel)!important;color:var(--scope-ui-ink)!important}
body.scope-balanced-ui #admin-app .admin-table th,
body.scope-balanced-ui #installer-app .admin-table th,
body.scope-balanced-ui #admin-app .company-review-table th{background:color-mix(in srgb,var(--scope-ui-panel) 85%,var(--scope-ui-soft))!important;color:var(--scope-ui-ink)!important}
body.scope-balanced-ui #admin-app .admin-table td,
body.scope-balanced-ui #installer-app .admin-table td,
body.scope-balanced-ui #admin-app .company-review-table td{background:var(--scope-ui-panel)!important;color:var(--scope-ui-ink)!important;border-color:var(--scope-ui-line)!important}
body.scope-balanced-ui #admin-app .admin-table tbody tr:hover td,
body.scope-balanced-ui #installer-app .admin-table tbody tr:hover td{background:#f5f9fb!important}
body.scope-balanced-ui #admin-app input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body.scope-balanced-ui #admin-app select,
body.scope-balanced-ui #admin-app textarea,
body.scope-balanced-ui #installer-app input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
body.scope-balanced-ui #installer-app select,
body.scope-balanced-ui #installer-app textarea{background:var(--scope-ui-panel)!important;color:var(--scope-ui-ink)!important;border-color:#b9cbd8!important}
body.scope-balanced-ui #admin-app input:focus-visible,
body.scope-balanced-ui #admin-app button:focus-visible,
body.scope-balanced-ui #installer-app input:focus-visible,
body.scope-balanced-ui #installer-app button:focus-visible{outline:3px solid color-mix(in srgb,var(--scope-header) 42%,transparent)!important;outline-offset:2px}
body.scope-balanced-ui #admin-app .primary-button,
body.scope-balanced-ui #installer-app .primary-button{background:var(--scope-action)!important;color:var(--scope-action-text,#fff)!important;border-color:var(--scope-ui-action)!important}
/* Scheme brand previews and email HTML iframes keep their independent styles. */
/* Generic scoped admin actions previously inherited bright cyan with white
   labels. Use a deeper tone for button text contrast without altering the
   saved action colour (or the separate email template renderer). */
body.scope-branded-admin.scope-balanced-ui #admin-app 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):not(.table-sort-button):not(.email-template-tab),
body.scope-branded-admin.scope-balanced-ui #admin-app .primary-button{
    background:var(--scope-action)!important;
    border-color:var(--scope-action)!important;
    color:var(--scope-action-text,#fff)!important;
}
body.scope-branded-admin.scope-balanced-ui #admin-app .secondary-button{
    background:var(--scope-ui-panel)!important;
    border:1px solid var(--scope-ui-line)!important;
    color:var(--scope-ui-ink)!important;
}

/* v1.3.0.23 - neutral authenticated workspace on pale scheme palettes.
   Keep the structure, dimensions, identity bar and scheme/email branding intact.
   Authenticated IAA admins viewing a scope site are included via page.php. */
body.admin-page.scope-balanced-ui,
body.installer-page.scope-balanced-ui{
  --scope-ui-soft:var(--scope-workspace,var(--scope-background,#f2f7fa));
  --scope-ui-panel:var(--scope-surface,#ffffff);
  --scope-ui-panel-subtle:color-mix(in srgb,var(--scope-ui-panel) 75%,var(--scope-ui-soft));
  --scope-ui-line:var(--scope-border,#d3e0e8);
  --scope-ui-ink:var(--scope-text,#16354c);
  --scope-ui-muted:var(--scope-muted,#4b6274);
  background:var(--scope-ui-soft)!important;
}
/* The broad cyan content canvas was the main contrast problem. The existing
   hero-card is the workspace itself, not a new wrapper or a new grid. */
body.admin-page.scope-balanced-ui .admin-shell>.installer-admin-card,
body.installer-page.scope-balanced-ui .admin-shell>.installer-admin-card{
  background:var(--scope-ui-panel)!important;
  color:var(--scope-ui-ink)!important;
  border-color:var(--scope-ui-line)!important;
}
body.admin-page.scope-balanced-ui #admin-app,
body.installer-page.scope-balanced-ui #installer-app{
  background:var(--scope-ui-panel)!important;
  color:var(--scope-ui-ink)!important;
}
/* The site header stays the actual scoped brand colour. */
body.admin-page.scope-balanced-ui .installer-admin-card>.brand-row,
body.installer-page.scope-balanced-ui .installer-admin-card>.brand-row{
  background:var(--scope-header,var(--iaa-blue))!important;
  color:var(--scope-header-text,#fff)!important;
}
/* A restrained, distinct administration heading, like pre-login Verify. */
body.admin-page.scope-balanced-ui #admin-app .admin-hero-bar,
body.installer-page.scope-balanced-ui #installer-app .compact-admin-hero{
  background:var(--scope-ui-panel-subtle)!important;
  color:var(--scope-ui-ink)!important;
  border-color:var(--scope-ui-line)!important;
  border-left-color:var(--scope-action)!important;
  box-shadow:none!important;
}
/* Navigation is a white strip, not another large scheme-coloured surface.
   The selected tab keeps the existing underline; no tab sizes are altered. */
body.admin-page.scope-balanced-ui #admin-app .admin-tabs,
body.installer-page.scope-balanced-ui #installer-app .workspace-tabs,
body.admin-page.scope-balanced-ui #admin-app .company-detail-tabs{
  background:var(--scope-ui-panel)!important;
  color:var(--scope-ui-ink)!important;
  border-color:var(--scope-ui-line)!important;
}
body.admin-page.scope-balanced-ui #admin-app .admin-tab,
body.installer-page.scope-balanced-ui #installer-app .workspace-tab,
body.admin-page.scope-balanced-ui #admin-app .company-detail-tab{
  background:transparent!important;
  color:var(--scope-ui-muted)!important;
}
body.admin-page.scope-balanced-ui #admin-app .admin-tab.active,
body.installer-page.scope-balanced-ui #installer-app .workspace-tab.active,
body.admin-page.scope-balanced-ui #admin-app .company-detail-tab.active{
  background:transparent!important;
  color:var(--scope-ui-ink)!important;
  border-bottom-color:var(--scope-action)!important;
}
body.admin-page.scope-balanced-ui #admin-app .admin-tab:hover,
body.installer-page.scope-balanced-ui #installer-app .workspace-tab:hover,
body.admin-page.scope-balanced-ui #admin-app .company-detail-tab:hover{
  color:var(--scope-ui-ink)!important;
}
/* Use the pre-login neutral hierarchy inside existing sections and tables. */
body.admin-page.scope-balanced-ui #admin-app .admin-panel,
body.admin-page.scope-balanced-ui #admin-app .company-page,
body.admin-page.scope-balanced-ui #admin-app .user-page,
body.admin-page.scope-balanced-ui #admin-app .company-detail-body,
body.admin-page.scope-balanced-ui #admin-app .company-detail-section,
body.installer-page.scope-balanced-ui #installer-app .admin-panel{
  background:var(--scope-ui-panel)!important;
  color:var(--scope-ui-ink)!important;
}
body.admin-page.scope-balanced-ui #admin-app .admin-filter-grid,
body.admin-page.scope-balanced-ui #admin-app .company-review-filter-toolbar,
body.admin-page.scope-balanced-ui #admin-app .user-summary-block,
body.installer-page.scope-balanced-ui #installer-app .admin-filter-grid{
  background:var(--scope-ui-panel-subtle)!important;
  color:var(--scope-ui-ink)!important;
  border-color:var(--scope-ui-line)!important;
}
body.admin-page.scope-balanced-ui #admin-app .company-page-header,
body.admin-page.scope-balanced-ui #admin-app .company-detail-section,
body.admin-page.scope-balanced-ui #admin-app .user-detail-section{
  border-color:var(--scope-ui-line)!important;
}
body.admin-page.scope-balanced-ui #admin-app .admin-table-wrap,
body.admin-page.scope-balanced-ui #admin-app .company-review-table-wrap,
body.installer-page.scope-balanced-ui #installer-app .admin-table-wrap{
  background:var(--scope-ui-panel)!important;
  border-color:var(--scope-ui-line)!important;
}
body.admin-page.scope-balanced-ui #admin-app .admin-table thead th,
body.admin-page.scope-balanced-ui #admin-app .company-review-table thead th,
body.installer-page.scope-balanced-ui #installer-app .admin-table thead th{
  background:#eef3f7!important;
  color:var(--scope-ui-ink)!important;
}
body.admin-page.scope-balanced-ui #admin-app .company-detail-table,
body.admin-page.scope-balanced-ui #admin-app .company-detail-table td,
body.admin-page.scope-balanced-ui #admin-app .company-detail-table th{
  background:var(--scope-ui-panel)!important;
  color:var(--scope-ui-ink)!important;
}
/* Scope branding modals / preview swatches and the email iframe must still
   reflect the REAL saved scheme colours, not these workspace neutrals. */


/* Exact MCS/Langley presentation accents. */
/* Configurable scope logo treatment; no scheme-name selectors. */
body.scope-logo-backplate-light .brand-row .scope-brand-nav-logo,
body.scope-logo-backplate-light .brand-row .scope-brand-logo {
  background:#fff; border-radius:4px; box-shadow:0 0 0 4px #fff;
}
body.scope-balanced-ui .scope-brand-preview-id {background:var(--scope-preview-id-card,var(--scope-surface,#fff));}
