/* ============================================================
   TESC STYLE.CSS
   GOV / DATABASE STYLE
   ============================================================ */

:root {
    --tesc-blue: #1d70b8;
    --tesc-blue-dark: #003078;
    --tesc-yellow: #ffdd00;
    --tesc-green: #00703c;
    --tesc-red: #d4351c;

    --text-dark: #0b0c0c;
    --text-mid: #505a5f;
    --text-light: #ffffff;

    --bg-light: #f3f2f1;
    --bg-white: #ffffff;
    --border-light: #b1b4b6;

    --container: 1100px;
}

* {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    font-family: Arial, Helvetica, sans-serif;
    color: var(--text-dark);
    background: #ffffff;
    font-size: 19px;
    line-height: 1.45;
    padding-top: 127px; /* fixed GOV bar + desktop header */
}

body:has(.nav-menu[open]) {
    overflow: hidden;
}

a {
    color: var(--tesc-blue);
    text-decoration: underline;
}

img {
    max-width: 100%;
    height: auto;
}

.container {
    width: min(100% - 40px, var(--container));
    margin: 0 auto;
}

/* HEADER */

.site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 5000;
}

.gov-topbar {
    background: var(--tesc-blue);
    color: #ffffff;
    border-bottom: 0;
}

.gov-topbar-inner {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding: 12px 0;
    font-size: 15px;
    font-weight: 700;
}

.main-header {
    position: relative;
    background: #ffffff;
    border-bottom: 1px solid var(--border-light);
}

.header-inner {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 82px;
    gap: 24px;
}

.site-logo {
    display: flex;
    align-items: center;
    text-decoration: none;
}

.header-logo {
    display: block;
    width: 300px;
    max-width: 100%;
    height: auto;
}

.nav-menu {
    position: relative;
    margin-left: auto;
}

.nav-menu > summary {
    list-style: none;
}

.nav-menu > summary::-webkit-details-marker {
    display: none;
}

.nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 132px;
    min-height: 50px;
    padding: 10px 18px;
    border: 2px solid var(--text-dark);
    background: #ffffff;
    color: var(--text-dark);
    cursor: pointer;
    font-size: 17px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.nav-toggle:hover,
.nav-menu[open] .nav-toggle {
    background: var(--bg-light);
}

.nav-toggle:focus-visible {
    outline: 3px solid var(--tesc-yellow);
    outline-offset: 2px;
}

.nav-toggle-icon {
    display: flex;
    width: 26px;
    flex-direction: column;
    gap: 4px;
}

.nav-toggle-icon span {
    display: block;
    width: 26px;
    height: 3px;
    background: currentColor;
    transition: transform 0.2s ease, opacity 0.2s ease;
}

.nav-menu[open] .nav-toggle-icon span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
}

.nav-menu[open] .nav-toggle-icon span:nth-child(2) {
    opacity: 0;
}

.nav-menu[open] .nav-toggle-icon span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
}

.site-nav {
    position: fixed;
    top: 139px; /* fixed header height + 12px gap */
    right: max(20px, calc((100vw - var(--container)) / 2));
    z-index: 5100;
    display: grid;
    width: min(420px, calc(100vw - 40px));
    max-height: calc(100dvh - 151px);
    overflow-y: auto;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    background: #ffffff;
    border: 2px solid var(--text-dark);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.site-nav-heading {
    padding: 14px 18px 10px;
    background: var(--tesc-blue-dark);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

.site-nav-heading-secondary {
    margin-top: 4px;
}

.site-nav a {
    display: block;
    padding: 13px 18px;
    border-bottom: 1px solid var(--border-light);
    color: var(--text-dark);
    font-size: 17px;
    font-weight: 700;
    text-decoration: none;
}

.site-nav a:last-child {
    border-bottom: 0;
}

.site-nav a:hover,
.site-nav a.active {
    background: var(--bg-light);
    color: var(--tesc-blue-dark);
    box-shadow: inset 5px 0 0 var(--tesc-blue);
}

/* HERO */

.hero {
    background: #ffffff;
    color: var(--text-dark);
    padding: 48px 0 42px;
    border-bottom: 1px solid var(--border-light);
}

.hero-content {
    max-width: 820px;
}

.hero-kicker {
    display: inline-block;
    background: var(--tesc-blue);
    color: #ffffff;
    font-size: 15px;
    font-weight: 700;
    text-transform: uppercase;
    padding: 3px 8px;
    margin-bottom: 18px;
}

.hero h1,
.page-header h1 {
    margin: 0 0 24px;
    font-size: clamp(2.2rem, 5vw, 3.4rem);
    line-height: 1.05;
    font-weight: 700;
}

.hero p {
    font-size: 24px;
    max-width: 760px;
    margin: 0 0 32px;
}

.hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

/* SECTIONS */

.section {
    padding: 54px 0;
}

.section-white {
    background: #ffffff;
}

.section-blue {
    background: var(--tesc-blue);
    color: #ffffff;
}

.section-header {
    max-width: 780px;
    margin-bottom: 30px;
}

.section-header.center {
    text-align: left;
    margin-left: 0;
    margin-right: auto;
}

.section-header h2 {
    margin: 0 0 16px;
    font-size: clamp(1.8rem, 4vw, 2.5rem);
    line-height: 1.12;
}

.section-header p {
    color: var(--text-mid);
    margin: 0;
    font-size: 21px;
}

.section-blue .section-header p,
.section-blue p {
    color: #ffffff;
}

/* BUTTONS */

.btn2,
button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: var(--tesc-red);
    color: #ffffff;
    padding: 13px 22px;
    font-size: 19px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 3px 0 #002d18;
    border-radius: 0;
}

.btn2:hover,
button:hover {
    text-decoration: none;
}

.btn2:active,
button:active {
    transform: translateY(2px);
    box-shadow: 0 1px 0 #002d18;
}

.btn,
button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: var(--tesc-green);
    color: #ffffff;
    padding: 13px 22px;
    font-size: 19px;
    font-weight: 700;
    cursor: pointer;
    text-decoration: none;
    box-shadow: 0 3px 0 #002d18;
    border-radius: 0;
}

.btn:hover,
button:hover {
    text-decoration: none;
}

.btn:active,
button:active {
    transform: translateY(2px);
    box-shadow: 0 1px 0 #002d18;
}

.btn-primary {
    background: var(--tesc-green);
    color: #ffffff;
}

.btn-secondary,
.btn-blue {
    background: var(--tesc-blue);
    color: #ffffff;
    box-shadow: 0 3px 0 var(--tesc-blue-dark);
}

.btn-outline {
    background: #ffffff;
    color: var(--tesc-blue);
    border: 2px solid var(--tesc-blue);
    box-shadow: none;
}

/* GRIDS / CARDS */

.grid {
    display: grid;
    gap: 30px;
}

.grid-2 {
    grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
}

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

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

.card,
.info-card {
    background: #ffffff;
    border: 1px solid var(--border-light);
    padding: 24px;
    box-shadow: none;
    border-radius: 0;
    color: var(--text-dark);
}

.info-card {
    display: block;
    text-decoration: none;
}

.info-card:hover {
    outline: 3px solid var(--tesc-yellow);
    text-decoration: none;
}

.info-card h3,
.card h2,
.card h3 {
    margin: 0 0 12px;
    font-size: 24px;
    line-height: 1.2;
}

.info-card p,
.card p {
    color: var(--text-mid);
    margin-bottom: 0;
}

/* Keep image cards, but make them less glossy */

.info-card.has-bg {
    min-height: 230px;
    color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    background-image:
        linear-gradient(0deg, rgba(0, 48, 120, 0.82), rgba(0, 48, 120, 0.20)),
        var(--card-bg);
    background-size: cover;
    background-position: center;
    border: 0;
}

.card-link{
  display:block;
  text-decoration:none;
  color:inherit;
}

.card-link:hover{
  border-color:var(--gov-blue);
  box-shadow:0 4px 18px rgba(0,0,0,.08);
}

.card-link h3{
  color:var(--gov-blue-dark);
}

.card-link:hover h3{
  text-decoration:underline;
}


.info-card.has-bg h3 {
    color: #ffffff;
}

.info-card.has-bg p {
    color: rgba(255,255,255,0.95);
}

/* Card background paths */

.bg-eicr-register { --card-bg: url('/assets/img/backgrounds/eicr-register.webp'); }
.bg-check-compliance { --card-bg: url('/assets/img/backgrounds/check-compliance.webp'); }
.bg-find-provider { --card-bg: url('/assets/img/backgrounds/find-provider.webp'); }
.bg-contractor-signup { --card-bg: url('/assets/img/backgrounds/contractor-signup.webp'); }
.bg-landlord-guidance { --card-bg: url('/assets/img/backgrounds/landlord-guidance.webp'); }
.bg-letting-agent { --card-bg: url('/assets/img/backgrounds/letting-agent.webp'); }
.bg-failed-eicr { --card-bg: url('/assets/img/backgrounds/failed-eicr.webp'); }
.bg-certificate-check { --card-bg: url('/assets/img/backgrounds/certificate-check.webp'); }
.bg-consumer-unit { --card-bg: url('/assets/img/backgrounds/consumer-unit.webp'); }
.bg-codes { --card-bg: url('/assets/img/backgrounds/c1-c2-c3.webp'); }
.bg-database { --card-bg: url('/assets/img/backgrounds/database.webp'); }
.bg-enforcement { --card-bg: url('/assets/img/backgrounds/enforcement.webp'); }

/* NOTICES / STATS */

.notice {
    background: #f8f8f8;
    border-left: 10px solid var(--tesc-blue);
    padding: 18px 22px;
    box-shadow: none;
    border-radius: 0;
    color: var(--text-dark);
}

.notice2 {
    background: #f8f8f8;
    border-left: 10px solid var(--tesc-red);
    padding: 18px 22px;
    box-shadow: none;
    border-radius: 0;
    color: var(--text-dark);
}

.notice-advisory{
    background:#fff8e8;
    border-left:5px solid #f59e0b;
    color:#5b3b00;
    margin: 24px 0;
}

.notice-advisory strong{
    color:#9a6700;
}

.notice-blue {
    border-left-color: var(--tesc-blue);
}

.notice-warning {
    border-left-color: var(--tesc-red);
}

.section-blue .notice {
    background: #ffffff;
    color: var(--text-dark);
}

.stats-strip {
    background: var(--bg-light);
    border-bottom: 1px solid var(--border-light);
    color: var(--text-dark);
    padding: 24px 0;
}

.stats-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
}

.stat {
    border-left: 5px solid var(--tesc-blue);
    padding-left: 14px;
}

.stat strong {
    display: block;
    font-size: 28px;
    color: var(--text-dark);
}

.stat span {
    font-size: 16px;
    color: var(--text-mid);
}

.result-status {
    display: inline-block;
    padding: 8px 12px;
    font-weight: 700;
    margin-bottom: 18px;
    color: #ffffff;
}

.result-status.pass {
    background: var(--tesc-green);
}

.result-status.fail {
    background: var(--tesc-red);
}

.result-list {
    margin: 20px 0 28px;
    border-top: 1px solid var(--border-light);
}

.result-list div {
    display: grid;
    grid-template-columns: 190px 1fr;
    border-bottom: 1px solid var(--border-light);
    padding: 12px 0;
}

.result-list dt {
    font-weight: 700;
}

.result-list dd {
    margin: 0;
}

.lead {
    font-size: 21px;
    max-width: 780px;
}

@media (max-width: 800px) {
    .result-list div {
        grid-template-columns: 1fr;
        gap: 4px;
    }
}

/* FORMS */

.tesc-form,
.form-card {
    background: #ffffff;
    border: 1px solid var(--border-light);
    padding: 30px;
    box-shadow: none;
    border-radius: 0;
}

.email-link{
    overflow-wrap:anywhere;
    word-break:break-word;
    display:block;
    font-size:0.95rem;
}

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

.form-field {
    margin-bottom: 20px;
}

.form-field label,
label {
    display: block;
    font-weight: 700;
    margin-bottom: 8px;
}

.form-field input,
.form-field select,
.form-field textarea,
input,
select,
textarea {
    width: 100%;
    border: 2px solid var(--text-dark);
    border-radius: 0;
    padding: 12px;
    font-size: 20px;
    font-family: inherit;
    background: #ffffff;
    color: var(--text-dark);
}

.form-field input:focus,
.form-field select:focus,
.form-field textarea:focus,
input:focus,
select:focus,
textarea:focus {
    outline: 3px solid var(--tesc-yellow);
    outline-offset: 0;
}

.form-consent {
    font-size: 16px;
    color: var(--text-mid);
}

.form-actions {
    margin-top: 24px;
}

/* FAQ */

.faq-item {
    background: #ffffff;
    border: 1px solid var(--border-light);
    margin-bottom: 12px;
}

.faq-question {
    width: 100%;
    background: #ffffff;
    border: 0;
    box-shadow: none;
    color: var(--text-dark);
    padding: 18px;
    text-align: left;
    font-weight: 700;
    font-size: 19px;
}

.faq-answer {
    display: none;
    padding: 0 18px 18px;
    color: var(--text-mid);
}

.faq-item.open .faq-answer {
    display: block;
}

/* BREADCRUMBS */

.breadcrumb-wrapper {
    background: #ffffff;
    border-bottom: 1px solid var(--border-light);
}

.breadcrumbs {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 12px 0;
    margin: 0;
    font-size: 16px;
}

.breadcrumbs li::after {
    content: "›";
    margin-left: 8px;
    color: var(--text-mid);
}

.breadcrumbs li:last-child::after {
    display: none;
}

/* FOOTER */

.site-footer {
    background: #f8f8f8;
    color: var(--text-dark);
    border-top: 1px solid var(--border-light);
}

.footer-grid {
    display: grid;
    grid-template-columns: 2fr 1fr 1fr 1.2fr;
    gap: 32px;
    padding: 42px 0;
}

.footer-col h3 {
    margin-top: 0;
}

.footer-col p,
.footer-col li {
    color: var(--text-mid);
}

.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-col li {
    margin-bottom: 8px;
}

.footer-bottom {
    border-top: 1px solid var(--border-light);
    padding: 18px 0;
    font-size: 15px;
}

.footer-bottom .container {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    flex-wrap: wrap;
}

/* ============================================================
   FAIL / PASS EICR RECORD LAYOUT FIXES
   ============================================================ */

.tesc-form,
.notice,
.card {
    min-width: 0;
}

.result-list {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.result-list div {
    min-width: 0;
}

.result-list dd,
.result-list dt {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.tesc-form img {
    width: 100%;
    max-width: 100%;
    height: auto;
    display: block;
}

.tesc-case-deadline {
    display: block;
    margin-top: 18px;
    padding: 16px 18px;
    background: #fff4f2;
    border: 2px solid #cf3326;
    border-left-width: 6px;
    color: #8f1f16;
    font-size: 18px;
    line-height: 1.45;
    font-weight: 600;
}

.tesc-case-deadline strong {
    font-weight: 800;
}

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

/* ANIMATION */

.reveal {
    opacity: 1;
    transform: none;
}

/* RESPONSIVE */

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

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

@media (max-width: 800px) {
    body {
        font-size: 18px;
        padding-top: 106px; /* mobile GOV bar + header */
    }

    .gov-topbar-inner {
        display: block;
        padding: 9px 0;
        font-size: 13px;
        line-height: 1.3;
    }

    .gov-topbar-inner span:last-child {
        display: none;
    }

    .header-inner {
        min-height: 72px;
    }

    .header-logo {
        width: 220px;
    }

    .nav-toggle {
        min-width: 112px;
        min-height: 46px;
        padding: 8px 13px;
        font-size: 15px;
    }

    .site-nav {
        position: fixed;
        top: 106px;
        right: 0;
        bottom: 0;
        left: 0;
        width: 100%;
        max-height: calc(100dvh - 106px);
        border-right: 0;
        border-bottom: 0;
        border-left: 0;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
    }

    .hero {
        padding: 38px 0;
    }

    .hero h1,
    .page-header h1 {
        font-size: 38px;
    }

    .hero p {
        font-size: 21px;
    }

    .grid-2,
    .grid-3,
    .grid-4,
    .form-grid,
    .stats-grid,
    .footer-grid {
        grid-template-columns: 1fr;
    }

    .hero-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .btn,
    button {
        width: 100%;
    }

    .section {
        padding: 42px 0;
    }

    .tesc-form,
    .form-card,
    .card,
    .info-card,
    .notice {
        padding: 20px;
    }
}

@media (max-width: 420px) {
    .container {
        width: min(100% - 24px, var(--container));
    }

    .header-inner {
        min-height: 66px;
    }

    .header-logo {
        width: 178px;
    }

    .nav-toggle {
        min-width: 96px;
        gap: 8px;
        padding: 7px 10px;
    }

    .nav-toggle-icon,
    .nav-toggle-icon span {
        width: 22px;
    }

    body {
        padding-top: 99px;
    }

    .site-nav {
        top: 99px;
        max-height: calc(100dvh - 99px);
    }
}

@media (max-width: 800px) {

    .site-footer {
        text-align: left;
    }

    .footer-grid {
        display: grid;
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 34px 0;
    }

    .footer-col {
        width: 100%;
    }

    .footer-col ul {
        margin: 0;
        padding: 0;
    }

    .footer-col a,
    .footer-bottom a {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .footer-bottom .container {
        display: block;
    }

    .footer-bottom p {
        margin: 0 0 12px;
    }

    .footer-bottom p:last-child {
        margin-bottom: 0;
    }
}

/* ============================================================
   Compatibility helpers for converted TESC legacy pages
   ============================================================ */
.wrap{width:min(100% - 40px, var(--container));margin:0 auto;}
.gov-tag{display:inline-block;background:var(--tesc-blue);color:#fff;font-size:15px;font-weight:700;text-transform:uppercase;padding:3px 8px;margin-bottom:18px;}
.buttons{display:flex;flex-wrap:wrap;gap:14px;margin-top:20px;}
.btn.secondary,.btn-secondary{background:var(--tesc-blue);box-shadow:0 3px 0 var(--tesc-blue-dark);color:#fff;}
.btn.danger,.btn-danger{background:var(--tesc-red);box-shadow:0 3px 0 #8a1f10;color:#fff;}
.search-panel{background:#fff;border:3px solid var(--text-dark);padding:28px;max-width:860px;margin-top:28px;}
.search-option{margin-top:18px;}.search-divider{font-weight:700;font-size:18px;margin:22px 0 8px;color:var(--text-mid);}
.form-row{display:flex;gap:10px;width:100%;align-items:stretch}.form-row input{flex:1}.form-row button{white-space:nowrap}.split-row input:first-child{max-width:210px}.split-row input:nth-child(2){max-width:280px}
.clear-btn{display:inline-flex;align-items:center;justify-content:center;background:#6f777b;color:#fff;text-decoration:none;padding:13px 18px;font-size:18px;font-weight:700;border:0;}
.clear-btn:hover{background:#505a5f;color:#fff;text-decoration:none}.hint,.help{margin-top:12px;color:var(--text-mid);font-size:16px}.lead{font-size:21px;max-width:780px;color:var(--text-mid)}
.alert{border-left:8px solid var(--tesc-blue);background:#f3f2f1;padding:18px 22px;margin:20px 0;}.alert.error{border-left-color:var(--tesc-red);background:#fff4f4}.alert.success{border-left-color:var(--tesc-green);background:#f3fff7}
.result-box{background:#fff;border:3px solid var(--text-dark);padding:26px;max-width:900px;margin-top:24px}.result-status{display:inline-block;padding:8px 12px;font-weight:700;margin-bottom:18px;color:#fff}.result-status.pass{background:var(--tesc-green)}.result-status.fail{background:var(--tesc-red)}
.result-list{margin:18px 0 24px;border-top:1px solid var(--border-light)}.result-list div{display:grid;grid-template-columns:210px 1fr;border-bottom:1px solid var(--border-light);padding:12px 0}.result-list dt{font-weight:700}.result-list dd{margin:0}.status-pill{display:inline-block;padding:6px 10px;font-weight:700;color:#fff;background:var(--tesc-blue)}.status-pill.approved{background:var(--tesc-green)}.status-pill.pending{background:#f47738;color:#0b0c0c}.status-pill.suspended{background:var(--tesc-red)}
.grid2,.grid-2-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.grid3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.checkbox-grid{display:grid;grid-template-columns:repeat(6,minmax(70px,1fr));gap:8px 14px;margin:12px 0 24px}.checkbox-grid label{font-weight:400;margin:0}.checkbox-grid input{width:auto;margin-right:6px}table{width:100%;border-collapse:collapse;background:#fff}th,td{border-bottom:1px solid var(--border-light);padding:12px;text-align:left;vertical-align:top}th{background:#f3f2f1;font-weight:700}.table-wrap{overflow-x:auto}.alt{background:#f8f8f8;border-top:1px solid var(--border-light);border-bottom:1px solid var(--border-light)}
@media(max-width:800px){.form-row{flex-direction:column}.split-row input:first-child,.split-row input:nth-child(2){max-width:none}.grid2,.grid3,.grid-2-form{grid-template-columns:1fr}.checkbox-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.result-list div{grid-template-columns:1fr;gap:4px}}

/* TESC property platform */
.property-status{display:flex;gap:20px;padding:24px;margin:0 0 32px;border:1px solid #b1b4b6;border-left:8px solid;background:#fff}
.property-status-dot{width:22px;height:22px;margin-top:8px;border-radius:50%;flex:0 0 auto}
.property-status-label{font-size:13px;font-weight:700;letter-spacing:.04em}
.property-status-green{border-left-color:#00703c}.property-status-green .property-status-dot,.property-card-status-green{background:#00703c}
.property-status-amber{border-left-color:#f47738}.property-status-amber .property-status-dot,.property-card-status-amber{background:#f47738}
.property-status-red{border-left-color:#d4351c}.property-status-red .property-status-dot,.property-card-status-red{background:#d4351c}
.access-gate{max-width:900px;margin-top:30px}.timeline{border-left:4px solid #1d70b8;margin-left:10px;padding-left:30px}.timeline-item{position:relative;margin-bottom:30px}.timeline-item:before{content:"";position:absolute;left:-39px;top:6px;width:14px;height:14px;border-radius:50%;background:#1d70b8}
.property-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.property-card{border:1px solid #b1b4b6;border-top:5px solid #1d70b8;padding:22px;background:#fff}.property-card-status{display:inline-block;padding:5px 9px;color:#fff;font-size:12px;font-weight:800}.advisory-item{border-left:5px solid #f47738;margin-top:20px}
@media(max-width:900px){.property-card-grid{grid-template-columns:1fr}}


/* ============================================================
   TESC EICR DETAIL / DASHBOARD SEARCH
   ============================================================ */

.result-status.advisory {
    background: #f47738;
    color: #0b0c0c;
}

.eicr-detail-hero {
    border-bottom-width: 6px;
}

.eicr-detail-green {
    border-bottom-color: #00703c;
}

.eicr-detail-amber {
    border-bottom-color: #f47738;
}

.eicr-detail-red {
    border-bottom-color: #d4351c;
}

.eicr-advisory-list {
    margin-top: 28px;
}

.eicr-advisory-list .notice {
    margin-top: 18px;
}

.eicr-evidence-image {
    display: block;
    margin-top: 18px;
}

.eicr-evidence-image img,
.eicr-image-grid img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto;
    border: 1px solid var(--border-light);
}

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

.property-detail-summary {
    margin: 0;
    padding: 18px;
    border-left: 8px solid;
}

.property-detail-green {
    border-left-color: #00703c;
    background: #eaf6ef;
}

.property-detail-amber {
    border-left-color: #f47738;
    background: #fff4e5;
}

.property-detail-red {
    border-left-color: #d4351c;
    background: #fbe9e7;
}

.property-search-box {
    margin-bottom: 24px;
    max-width: 720px;
}

.property-search-box input[type="search"] {
    margin-bottom: 8px;
}

.property-card[hidden] {
    display: none !important;
}

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

/* ============================================================
   TESC PORTAL / ACCOUNT UI
   ============================================================ */
.header-inner{position:relative}.portal-account-menu{margin-left:auto;margin-right:14px;position:relative;z-index:40}.portal-account-menu details{position:relative}.portal-account-button{list-style:none;display:flex;align-items:center;gap:9px;background:#fff;border:2px solid var(--tesc-blue);color:var(--tesc-blue);font-weight:800;padding:10px 14px;cursor:pointer}.portal-account-button::-webkit-details-marker{display:none}.portal-account-button:hover{background:#f3f8fc}.portal-account-icon{display:inline-grid;place-items:center;width:23px;height:23px;border-radius:50%;background:var(--tesc-blue);color:#fff;font-size:8px}.portal-account-dropdown{position:absolute;right:0;top:calc(100% + 8px);width:230px;background:#fff;border:1px solid #b1b4b6;border-top:4px solid var(--tesc-blue);box-shadow:0 8px 24px rgba(0,0,0,.14);padding:8px}.portal-account-dropdown a{display:block;padding:11px 12px;text-decoration:none;font-weight:700;color:var(--text-dark)}.portal-account-dropdown a:hover{background:#f3f2f1;color:var(--tesc-blue)}
.portal-hero{background:linear-gradient(135deg,#eef6fc 0,#fff 72%);border-bottom:1px solid #d8e2ea;padding:46px 0}.portal-hero.compact{padding:34px 0}.portal-hero h1{margin:7px 0 10px;font-size:clamp(34px,5vw,54px)}.portal-hero p{max-width:760px;color:var(--text-mid);font-size:20px}.portal-hero-inner{display:flex;justify-content:space-between;gap:40px;align-items:center}.portal-status-card{min-width:270px;background:#fff;border:1px solid #b1b4b6;border-top:5px solid var(--tesc-blue);padding:18px 20px;display:grid;gap:8px}.portal-status-card strong{font-size:20px}.portal-status-card span:last-child{font-size:15px;color:var(--text-mid);overflow-wrap:anywhere}
.dashboard-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.dashboard-action{border:1px solid #b1b4b6;border-top:4px solid var(--tesc-blue);padding:20px;text-decoration:none;color:var(--text-dark);background:#fff;display:grid;grid-template-columns:auto 1fr;column-gap:12px;align-items:center}.dashboard-action>span{grid-row:1/3;font-size:28px;color:var(--tesc-blue)}.dashboard-action strong{font-size:19px}.dashboard-action small{color:var(--text-mid);margin-top:3px}.dashboard-action:hover{box-shadow:0 4px 14px rgba(0,0,0,.08);transform:translateY(-1px)}.dashboard-action-primary{background:var(--tesc-blue);color:#fff;border-color:var(--tesc-blue-dark)}.dashboard-action-primary>span,.dashboard-action-primary small{color:#fff}.dashboard-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border:1px solid #d5d7d9;margin-bottom:38px;background:#f8f8f8}.dashboard-stats div{padding:18px 20px;border-right:1px solid #d5d7d9}.dashboard-stats div:last-child{border-right:0}.dashboard-stats span{display:block;color:var(--text-mid);font-size:15px;font-weight:700}.dashboard-stats strong{display:block;font-size:32px;margin-top:3px}.dashboard-section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:15px}.dashboard-section-heading h2{margin-bottom:4px}.dashboard-section-heading p{margin:0;color:var(--text-mid)}.dashboard-search{padding:20px;margin-bottom:22px}.dashboard-search input{max-width:560px}.dashboard-property-card{display:flex;flex-direction:column;min-height:235px;box-shadow:0 2px 8px rgba(0,0,0,.04)}.property-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.property-card-postcode{color:var(--text-mid);font-weight:700;font-size:14px}.dashboard-property-card h3{margin:18px 0 8px}.property-card-state{margin:0 0 10px}.property-card-meta{font-size:15px;color:var(--text-mid)}.property-card-links{display:flex;gap:16px;flex-wrap:wrap;margin-top:auto;padding-top:18px;border-top:1px solid #e5e5e5;font-weight:700}.dashboard-empty{grid-column:1/-1;border:2px dashed #b1b4b6;padding:32px;text-align:center}.dashboard-documents{margin-top:34px;border:1px solid #b1b4b6;background:#fff}.dashboard-documents summary{cursor:pointer;padding:18px 20px;font-weight:800;font-size:19px;display:flex;justify-content:space-between}.dashboard-documents>p,.dashboard-documents .table-wrap{margin:0 20px 20px}
.narrow-portal{max-width:1000px}.eicr-filing-form{padding:0;overflow:hidden}.form-section{padding:28px 30px;border-bottom:1px solid #d5d7d9}.form-section-heading{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px}.form-section-heading>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 34px;background:var(--tesc-blue);color:#fff;border-radius:50%;font-weight:800}.form-section-heading h2{margin:0 0 4px}.form-section-heading p{margin:0;color:var(--text-mid)}.record-id-builder{display:flex;align-items:stretch}.record-id-builder span{display:flex;align-items:center;padding:0 12px;background:#f3f2f1;border:2px solid var(--text-dark);border-right:0;font-size:20px;font-weight:800;white-space:nowrap}.record-id-builder input{min-width:0}.upload-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.upload-box{display:flex;flex-direction:column;gap:6px;border:2px dashed #7a7a7a;background:#fafafa;padding:20px;cursor:pointer;min-height:150px}.upload-box strong{font-size:18px}.upload-box span{color:var(--text-mid);font-size:14px}.upload-box input{margin-top:auto;border:0;padding:8px 0;font-size:15px;background:transparent}.filing-submit{padding:24px 30px;display:flex;gap:18px;align-items:center;background:#f8f8f8}.filing-submit span{color:var(--text-mid)}.account-warning{border-left:6px solid #f47738;background:#fff7ed;padding:22px;margin-bottom:24px}.account-warning p{margin:6px 0 16px}
.account-settings-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:26px;align-items:start}.account-settings-main{display:grid;gap:24px}.account-settings-main .tesc-form{margin:0}.account-full{grid-column:1/-1}.account-summary-card{border:1px solid #b1b4b6;border-top:5px solid var(--tesc-blue);padding:22px;background:#fff;position:sticky;top:20px}.account-summary-card h3{margin:18px 0 4px}.account-summary-card p{overflow-wrap:anywhere}.account-summary-card dl{border-top:1px solid #ddd;padding-top:12px}.account-summary-card dt{font-weight:700}.account-summary-card dd{margin:2px 0 12px}.registration-number-field{background:#f3f8fc;border-left:5px solid var(--tesc-blue);padding:18px;margin:5px 0 22px}.registration-number-field input{max-width:220px;letter-spacing:.15em;font-weight:800}.login-help{margin:16px 0 0}.login-shell{max-width:680px}.login-shell .tesc-form{margin:0}
@media(max-width:1000px){.dashboard-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-stats div:nth-child(2){border-right:0}.dashboard-stats div:nth-child(-n+2){border-bottom:1px solid #d5d7d9}.upload-grid{grid-template-columns:1fr}.account-settings-layout{grid-template-columns:1fr}.account-summary-card{position:static}.portal-hero-inner{align-items:flex-start}.portal-status-card{min-width:240px}}
@media(max-width:720px){.portal-account-menu{margin-left:auto;margin-right:8px}.portal-account-button span:last-child{display:none}.portal-account-button{padding:9px}.portal-account-dropdown{width:220px}.portal-hero-inner{display:block}.portal-status-card{margin-top:22px;min-width:0}.dashboard-actions,.dashboard-stats{grid-template-columns:1fr}.dashboard-stats div{border-right:0;border-bottom:1px solid #d5d7d9}.dashboard-stats div:last-child{border-bottom:0}.form-section{padding:22px 18px}.filing-submit{padding:20px 18px;align-items:flex-start;flex-direction:column}.record-id-builder span{font-size:17px;padding:0 8px}}


/* ============================================================
   TESC PORTAL POLISH - Sept 2026
   Scoped overrides for contractor dashboard / filing screens
   ============================================================ */
.portal-account-menu { flex: 0 0 auto; margin-left: auto; margin-right: 18px; }
.portal-account-menu details { margin: 0; }
.portal-account-button {
  min-height: 48px;
  border: 2px solid #1d70b8;
  border-radius: 0;
  padding: 8px 13px;
  gap: 10px;
  background: #fff;
  color: #0b0c0c;
  line-height: 1;
}
.portal-account-button::marker { content: ""; }
.portal-account-button::-webkit-details-marker { display: none; }
.portal-account-icon {
  position: relative;
  display: block;
  width: 26px;
  height: 26px;
  border: 2px solid #1d70b8;
  border-radius: 50%;
  background: #eef6fc;
}
.portal-account-icon::before {
  content: "";
  position: absolute;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #1d70b8;
  left: 50%; top: 5px; transform: translateX(-50%);
}
.portal-account-icon::after {
  content: "";
  position: absolute;
  width: 13px;
  height: 7px;
  border-radius: 9px 9px 5px 5px;
  background: #1d70b8;
  left: 50%; bottom: 4px; transform: translateX(-50%);
}
.portal-account-chevron {
  width: 8px;
  height: 8px;
  border-right: 2px solid #0b0c0c;
  border-bottom: 2px solid #0b0c0c;
  transform: rotate(45deg) translateY(-2px);
  margin-left: 2px;
}
.portal-account-menu details[open] .portal-account-chevron { transform: rotate(225deg) translate(-2px,-2px); }

.portal-hero { padding: 34px 0 36px; }
.portal-hero.compact { padding: 28px 0 30px; }
.portal-hero .hero-kicker { display: inline-block; margin-bottom: 12px; }
.portal-hero h1 { margin: 0 0 10px; line-height: 1.08; }
.portal-hero p { margin: 0; }
.portal-hero-inner { align-items: stretch; }
.portal-status-card { align-self: center; gap: 10px; }
.portal-status-card .status-pill { width: max-content; }

.section.section-white > .container { position: relative; }
.dashboard-actions { margin-top: 4px; margin-bottom: 26px; }
.dashboard-action { min-height: 112px; padding: 20px 18px; row-gap: 3px; }
.dashboard-action strong { display: block; line-height: 1.2; }
.dashboard-action small { display: block; line-height: 1.35; }
.dashboard-action-icon {
  position: relative;
  grid-row: 1 / 3;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: #eaf4fb;
  color: #1d70b8;
}
.dashboard-action-primary .dashboard-action-icon { background: rgba(255,255,255,.18); color: #fff; }
.dashboard-action-icon::before,
.dashboard-action-icon::after { content: ""; position: absolute; }
.dashboard-action-icon-add::before { width: 18px; height: 3px; background: currentColor; left: 12px; top: 20px; }
.dashboard-action-icon-add::after { width: 3px; height: 18px; background: currentColor; left: 20px; top: 12px; }
.dashboard-action-icon-file::before { width: 15px; height: 19px; border: 2px solid currentColor; left: 12px; top: 9px; }
.dashboard-action-icon-file::after { width: 10px; height: 5px; border-left: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(-45deg); left: 16px; top: 18px; }
.dashboard-action-icon-records::before { width: 19px; height: 22px; border: 2px solid currentColor; left: 10px; top: 8px; }
.dashboard-action-icon-records::after { width: 11px; height: 2px; background: currentColor; left: 15px; top: 15px; box-shadow: 0 6px 0 currentColor,0 12px 0 currentColor; }
.dashboard-action-icon-account::before { width: 9px; height: 9px; border-radius: 50%; background: currentColor; left: 17px; top: 9px; }
.dashboard-action-icon-account::after { width: 20px; height: 10px; border-radius: 12px 12px 5px 5px; background: currentColor; left: 11px; top: 23px; }
.dashboard-stats { margin-bottom: 44px; }
.dashboard-stats div { min-height: 92px; display: flex; flex-direction: column; justify-content: center; }
.dashboard-stats strong { line-height: 1; }
.dashboard-section-heading { margin-bottom: 18px; }
.dashboard-section-heading h2 { margin-top: 0; }
.dashboard-search { border-left: 5px solid #1d70b8; background: #f7f9fb; }

.narrow-portal { max-width: 1100px; }
.eicr-filing-form { margin-top: 0; border: 1px solid #b1b4b6; box-shadow: 0 2px 8px rgba(0,0,0,.04); }
.eicr-filing-form .form-section { padding: 30px 30px 32px; }
.eicr-filing-form .form-section-heading { margin-bottom: 26px; }
.eicr-filing-form .form-section-heading > span {
  width: 38px; height: 38px; flex-basis: 38px;
  font-size: 18px;
}
.eicr-filing-form .form-section-heading h2 { font-size: 29px; line-height: 1.15; }
.eicr-filing-form .form-section-heading p { font-size: 17px; line-height: 1.45; }
.eicr-filing-form .form-field { margin-bottom: 22px; }
.eicr-filing-form .form-grid { column-gap: 20px; row-gap: 0; }
.eicr-filing-form label { margin-bottom: 8px; }
.record-id-builder { width: 100%; }
.record-id-builder span {
  min-width: 116px;
  justify-content: center;
  background: #eaf4fb;
  border-color: #1d70b8;
  color: #0b0c0c;
}
.record-id-builder input { border-color: #1d70b8; }
.field-help { display: block; margin-top: 7px; color: #505a5f; line-height: 1.4; }
.upload-box { border-color: #8594a0; transition: border-color .15s ease,background .15s ease; }
.upload-box:hover { border-color: #1d70b8; background: #f4f9fc; }
.filing-submit { border-top: 0; }

@media (max-width: 900px) {
  .portal-account-menu { margin-right: 10px; }
  .portal-hero-inner { gap: 24px; }
}
@media (max-width: 720px) {
  .portal-account-button > span:nth-child(2) { display: none; }
  .portal-account-chevron { display: none; }
  .portal-hero { padding: 26px 0; }
  .dashboard-action { min-height: 96px; }
  .eicr-filing-form .form-section { padding: 22px 18px 24px; }
  .eicr-filing-form .form-section-heading h2 { font-size: 24px; }
  .record-id-builder span { min-width: 96px; }
}


/* =========================================================
   Property dashboard filters + user dashboard polish
   ========================================================= */
.property-controls{
    display:grid;
    grid-template-columns:minmax(280px,2fr) minmax(150px,.7fr) minmax(170px,.8fr);
    gap:16px;
    align-items:end;
    padding:20px;
    margin-bottom:24px;
    border:1px solid #d5d7d9;
    border-left:5px solid var(--tesc-blue);
    background:#f7f9fb;
}
.property-control label{
    display:block;
    margin-bottom:7px;
    font-weight:800;
    color:var(--text-dark);
}
.property-control input,
.property-control select{
    width:100%;
    min-height:46px;
    margin:0;
    border:2px solid #0b0c0c;
    background:#fff;
    font:inherit;
}
.property-control input{padding:9px 11px;}
.property-control select{padding:8px 38px 8px 10px;}
.property-control input:focus,
.property-control select:focus{
    outline:3px solid #ffdd00;
    outline-offset:0;
    box-shadow:inset 0 0 0 2px #0b0c0c;
}
.property-controls-result{
    grid-column:1/-1;
    min-height:20px;
    margin-top:-2px;
    color:var(--text-mid);
    font-size:14px;
    font-weight:700;
}
.property-card-location{
    margin:-3px 0 13px;
    color:var(--text-mid);
    font-size:15px;
}
.dashboard-filter-empty{
    margin-top:0;
    margin-bottom:28px;
}
.dashboard-filter-empty[hidden]{display:none!important;}
.user-portal-hero{background:linear-gradient(135deg,#eef6fc 0,#fff 72%);}
.user-dashboard-actions{
    display:grid;
    grid-template-columns:minmax(250px,1fr) minmax(0,2.2fr);
    gap:18px;
    margin:4px 0 24px;
    align-items:stretch;
}
.user-dashboard-actions .dashboard-action{
    min-height:104px;
}
.user-dashboard-intro{
    display:flex;
    flex-direction:column;
    justify-content:center;
    padding:20px 22px;
    border:1px solid #d5d7d9;
    border-left:5px solid var(--tesc-blue);
    background:#f7f9fb;
}
.user-dashboard-intro strong{
    display:block;
    margin-bottom:5px;
    font-size:19px;
}
.user-dashboard-intro span{
    color:var(--text-mid);
    line-height:1.45;
}
.user-dashboard-stats .stat-red{border-top:4px solid #d4351c;}
.user-dashboard-stats .stat-amber{border-top:4px solid #f47738;}
.user-dashboard-stats .stat-green{border-top:4px solid #00703c;}
.user-dashboard-stats .stat-red strong{color:#b10e1e;}
.user-dashboard-stats .stat-amber strong{color:#a84d00;}
.user-dashboard-stats .stat-green strong{color:#00703c;}
.user-property-card{
    min-height:255px;
}
.property-card-access{
    margin:5px 0 0;
    padding-top:12px;
    border-top:1px solid #e5e5e5;
    color:var(--text-mid);
    font-size:14px;
}
.muted-link{
    color:#6f777b;
    font-weight:700;
}

@media(max-width:900px){
    .property-controls{
        grid-template-columns:1fr 1fr;
    }
    .property-control-search{
        grid-column:1/-1;
    }
    .user-dashboard-actions{
        grid-template-columns:1fr;
    }
}

@media(max-width:620px){
    .property-controls{
        grid-template-columns:1fr;
        padding:17px;
    }
    .property-control-search{
        grid-column:auto;
    }
}

/* =========================================================
   Contractor EICR records page
   ========================================================= */
.eicr-records-hero .portal-hero-inner{
    align-items:center;
}
.portal-hero-actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    align-items:center;
    justify-content:flex-end;
}
.eicr-record-stats .stat-red{border-top:4px solid #d4351c;}
.eicr-record-stats .stat-green{border-top:4px solid #00703c;}
.eicr-record-stats .stat-red strong{color:#b10e1e;}
.eicr-record-stats .stat-green strong{color:#00703c;}
.eicr-record-stats .stat-date{
    font-size:22px;
    line-height:1.15;
}
.eicr-records-heading{
    margin-top:30px;
}
.eicr-record-table-wrap{
    overflow:hidden;
    border:1px solid #d5d7d9;
    border-top:4px solid var(--tesc-blue);
    background:#fff;
}
.eicr-record-table{
    width:100%;
    margin:0;
    border-collapse:collapse;
}
.eicr-record-table thead{
    background:#f3f5f7;
}
.eicr-record-table th{
    padding:14px 15px;
    border-bottom:2px solid #0b0c0c;
    color:#0b0c0c;
    font-size:14px;
    font-weight:800;
    text-align:left;
    white-space:nowrap;
}
.eicr-record-table td{
    padding:17px 15px;
    border-bottom:1px solid #d8d8d8;
    vertical-align:middle;
}
.eicr-record-table tbody tr:last-child td{
    border-bottom:0;
}
.eicr-record-table tbody tr:hover{
    background:#f8fafb;
}
.eicr-record-table tr[hidden]{
    display:none!important;
}
.eicr-record-reference{
    display:inline-block;
    padding:5px 7px;
    border:1px solid #b1b4b6;
    background:#f3f5f7;
    color:#0b0c0c;
    font-size:13px;
    letter-spacing:.02em;
    white-space:nowrap;
}
.eicr-record-address{
    display:block;
    margin-bottom:2px;
    color:#0b0c0c;
}
.eicr-record-postcode,
.eicr-record-subtext{
    display:block;
    margin-top:3px;
    color:#505a5f;
    font-size:13px;
}
.eicr-status-badge{
    display:inline-flex;
    align-items:center;
    min-height:28px;
    padding:4px 9px;
    border-radius:999px;
    background:#e8e8e8;
    color:#0b0c0c;
    font-size:13px;
    font-weight:800;
    white-space:nowrap;
}
.eicr-status-satisfactory{
    background:#cce2d8;
    color:#005a30;
}
.eicr-status-unsatisfactory{
    background:#f6d7d2;
    color:#8a1a0a;
}
.eicr-record-muted{
    color:#6f777b;
}
.eicr-actions-heading{
    text-align:right!important;
}
.eicr-record-actions{
    min-width:150px;
    text-align:right;
    white-space:nowrap;
}
.eicr-action-link{
    display:inline-block;
    margin-left:10px;
    font-weight:800;
    text-decoration:none;
}
.eicr-action-link:first-child{
    margin-left:0;
}
.eicr-action-link:hover{
    text-decoration:underline;
}
.eicr-action-secondary{
    color:#505a5f;
}
.eicr-empty-state{
    margin-top:8px;
}

@media(max-width:900px){
    .eicr-records-hero .portal-hero-inner{
        align-items:flex-start;
    }
    .portal-hero-actions{
        justify-content:flex-start;
    }
    .eicr-record-table-wrap{
        overflow:visible;
        border:0;
        background:transparent;
    }
    .eicr-record-table,
    .eicr-record-table tbody,
    .eicr-record-table tr,
    .eicr-record-table td{
        display:block;
        width:100%;
    }
    .eicr-record-table thead{
        display:none;
    }
    .eicr-record-table tbody{
        display:grid;
        gap:16px;
    }
    .eicr-record-table tr{
        border:1px solid #d5d7d9;
        border-top:4px solid var(--tesc-blue);
        background:#fff;
        padding:7px 17px 14px;
    }
    .eicr-record-table td{
        display:grid;
        grid-template-columns:125px minmax(0,1fr);
        gap:14px;
        align-items:start;
        padding:11px 0;
        border-bottom:1px solid #e5e5e5;
        text-align:left;
    }
    .eicr-record-table td::before{
        content:attr(data-label);
        color:#505a5f;
        font-size:13px;
        font-weight:800;
    }
    .eicr-record-table td:last-child{
        border-bottom:0;
        padding-bottom:0;
    }
    .eicr-record-actions{
        min-width:0;
        text-align:left;
        white-space:normal;
    }
}

@media(max-width:520px){
    .portal-hero-actions{
        width:100%;
    }
    .portal-hero-actions .btn{
        width:100%;
        text-align:center;
    }
    .eicr-record-table td{
        grid-template-columns:1fr;
        gap:4px;
    }
}
\n\n/* EICR remedial deadline + reminder controls */\n.eicr-remedial-cell{min-width:190px;}\n.eicr-remedial-summary{display:flex;flex-direction:column;gap:3px;}\n.eicr-remedial-summary strong{font-size:14px;line-height:1.25;}\n.eicr-remedial-summary span{color:#505a5f;font-size:13px;}\n.eicr-remedial-summary.is-overdue strong,\n.eicr-remedial-summary .eicr-remedial-overdue{color:#b10e1e;font-weight:800;}\n.eicr-reminder-form{margin:9px 0 0;}\n.eicr-reminder-button{display:inline-block;margin:0;padding:7px 10px;border:0;border-bottom:3px solid #003f23;background:#00703c;color:#fff;font:inherit;font-size:13px;font-weight:800;line-height:1.1;cursor:pointer;}\n.eicr-reminder-button:hover{background:#005a30;}\n.eicr-reminder-button:focus{outline:3px solid #ffdd00;outline-offset:0;background:#0b0c0c;color:#fff;}\n.eicr-reminder-note{display:block;margin-top:7px;color:#505a5f;font-size:12px;line-height:1.3;}\n@media(max-width:900px){.eicr-remedial-cell{min-width:0;}}\n

/* =========================================================
   Filed EICRs – compact desktop table correction
   ========================================================= */
.eicr-record-table-wrap{
    width:100%;
    overflow-x:hidden;
}
.eicr-record-table{
    width:100%;
    min-width:0;
    table-layout:fixed;
}
.eicr-record-table th,
.eicr-record-table td{
    box-sizing:border-box;
    overflow-wrap:anywhere;
    word-break:normal;
    vertical-align:top;
}
.eicr-record-table th:nth-child(1),
.eicr-record-table td:nth-child(1){width:18%;}
.eicr-record-table th:nth-child(2),
.eicr-record-table td:nth-child(2){width:22%;}
.eicr-record-table th:nth-child(3),
.eicr-record-table td:nth-child(3){width:13%;}
.eicr-record-table th:nth-child(4),
.eicr-record-table td:nth-child(4){width:14%;}
.eicr-record-table th:nth-child(5),
.eicr-record-table td:nth-child(5){width:20%;}
.eicr-record-table th:nth-child(6),
.eicr-record-table td:nth-child(6){width:13%;}

.eicr-record-reference{
    display:inline-block;
    max-width:100%;
    padding:5px 7px;
    font-size:13px;
    line-height:1.2;
    white-space:normal;
}
.eicr-report-reference{
    margin-top:7px;
    font-size:12px;
    line-height:1.3;
    overflow-wrap:anywhere;
}
.eicr-record-address{
    line-height:1.35;
}
.eicr-record-table td{
    padding:18px 14px;
    font-size:15px;
    line-height:1.4;
}
.eicr-record-table th{
    padding:14px;
    font-size:14px;
}
.eicr-status-badge{
    display:inline-block;
    max-width:100%;
    padding:6px 9px;
    font-size:12px;
    line-height:1.15;
    white-space:normal;
    text-align:center;
}
.eicr-remedial-cell{
    min-width:0;
}
.eicr-remedial-summary{
    padding:10px 11px;
    border-left:4px solid #f47738;
    background:#fff7ed;
    gap:2px;
}
.eicr-remedial-summary.is-overdue{
    border-left-color:#d4351c;
    background:#fdf2f0;
}
.eicr-remedial-summary strong{
    font-size:13px;
    line-height:1.25;
}
.eicr-remedial-summary span{
    font-size:12px;
    line-height:1.3;
}
.eicr-reminder-note{
    margin-top:6px;
    font-size:11px;
    line-height:1.25;
}
.eicr-reminder-button{
    width:auto;
    max-width:100%;
    padding:6px 8px;
    font-size:12px;
}
.eicr-record-actions{
    white-space:normal;
}
.eicr-record-actions .eicr-action-link{
    display:block;
    margin:0 0 7px;
    white-space:normal;
}
.eicr-record-actions .eicr-action-link:last-child{
    margin-bottom:0;
}

@media(max-width:1100px) and (min-width:901px){
    .eicr-record-table td{padding:15px 10px;font-size:14px;}
    .eicr-record-table th{padding:12px 10px;font-size:13px;}
    .eicr-record-table th:nth-child(1),
    .eicr-record-table td:nth-child(1){width:17%;}
    .eicr-record-table th:nth-child(2),
    .eicr-record-table td:nth-child(2){width:22%;}
    .eicr-record-table th:nth-child(3),
    .eicr-record-table td:nth-child(3){width:13%;}
    .eicr-record-table th:nth-child(4),
    .eicr-record-table td:nth-child(4){width:14%;}
    .eicr-record-table th:nth-child(5),
    .eicr-record-table td:nth-child(5){width:21%;}
    .eicr-record-table th:nth-child(6),
    .eicr-record-table td:nth-child(6){width:13%;}
}

@media(max-width:900px){
    .eicr-record-table-wrap{overflow:visible;}
    .eicr-record-table{table-layout:auto;}
}

/* Filed EICRs – completed remedial state */
.eicr-remedial-completed{
    display:flex;
    flex-direction:column;
    gap:3px;
    padding:10px 11px;
    border-left:4px solid #00703c;
    background:#eef7f1;
}
.eicr-remedial-completed strong{
    color:#00703c;
    font-size:13px;
    letter-spacing:.02em;
}
.eicr-remedial-completed span{
    color:#3f4b45;
    font-size:12px;
    line-height:1.3;
}
.eicr-remedial-completed a{
    margin-top:3px;
    color:#005ea5;
    font-size:12px;
    font-weight:700;
    text-decoration:underline;
}


/* =========================================================
   FINAL MOBILE CORRECTIONS – EICR cards + iOS date inputs
   ========================================================= */

/* iOS/Safari date controls can retain an intrinsic width even after the
   form grid has collapsed to one column. Keep them inside the field while
   retaining the native date picker. */
.eicr-filing-form .form-grid > .form-field{
    min-width:0;
}
.eicr-filing-form input[type="date"]{
    display:block;
    width:100%;
    min-width:0;
    max-width:100%;
    box-sizing:border-box;
}

@media(max-width:900px){
    /* Desktop percentage widths were declared later in the stylesheet.
       Explicitly cancel them once the table becomes mobile record cards. */
    .eicr-record-table,
    .eicr-record-table tbody,
    .eicr-record-table tr{
        width:100%;
        max-width:100%;
    }

    .eicr-record-table td,
    .eicr-record-table td:nth-child(1),
    .eicr-record-table td:nth-child(2),
    .eicr-record-table td:nth-child(3),
    .eicr-record-table td:nth-child(4),
    .eicr-record-table td:nth-child(5),
    .eicr-record-table td:nth-child(6){
        width:100% !important;
        max-width:100%;
        min-width:0;
    }

    .eicr-record-reference{
        display:inline-block;
        width:auto;
        max-width:100%;
        white-space:normal;
        overflow-wrap:break-word;
        word-break:normal;
    }

    .eicr-report-reference,
    .eicr-record-address,
    .eicr-record-subtext,
    .eicr-remedial-summary,
    .eicr-remedial-completed,
    .eicr-record-actions{
        min-width:0;
        max-width:100%;
        overflow-wrap:break-word;
        word-break:normal;
    }

    .eicr-record-table tr{
        box-sizing:border-box;
        overflow:hidden;
    }
}

@media(max-width:720px){
    .eicr-filing-form input[type="date"]{
        width:100% !important;
        min-width:0 !important;
        max-width:100% !important;
        box-sizing:border-box !important;
        font-size:16px;
    }
}


/* =========================================================
   iPhone Safari date-field width correction
   Safari gives native date controls an intrinsic width which can exceed
   their grid column. Reset the native box styling on mobile while keeping
   input[type=date] semantics and the iOS picker on tap.
   ========================================================= */
@supports (-webkit-touch-callout: none) {
    @media (max-width: 720px) {
        .eicr-filing-form input[name="inspection_date"],
        .eicr-filing-form input[name="valid_until"] {
            -webkit-appearance: none !important;
            appearance: none !important;
            display: block !important;
            inline-size: 100% !important;
            width: 100% !important;
            min-inline-size: 0 !important;
            min-width: 0 !important;
            max-inline-size: 100% !important;
            max-width: 100% !important;
            box-sizing: border-box !important;
            overflow: hidden;
            padding: 12px !important;
            min-height: 54px;
            font-size: 16px !important;
            line-height: 1.25;
        }

        .eicr-filing-form input[name="inspection_date"]::-webkit-date-and-time-value,
        .eicr-filing-form input[name="valid_until"]::-webkit-date-and-time-value {
            min-width: 0;
            text-align: left;
        }

        .eicr-filing-form input[name="inspection_date"]::-webkit-datetime-edit,
        .eicr-filing-form input[name="valid_until"]::-webkit-datetime-edit {
            min-width: 0;
            padding: 0;
        }
    }
}


/* =========================================================
   Dashboard property status symbols
   Visual-only treatment; red/amber/green data values remain unchanged.
   ========================================================= */
.visually-hidden{
    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;
}

.property-card-status{
    position:relative;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:38px;
    height:38px;
    padding:0;
    border-radius:0;
    background:transparent;
    color:inherit;
    vertical-align:middle;
}

.property-card-status .status-symbol{
    position:relative;
    display:block;
    width:32px;
    height:32px;
}

/* Green: solid circle with a crisp white tick */
.property-card-status-green{
    background:transparent!important;
}
.property-card-status-green .status-symbol{
    border-radius:50%;
    background:#00703c;
}
.property-card-status-green .status-symbol::after{
    content:"";
    position:absolute;
    left:8px;
    top:7px;
    width:12px;
    height:7px;
    border-left:3px solid #fff;
    border-bottom:3px solid #fff;
    transform:rotate(-45deg);
}

/* Amber: warning triangle */
.property-card-status-amber{
    background:transparent!important;
}
.property-card-status-amber .status-symbol::before{
    content:"";
    position:absolute;
    left:1px;
    top:2px;
    width:0;
    height:0;
    border-left:15px solid transparent;
    border-right:15px solid transparent;
    border-bottom:28px solid #f47738;
}
.property-card-status-amber .status-symbol::after{
    content:"!";
    position:absolute;
    left:0;
    top:10px;
    width:32px;
    color:#0b0c0c;
    font-size:18px;
    line-height:18px;
    font-weight:900;
    text-align:center;
}

/* Red: stronger hazard triangle */
.property-card-status-red{
    background:transparent!important;
}
.property-card-status-red .status-symbol::before{
    content:"";
    position:absolute;
    left:1px;
    top:2px;
    width:0;
    height:0;
    border-left:15px solid transparent;
    border-right:15px solid transparent;
    border-bottom:28px solid #d4351c;
}
.property-card-status-red .status-symbol::after{
    content:"!";
    position:absolute;
    left:0;
    top:10px;
    width:32px;
    color:#fff;
    font-size:18px;
    line-height:18px;
    font-weight:900;
    text-align:center;
}

@media(max-width:620px){
    .property-card-status{
        width:36px;
        height:36px;
    }
}


/* =========================================================
   Filed EICRs – satisfactory advisory state
   ========================================================= */
.eicr-record-stats small{
    display:block;
    margin-top:3px;
    color:#505a5f;
    font-size:12px;
    font-weight:700;
}

.eicr-status-advisory{
    border-color:#f47738 !important;
    background:#fff3e8 !important;
    color:#7a3b00 !important;
}

.eicr-advisories-cell{
    text-align:left;
}

.eicr-advisory-count-badge{
    display:inline-block;
    max-width:100%;
    padding:6px 8px;
    border:1px solid #f47738;
    border-left:4px solid #f47738;
    background:#fff7ed;
    color:#7a3b00;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
}

/* Seven-column desktop balance. Report reference remains beneath TESC ref. */
@media(min-width:901px){
    .eicr-record-table th:nth-child(1),
    .eicr-record-table td:nth-child(1){width:16%;}

    .eicr-record-table th:nth-child(2),
    .eicr-record-table td:nth-child(2){width:20%;}

    .eicr-record-table th:nth-child(3),
    .eicr-record-table td:nth-child(3){width:12%;}

    .eicr-record-table th:nth-child(4),
    .eicr-record-table td:nth-child(4){width:13%;}

    .eicr-record-table th:nth-child(5),
    .eicr-record-table td:nth-child(5){width:11%;}

    .eicr-record-table th:nth-child(6),
    .eicr-record-table td:nth-child(6){width:17%;}

    .eicr-record-table th:nth-child(7),
    .eicr-record-table td:nth-child(7){width:11%;}
}

/* Cancel every desktop width again when the table converts to mobile cards. */
@media(max-width:900px){
    .eicr-record-table td:nth-child(7){
        width:100% !important;
        max-width:100%;
        min-width:0;
    }

    .eicr-advisory-count-badge{
        width:auto;
    }
}


/* =========================================================
   Filed EICRs – status column compact correction
   ========================================================= */

/* Standard satisfactory/unsatisfactory states work better as compact
   table labels than pills; this prevents "Unsatisfactory" wrapping. */
.eicr-status-badge.eicr-status-satisfactory,
.eicr-status-badge.eicr-status-unsatisfactory{
    position:relative;
    display:inline-block;
    max-width:none;
    padding:0 0 0 15px;
    border:0 !important;
    border-radius:0;
    background:transparent !important;
    font-size:12px;
    font-weight:800;
    line-height:1.25;
    white-space:nowrap;
    text-align:left;
}

.eicr-status-badge.eicr-status-satisfactory{
    color:#00703c !important;
}

.eicr-status-badge.eicr-status-unsatisfactory{
    color:#b10e1e !important;
}

.eicr-status-badge.eicr-status-satisfactory::before,
.eicr-status-badge.eicr-status-unsatisfactory::before{
    content:"";
    position:absolute;
    left:0;
    top:50%;
    width:9px;
    height:9px;
    border-radius:50%;
    transform:translateY(-50%);
    background:currentColor;
}

/* Give the status column a touch more breathing room without making
   the whole records table wider. */
@media(min-width:901px){
    .eicr-record-table th:nth-child(2),
    .eicr-record-table td:nth-child(2){width:19%;}

    .eicr-record-table th:nth-child(4),
    .eicr-record-table td:nth-child(4){width:15%;}

    .eicr-record-table th:nth-child(5),
    .eicr-record-table td:nth-child(5){width:10%;}
}

@media(max-width:900px){
    .eicr-status-badge.eicr-status-satisfactory,
    .eicr-status-badge.eicr-status-unsatisfactory{
        white-space:normal;
    }
}

/* =========================================================
   CONTRACTOR PORTAL ACQUISITION / LOGIN PAGE
   ========================================================= */
.contractor-marketing-hero{background:linear-gradient(135deg,#eef6fc 0%,#fff 62%);border-bottom:1px solid #d5d7d9;padding:52px 0 58px}
.contractor-marketing-hero-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(360px,.65fr);gap:54px;align-items:center}
.contractor-marketing-copy h1{max-width:760px;margin:18px 0 18px;font-size:clamp(42px,5.3vw,72px);line-height:.98;letter-spacing:-.035em}
.contractor-hero-lead{max-width:760px;margin:0;font-size:21px;line-height:1.55;color:#343b40}
.contractor-hero-points{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 28px}
.contractor-hero-points span{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #b1b4b6;background:#fff;font-size:14px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.contractor-hero-points span:before{content:"";width:8px;height:8px;border-radius:50%;background:#1d70b8}
.contractor-hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.contractor-text-link{font-weight:800;color:#005ea5;text-decoration:underline;text-underline-offset:3px}
.contractor-login-panel{background:#fff;border:1px solid #b1b4b6;border-top:6px solid #1d70b8;padding:27px;box-shadow:0 16px 38px rgba(11,12,12,.08)}
.contractor-login-panel-head{display:flex;gap:15px;align-items:center;padding-bottom:20px;margin-bottom:22px;border-bottom:1px solid #d8d8d8}
.contractor-login-panel-head span:not(.contractor-login-icon){display:block;color:#505a5f;font-size:14px;font-weight:700}
.contractor-login-panel-head h2{margin:2px 0 0;font-size:25px;line-height:1.12}
.contractor-login-icon{position:relative;width:48px;height:48px;flex:0 0 48px;border:3px solid #1d70b8;border-radius:50%}
.contractor-login-icon:before{content:"";position:absolute;left:50%;top:9px;width:11px;height:11px;transform:translateX(-50%);background:#1d70b8;border-radius:50%}
.contractor-login-icon:after{content:"";position:absolute;left:50%;bottom:8px;width:23px;height:13px;transform:translateX(-50%);background:#1d70b8;border-radius:14px 14px 7px 7px}
.contractor-login-form label{display:block;margin:0 0 7px;font-weight:800}.contractor-login-form input{width:100%;box-sizing:border-box;margin:0 0 17px}.contractor-login-form button{width:100%;margin-top:2px}.contractor-login-form .login-help{margin:12px 0 0;text-align:center;font-size:14px}
.contractor-login-register{margin-top:24px;padding:18px;background:#f3f2f1;border-left:4px solid #1d70b8}.contractor-login-register strong,.contractor-login-register span{display:block}.contractor-login-register span{margin:5px 0 10px;color:#505a5f;font-size:14px;line-height:1.45}.contractor-login-register a{font-weight:800}
.contractor-benefit-strip{background:#0b0c0c;color:#fff}.contractor-benefit-strip-grid{display:grid;grid-template-columns:repeat(4,1fr)}.contractor-benefit-strip-grid>div{padding:28px 24px;border-right:1px solid #454a4d}.contractor-benefit-strip-grid>div:first-child{border-left:1px solid #454a4d}.contractor-benefit-number{display:block;margin-bottom:10px;color:#72b9ef;font-size:13px;font-weight:900}.contractor-benefit-strip strong{display:block;font-size:18px}.contractor-benefit-strip p{margin:7px 0 0;color:#d7d7d7;font-size:14px;line-height:1.5}
.contractor-story{padding-top:74px;padding-bottom:74px}.contractor-section-intro{max-width:850px;margin-bottom:38px}.contractor-section-intro h2{margin:14px 0 14px;font-size:clamp(34px,4vw,52px);line-height:1.06;letter-spacing:-.025em}.contractor-section-intro p{font-size:19px;line-height:1.55;color:#505a5f}
.contractor-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.contractor-process-step{position:relative;padding:26px 23px 24px;border:1px solid #d5d7d9;border-top:5px solid #1d70b8;background:#fff}.contractor-process-step>span{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#1d70b8;color:#fff;font-size:18px;font-weight:900}.contractor-process-step h3{margin:18px 0 8px;font-size:20px}.contractor-process-step p{margin:0;color:#505a5f;line-height:1.5;font-size:15px}
.contractor-feature-showcase{padding:84px 0}.contractor-feature-showcase-light{background:#f6f7f8}.contractor-feature-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(480px,1.1fr);gap:64px;align-items:center}.contractor-feature-row-reverse .contractor-feature-copy{order:2}.contractor-feature-row-reverse .portal-demo-window{order:1}.contractor-feature-kicker{display:block;margin-bottom:12px;color:#1d70b8;font-size:13px;font-weight:900;letter-spacing:.055em}.contractor-feature-copy h2{margin:0 0 16px;font-size:clamp(32px,3.5vw,47px);line-height:1.08;letter-spacing:-.025em}.contractor-feature-copy>p{font-size:18px;line-height:1.6;color:#505a5f}.contractor-check-list{list-style:none;margin:24px 0 0;padding:0}.contractor-check-list li{position:relative;margin:11px 0;padding-left:31px;font-weight:700}.contractor-check-list li:before{content:"";position:absolute;left:0;top:2px;width:17px;height:17px;border-radius:50%;background:#00703c}.contractor-check-list li:after{content:"";position:absolute;left:5px;top:6px;width:7px;height:4px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg)}
.contractor-callout{margin-top:25px;padding:20px 22px;background:#e8f1f8;border-left:5px solid #1d70b8}.contractor-callout strong{display:block;font-size:17px}.contractor-callout p{margin:5px 0 0;line-height:1.55;color:#343b40}
.portal-demo-window{overflow:hidden;border:1px solid #aeb4b8;border-radius:9px;background:#fff;box-shadow:0 22px 55px rgba(11,12,12,.13)}.portal-demo-browser{display:flex;align-items:center;gap:7px;height:42px;padding:0 14px;background:#eceff1;border-bottom:1px solid #c8cdd0}.portal-demo-browser i{display:block;width:9px;height:9px;border-radius:50%;background:#a5aaad}.portal-demo-browser i:first-child{background:#d4351c}.portal-demo-browser i:nth-child(2){background:#f47738}.portal-demo-browser i:nth-child(3){background:#00703c}.portal-demo-browser span{margin-left:8px;color:#505a5f;font-size:12px;font-weight:700}.portal-demo-body{padding:25px}.portal-demo-form label,.portal-demo-provider label{display:block;margin:14px 0 6px;color:#505a5f;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.portal-demo-title{display:flex;gap:13px;align-items:center;margin-bottom:14px}.portal-demo-title>span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:#1d70b8;color:#fff;font-weight:900}.portal-demo-title strong,.portal-demo-title small{display:block}.portal-demo-title small{margin-top:2px;color:#6f777b}.portal-demo-input{padding:11px 12px;border:2px solid #0b0c0c;background:#fff;font-size:14px}.portal-demo-id{display:grid;grid-template-columns:auto 1fr;border:2px solid #1d70b8;background:#fff}.portal-demo-id strong{padding:10px;background:#e8f1f8;color:#12436d}.portal-demo-id span{padding:10px}.portal-demo-two{display:grid;grid-template-columns:1fr 1fr;gap:15px}.portal-demo-status{display:inline-block;padding:10px 12px;font-weight:800}.portal-demo-status-green{background:#d9eee2;color:#005a30}
.portal-demo-wide{max-width:720px}.portal-demo-filters{display:grid;grid-template-columns:2fr 1fr 1fr;gap:8px;margin-bottom:13px}.portal-demo-filters span{padding:9px;background:#f3f2f1;color:#505a5f;font-size:11px;font-weight:800}.portal-demo-table{border-top:3px solid #1d70b8}.portal-demo-table-head,.portal-demo-table-row{display:grid;grid-template-columns:1.4fr 1.15fr .75fr 1fr;gap:10px;align-items:center}.portal-demo-table-head{padding:10px 9px;background:#f3f2f1;font-size:11px;font-weight:900}.portal-demo-table-row{padding:13px 9px;border-bottom:1px solid #d5d7d9;font-size:12px}.portal-demo-table-row span{min-width:0}.portal-demo-table-row strong,.portal-demo-table-row small{display:block}.portal-demo-table-row small{margin-top:2px;color:#6f777b}.portal-demo-table-row em{display:inline-block;padding:4px 6px;background:#fff3e8;border-left:3px solid #f47738;font-style:normal;font-weight:800}.portal-demo-dot{display:inline-block;width:8px;height:8px;margin-right:5px;border-radius:50%}.portal-demo-dot.green{background:#00703c}.portal-demo-dot.amber{background:#f47738}.portal-demo-dot.red{background:#d4351c}
.portal-demo-remedial-head{display:flex;gap:13px;align-items:center}.portal-demo-remedial-head small,.portal-demo-remedial-head strong{display:block}.portal-demo-remedial-head small{color:#b10e1e;font-weight:900}.portal-warning-triangle{display:flex;align-items:center;justify-content:center;width:42px;height:38px;background:#d4351c;color:#fff;font-size:22px;font-weight:900;clip-path:polygon(50% 0,100% 100%,0 100%)}.portal-demo-deadline{margin:20px 0;padding:14px 16px;border-left:5px solid #f47738;background:#fff3e8}.portal-demo-deadline span,.portal-demo-deadline strong,.portal-demo-deadline small{display:block}.portal-demo-deadline span{font-size:12px;color:#505a5f}.portal-demo-deadline strong{margin:4px 0;font-size:20px}.portal-demo-message{padding:18px;border:1px solid #d5d7d9}.portal-demo-message small{color:#1d70b8;font-weight:900}.portal-demo-message strong{display:block;margin:5px 0 7px}.portal-demo-message p{margin:0;color:#505a5f;font-size:13px;line-height:1.5}.portal-demo-button{margin-top:14px;padding:11px 13px;background:#1d70b8;color:#fff;text-align:center;font-weight:900}
.portal-demo-search{display:grid;grid-template-columns:1fr auto;border:2px solid #0b0c0c}.portal-demo-search span{padding:11px}.portal-demo-search strong{padding:11px 14px;background:#1d70b8;color:#fff}.portal-demo-provider-card{display:grid;grid-template-columns:52px 1fr auto;gap:13px;align-items:center;margin-top:15px;padding:15px;border:1px solid #d5d7d9}.portal-demo-provider-logo{display:flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;background:#e8f1f8;color:#1d70b8;font-size:11px;font-weight:900}.portal-demo-provider-card small,.portal-demo-provider-card strong,.portal-demo-provider-card span{display:block}.portal-demo-provider-card small{color:#1d70b8;font-size:9px;font-weight:900}.portal-demo-provider-card strong{margin:3px 0}.portal-demo-provider-card span{color:#6f777b;font-size:11px}.portal-demo-provider-card b{color:#005ea5;font-size:11px}.portal-demo-provider-card.muted{opacity:.68}
.contractor-final-cta{padding:62px 0;background:#0b0c0c;color:#fff}.contractor-final-cta-inner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}.contractor-final-cta h2{max-width:850px;margin:8px 0 10px;font-size:clamp(31px,3.6vw,48px);line-height:1.08}.contractor-final-cta p{max-width:780px;margin:0;color:#d7d7d7;font-size:17px;line-height:1.55}.contractor-final-cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:14px}.contractor-final-cta .contractor-text-link{color:#fff}
@media(max-width:1000px){.contractor-marketing-hero-grid{grid-template-columns:1fr;gap:35px}.contractor-login-panel{max-width:650px}.contractor-benefit-strip-grid{grid-template-columns:1fr 1fr}.contractor-process-grid{grid-template-columns:1fr 1fr}.contractor-feature-row{grid-template-columns:1fr;gap:37px}.contractor-feature-row-reverse .contractor-feature-copy,.contractor-feature-row-reverse .portal-demo-window{order:initial}.portal-demo-window{max-width:760px}.contractor-final-cta-inner{grid-template-columns:1fr}.contractor-final-cta-actions{flex-direction:row;align-items:center;flex-wrap:wrap}}
@media(max-width:620px){.contractor-marketing-hero{padding:34px 0 40px}.contractor-marketing-copy h1{font-size:43px}.contractor-hero-lead{font-size:18px}.contractor-login-panel{padding:21px}.contractor-benefit-strip-grid{grid-template-columns:1fr}.contractor-benefit-strip-grid>div{border-right:0;border-left:1px solid #454a4d;border-bottom:1px solid #454a4d}.contractor-process-grid{grid-template-columns:1fr}.contractor-feature-showcase{padding:58px 0}.portal-demo-body{padding:17px}.portal-demo-two{grid-template-columns:1fr}.portal-demo-table-head{display:none}.portal-demo-table-row{grid-template-columns:1fr;gap:7px;padding:15px}.portal-demo-provider-card{grid-template-columns:45px 1fr}.portal-demo-provider-card b{grid-column:2}.contractor-final-cta-actions{flex-direction:column;align-items:flex-start}}


/* =========================================================
   Contractor acquisition page – customer/commercial angle
   ========================================================= */
.customer-view-window,.customer-notice-window{border-color:#9da4a8}
.customer-view-label{display:inline-block;margin-bottom:16px;padding:5px 8px;background:#1d70b8;color:#fff;font-size:10px;font-weight:900;letter-spacing:.07em}
.customer-compliance-head{display:flex;gap:14px;align-items:center;padding-bottom:18px;border-bottom:1px solid #d5d7d9}.customer-compliance-head small,.customer-compliance-head strong,.customer-compliance-head span{display:block}.customer-compliance-head small{color:#b10e1e;font-size:11px;font-weight:900}.customer-compliance-head strong{margin:2px 0;font-size:22px}.customer-compliance-head span{color:#505a5f;font-size:13px}
.customer-compliance-alert{margin-top:18px;padding:17px 18px;border-left:5px solid #d4351c;background:#fdf2f0}.customer-compliance-alert strong{display:block;margin-bottom:6px;color:#b10e1e;font-size:18px}.customer-compliance-alert p{margin:0;color:#323638;font-size:13px;line-height:1.55}
.customer-compliance-deadline{margin-top:15px;padding:16px 18px;border:1px solid #f0b37e;background:#fff7ed}.customer-compliance-deadline span,.customer-compliance-deadline strong,.customer-compliance-deadline small{display:block}.customer-compliance-deadline span{color:#7a3b00;font-size:10px;font-weight:900;letter-spacing:.05em}.customer-compliance-deadline strong{margin:4px 0 5px;font-size:22px}.customer-compliance-deadline small{color:#505a5f;line-height:1.45}
.customer-compliance-action{margin-top:15px;padding:16px 18px;border:1px solid #d5d7d9}.customer-compliance-action strong{display:block;font-size:16px}.customer-compliance-action p{margin:5px 0 13px;color:#505a5f;font-size:13px;line-height:1.5}
.customer-acknowledge{display:inline-block;padding:9px 11px;border:2px solid #1d70b8;background:#e8f1f8;color:#12436d;font-size:12px;font-weight:900}
.customer-legal-message{border-left:5px solid #d4351c;background:#fff}.customer-legal-message small{color:#b10e1e}.customer-next-step{display:flex;flex-direction:column;gap:3px;margin-top:14px;padding:14px 16px;background:#e8f1f8;border-left:5px solid #1d70b8}.customer-next-step strong{font-size:13px}.customer-next-step span{color:#323638;font-size:13px;line-height:1.45}.customer-ack-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px}.customer-ack-row small{max-width:210px;color:#6f777b;font-size:10px;line-height:1.35;text-align:right}
@media(max-width:620px){.customer-compliance-head strong{font-size:19px}.customer-compliance-deadline strong{font-size:19px}.customer-ack-row{align-items:flex-start;flex-direction:column}.customer-ack-row small{max-width:none;text-align:left}}


/* =========================================================
   Contractor sales page – client audit + letting agent visuals
   ========================================================= */
.tesc-client-report-head{
    display:flex;
    justify-content:space-between;
    gap:18px;
    align-items:flex-start;
    padding-bottom:18px;
    border-bottom:1px solid #d8dde2;
}
.tesc-client-report-head div{
    display:flex;
    flex-direction:column;
    gap:4px;
}
.tesc-client-report-head small{
    color:#505a5f;
    font-weight:800;
    letter-spacing:.03em;
}
.tesc-client-report-head strong{
    font-size:22px;
    line-height:1.2;
}
.tesc-client-status{
    flex:0 0 auto;
    padding:7px 10px;
    border-radius:999px;
    font-size:12px;
    font-weight:900;
    text-transform:uppercase;
}
.tesc-client-status.green{
    background:#d7eee2;
    color:#006b3c;
}
.tesc-client-file-card{
    margin-top:18px;
    padding:16px 18px;
    border:1px solid #c9d0d6;
    border-left:5px solid #2377bd;
    background:#fff;
}
.tesc-client-file-card span,
.tesc-client-file-card strong,
.tesc-client-file-card small,
.tesc-client-file-card b{
    display:block;
}
.tesc-client-file-card span{
    margin-bottom:4px;
    color:#2377bd;
    font-size:11px;
    font-weight:900;
}
.tesc-client-file-card strong{
    font-size:18px;
}
.tesc-client-file-card small{
    margin-top:3px;
    color:#505a5f;
}
.tesc-client-file-card b{
    margin-top:12px;
    color:#005ea5;
}
.tesc-client-audit{
    margin-top:20px;
}
.tesc-client-audit-title{
    display:block;
    margin-bottom:12px;
    color:#505a5f;
    font-size:11px;
    font-weight:900;
    letter-spacing:.04em;
}
.tesc-client-audit > div{
    position:relative;
    display:flex;
    gap:12px;
    padding:0 0 16px 4px;
}
.tesc-client-audit > div:not(:last-child)::after{
    content:"";
    position:absolute;
    left:8px;
    top:17px;
    width:2px;
    height:calc(100% - 5px);
    background:#d8dde2;
}
.audit-dot{
    position:relative;
    z-index:1;
    width:10px;
    height:10px;
    margin-top:4px;
    border-radius:50%;
    flex:0 0 10px;
}
.audit-dot.amber{background:#f47738;}
.audit-dot.green{background:#00703c;}
.tesc-client-audit p{
    margin:0;
}
.tesc-client-audit p strong,
.tesc-client-audit p span{
    display:block;
}
.tesc-client-audit p strong{
    font-size:13px;
}
.tesc-client-audit p span{
    color:#505a5f;
    font-size:13px;
}
.tesc-agent-window .portal-demo-body{
    padding:18px;
}
.tesc-agent-summary{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:10px;
    margin-bottom:16px;
}
.tesc-agent-summary div{
    padding:12px;
    border:1px solid #d8dde2;
    background:#f7f9fb;
}
.tesc-agent-summary span,
.tesc-agent-summary strong{
    display:block;
}
.tesc-agent-summary span{
    color:#505a5f;
    font-size:11px;
    font-weight:800;
}
.tesc-agent-summary strong{
    margin-top:3px;
    font-size:22px;
}
.customer-compliance-head span,
.portal-demo-remedial-head span{
    display:block;
}

@media(max-width:720px){
    .tesc-client-report-head{
        flex-direction:column;
    }
    .tesc-agent-summary{
        grid-template-columns:1fr 1fr;
    }
}


/* Contractor marketing photographic screenshot treatment */
.contractor-context-shot{margin:0;min-width:0;border:1px solid #bfc7cf;background:#fff;}
.contractor-context-shot img{display:block;width:100%;height:auto;aspect-ratio:1.44/1;object-fit:cover;background:#eef2f5;}
.contractor-context-shot .contractor-shot-label{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:11px 14px;border-bottom:1px solid #d8dde2;background:#0b0c0c;color:#fff;}
.contractor-shot-label strong{font-size:13px;letter-spacing:.02em;}
.contractor-shot-label span{font-size:12px;color:#d8dde2;text-align:right;}
.contractor-context-shot figcaption{padding:12px 14px 14px;color:#505a5f;font-size:13px;line-height:1.45;}
.contractor-context-shot-alert{border-top:4px solid #d4351c;}
@media(max-width:720px){.contractor-context-shot .contractor-shot-label{align-items:flex-start;flex-direction:column;gap:2px}.contractor-shot-label span{text-align:left}.contractor-context-shot figcaption{font-size:12px}.contractor-context-shot img{aspect-ratio:auto}}

/* Context screenshot cleanup: image only, no explanatory ribbons/overlays */
.contractor-context-caption,
.contractor-context-overlay{
    display:none !important;
}


/* Historical EICR import */
.import-intro{margin-bottom:28px}.import-tabs{display:flex;gap:10px;margin:0 0 20px}.import-panel[hidden]{display:none!important}.import-confirm{display:flex;gap:12px;align-items:flex-start;padding:16px;border:1px solid #b1b4b6;background:#f3f2f1;font-weight:600}.import-confirm input{width:20px;height:20px;flex:0 0 20px;margin-top:2px}.dashboard-action-icon-import:before{content:"↥";font-size:25px;font-weight:900}.dashboard-action-import{border-top:4px solid #1d70b8}.form-section-heading h2 small{font-size:.7em;font-weight:500;color:#505a5f}@media(max-width:720px){.import-tabs{flex-direction:column}.import-tabs .btn{width:100%}}

/* Contractor public profiles */
.dashboard-action-icon-profile:before{content:"★";font-size:22px;font-weight:900}.dashboard-action-profile{border-top:4px solid #912b88}.profile-visibility-banner{padding:20px 22px;margin-bottom:26px;border-left:6px solid #f47738;background:#fff7e6}.profile-visibility-banner.is-live{border-left-color:#00703c;background:#eefbf3}.profile-visibility-banner p{margin:6px 0 12px}.profile-logo-preview{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin:0 0 18px}.profile-logo-preview img{max-width:240px;max-height:110px;object-fit:contain;border:1px solid #b1b4b6;background:#fff;padding:10px}.provider-profile-hero{background:#f3f7fb;border-bottom:1px solid #d8dde2;padding:52px 0}.provider-profile-hero-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:40px;align-items:start}.provider-profile-logo{display:block;max-width:240px;max-height:100px;object-fit:contain;margin:0 0 22px;background:#fff;border:1px solid #d8dde2;padding:10px}.provider-profile-tagline{font-size:22px;max-width:760px;color:#3c4a57}.provider-verification-card,.provider-contact-card{border:1px solid #b1b4b6;background:#fff;padding:24px}.provider-verification-card dl,.provider-contact-card dl{margin:18px 0 0}.provider-verification-card dt{font-weight:700;margin-top:14px}.provider-verification-card dd{margin:3px 0 0}.provider-profile-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px;align-items:start}.provider-profile-section{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid #d8dde2}.provider-profile-section:last-child{border-bottom:0}.profile-copy{line-height:1.7}.provider-service-list{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;padding-left:22px}.public-profile-areas{margin-top:16px}.provider-contact-card{position:sticky;top:105px}.provider-contact-card .btn{display:block;width:100%;margin:0 0 10px;text-align:center}.provider-profile-note{font-size:13px;color:#505a5f;margin:16px 0 0}.public-profile-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.public-profile-gallery figure{margin:0;border:1px solid #b1b4b6;background:#fff}.public-profile-gallery img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}.editor-gallery{margin-top:24px}.editor-gallery figure{padding-bottom:10px}.editor-gallery form{padding:10px 10px 0}.admin-contractor-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:30px;align-items:start}.admin-detail-list{display:grid;grid-template-columns:180px 1fr;gap:10px 18px}.admin-detail-list dt{font-weight:700}.admin-detail-list dd{margin:0}.admin-document-row{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:14px 0;border-top:1px solid #d8dde2}.admin-document-row .buttons{display:flex;align-items:center;gap:8px;margin:0}.admin-document-row form{display:flex;gap:8px;align-items:center}.admin-document-row select{min-width:120px}.admin-status-suspended{background:#f3f2f1;color:#0b0c0c}
@media(max-width:900px){.provider-profile-hero-grid,.provider-profile-layout,.admin-contractor-grid{grid-template-columns:1fr}.provider-contact-card{position:static}.provider-service-list{grid-template-columns:1fr}.public-profile-gallery{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.public-profile-gallery{grid-template-columns:1fr}.admin-detail-list{grid-template-columns:1fr}.admin-detail-list dt{margin-top:10px}.admin-document-row{align-items:flex-start;flex-direction:column}.admin-document-row .buttons,.admin-document-row form{width:100%;flex-wrap:wrap}}


/* 2026-09-05 admin summary cards + contractor dashboard icon alignment */
.admin-summary-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
}
.admin-summary-card .property-card-status{
    position:static;
    display:inline-block;
    width:auto;
    height:auto;
    padding:5px 9px;
    color:#fff;
    font-size:12px;
    font-weight:800;
    line-height:1.2;
    border-radius:0;
    align-self:flex-start;
}
.admin-summary-card .property-card-status-amber{
    background:#f47738 !important;
    color:#fff !important;
}
.admin-summary-card .property-card-status-green{
    background:#00703c !important;
    color:#fff !important;
}
.admin-summary-card h3{
    margin:18px 0 10px;
}
.dashboard-action-icon-import::before,
.dashboard-action-icon-profile::before{
    left:0;
    top:0;
    width:100%;
    height:100%;
    display:flex;
    align-items:center;
    justify-content:center;
    line-height:1;
}
@media(max-width:1000px){
    .admin-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:600px){
    .admin-summary-grid{grid-template-columns:1fr;}
}


/* Contractor getting-started onboarding */
.contractor-onboarding{border:1px solid #b1b4b6;border-top:5px solid #1d70b8;background:#f7fbff;padding:26px;margin:0 0 32px}.contractor-onboarding-head{display:flex;justify-content:space-between;gap:28px;align-items:flex-start;margin-bottom:22px}.contractor-onboarding-head h2{margin:10px 0 8px}.contractor-onboarding-head p{margin:0;max-width:800px}.listing-progress{min-width:180px;border:1px solid #b1b4b6;background:#fff;padding:14px 16px;text-align:center}.listing-progress strong{display:block;font-size:28px;color:#1d70b8}.listing-progress span{display:block;font-size:13px;color:#505a5f}.onboarding-steps{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.onboarding-steps li{display:flex;gap:14px;border:1px solid #d8dde2;background:#fff;padding:17px}.onboarding-check{display:flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#1d70b8;color:#fff;font-weight:800}.onboarding-steps li.is-complete{border-left:5px solid #00703c}.onboarding-steps li.is-complete .onboarding-check{background:#00703c}.onboarding-steps p{margin:5px 0 7px;color:#505a5f;line-height:1.45}.onboarding-steps a{font-weight:700}.onboarding-remaining{display:inline-block;margin-top:5px;color:#d4351c}.onboarding-remaining.is-done{color:#00703c}.client-link-guidance{border-left:5px solid #1d70b8;background:#f3f7fb;padding:16px 18px;margin:0 0 24px}.client-link-guidance p{margin:6px 0 10px}.client-link-guidance code{display:block;overflow-wrap:anywhere;background:#fff;border:1px solid #d8dde2;padding:9px 10px}.hero .buttons button.btn{font:inherit;cursor:pointer}@media(max-width:850px){.contractor-onboarding-head{flex-direction:column}.listing-progress{width:100%}.onboarding-steps{grid-template-columns:1fr}}

/* 2026-09-05 contractor onboarding v2 */
.onboarding-v2{margin:0 0 38px;border:1px solid #b1b4b6;border-top:6px solid #1d70b8;background:#fff;padding:0;overflow:hidden;box-shadow:0 2px 8px rgba(11,12,12,.05)}
.onboarding-v2-head{display:grid;grid-template-columns:minmax(0,1fr) 230px;gap:34px;align-items:center;padding:30px 32px;background:#f4f8fc;border-bottom:1px solid #d8dde2}
.onboarding-v2-intro h2{margin:10px 0 10px;font-size:32px;line-height:1.15}
.onboarding-v2-intro p{margin:0;max-width:780px;font-size:18px;line-height:1.5;color:#35424d}
.onboarding-fee-note{background:#fff;border:1px solid #b1b4b6;padding:18px 20px;text-align:center}
.onboarding-fee-note strong{display:block;font-size:32px;line-height:1;color:#00703c}
.onboarding-fee-note span{display:block;font-weight:700;margin-top:5px}
.onboarding-fee-note small{display:block;margin-top:8px;color:#505a5f}
.onboarding-start-here,.onboarding-after{padding:28px 32px}
.onboarding-after{padding-top:8px}
.onboarding-section-title{margin-bottom:16px}
.onboarding-section-title>span{display:block;font-size:12px;line-height:1.2;font-weight:800;letter-spacing:.08em;color:#1d70b8;margin-bottom:5px}
.onboarding-section-title h3{font-size:22px;line-height:1.25;margin:0}
.onboarding-primary-steps{list-style:none!important;padding:0!important;margin:0!important;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;counter-reset:none}
.onboarding-primary-steps>li{list-style:none!important;margin:0!important;display:flex;gap:14px;min-width:0;padding:20px;border:1px solid #b1b4b6;background:#fff;position:relative}
.onboarding-primary-steps>li::marker{content:""}
.onboarding-primary-steps>li.is-current{border:2px solid #1d70b8;background:#f7fbff}
.onboarding-primary-steps>li.is-complete{border-left:5px solid #00703c;background:#f7fff9}
.onboarding-primary-steps>li.is-locked{background:#f8f8f8;color:#505a5f}
.onboarding-step-number{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#1d70b8;color:#fff;font-size:18px;font-weight:800;line-height:1}
.is-complete>.onboarding-step-number{background:#00703c}
.is-locked>.onboarding-step-number{background:#b1b4b6;color:#0b0c0c}
.onboarding-primary-steps strong{display:block;font-size:19px;line-height:1.25;margin:1px 0 7px}
.onboarding-primary-steps p{margin:0 0 12px;color:#505a5f;line-height:1.45}
.onboarding-action{display:inline-block;font-weight:800}
.onboarding-muted{display:inline-block;color:#626a6e;font-size:14px;font-weight:700}
.onboarding-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.onboarding-info-grid article{display:flex;gap:14px;border:1px solid #d8dde2;background:#fafafa;padding:18px 20px;min-width:0}
.onboarding-info-grid article.is-complete{border-left:4px solid #00703c;background:#f7fff9}
.onboarding-info-icon{display:flex;align-items:center;justify-content:center;flex:0 0 38px;width:38px;height:38px;border-radius:50%;background:#e8f1f8;color:#1d70b8;font-weight:900;font-size:15px}
.onboarding-info-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.onboarding-info-grid article.is-complete .onboarding-info-icon{background:#dff3e7;color:#00703c}
.onboarding-info-grid strong{display:block;font-size:17px;margin:1px 0 5px}
.onboarding-info-grid p{margin:0 0 8px;color:#505a5f;line-height:1.45}
.onboarding-status-good{display:inline-block;color:#00703c;font-weight:800}
.onboarding-progress-row{margin-top:10px}
.onboarding-progress-row>span{display:block;font-weight:800;margin-bottom:6px}
.onboarding-progress-track{height:10px;background:#e6e8ea;overflow:hidden;margin:0 0 5px}
.onboarding-progress-track i{display:block;height:100%;background:#1d70b8}
.onboarding-progress-row small{color:#505a5f}
.onboarding-import-note{display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:18px 32px;background:#fff7e6;border-top:1px solid #f3c987}
.onboarding-import-note strong{white-space:nowrap}
.onboarding-import-note span{color:#4d4d4d}
.onboarding-import-note a{font-weight:800;white-space:nowrap}
@media(max-width:950px){.onboarding-v2-head{grid-template-columns:1fr}.onboarding-fee-note{max-width:260px;text-align:left}.onboarding-primary-steps{grid-template-columns:1fr}.onboarding-info-grid{grid-template-columns:1fr}.onboarding-import-note{grid-template-columns:1fr;gap:5px}.onboarding-import-note strong,.onboarding-import-note a{white-space:normal}}
@media(max-width:620px){.onboarding-v2-head,.onboarding-start-here,.onboarding-after,.onboarding-import-note{padding-left:20px;padding-right:20px}.onboarding-v2-intro h2{font-size:27px}.onboarding-v2-intro p{font-size:16px}.onboarding-primary-steps>li,.onboarding-info-grid article{padding:16px}.onboarding-step-number,.onboarding-info-icon{flex-basis:34px;width:34px;height:34px}}

/* 2026-09-06 provider qualification + contractor help */
.provider-qualification-card{display:grid;grid-template-columns:64px minmax(0,1fr);gap:20px;margin:0 0 30px;padding:24px 28px;border:1px solid #f3c987;border-left:6px solid #f47738;background:#fff9ed;box-shadow:0 2px 6px rgba(11,12,12,.04)}
.provider-qualification-icon{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:#fff0cf;color:#b54708;font-size:25px;font-weight:900}
.provider-qualification-kicker{display:block;margin-bottom:4px;color:#b54708;font-size:12px;font-weight:800;letter-spacing:.08em}
.provider-qualification-main h2{margin:0 0 7px;font-size:24px;line-height:1.2}.provider-qualification-main>p{margin:0;max-width:820px;color:#35424d;line-height:1.5}
.provider-qualification-progress{max-width:720px;margin-top:16px}.provider-qualification-progress-head{display:flex;justify-content:space-between;gap:15px;margin-bottom:7px}.provider-qualification-progress-head strong{font-size:16px}.provider-qualification-progress-head span{font-weight:800;color:#1d70b8}
.provider-qualification-progress .onboarding-progress-track{height:12px;background:#e1e5e8;margin-bottom:7px}.provider-qualification-progress .onboarding-progress-track i{background:#1d70b8}.provider-qualification-progress small{color:#505a5f}.provider-qualification-note{margin-top:12px!important;font-size:13px;color:#626a6e!important}
.contractor-help-hero p{max-width:850px}.contractor-help-wrap{max-width:1120px}.contractor-help-intro{display:flex;justify-content:space-between;align-items:center;gap:28px;padding:24px 26px;margin-bottom:20px;border:1px solid #b1b4b6;border-left:6px solid #1d70b8;background:#f4f8fc}.contractor-help-intro>div{display:grid;grid-template-columns:44px 1fr;column-gap:16px}.contractor-help-intro h2{margin:0 0 5px}.contractor-help-intro p{grid-column:2;margin:0;max-width:760px;color:#505a5f;line-height:1.5}.contractor-help-number,.contractor-help-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#e8f1f8;color:#1d70b8;font-weight:900;font-size:18px}.contractor-help-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contractor-help-grid article{display:flex;gap:16px;padding:22px;border:1px solid #d8dde2;background:#fff}.contractor-help-grid h3{margin:1px 0 7px;font-size:19px}.contractor-help-grid p{margin:0 0 10px;color:#505a5f;line-height:1.5}.contractor-help-grid a{font-weight:800}.contractor-help-icon{flex:0 0 40px}.contractor-help-provider{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-top:22px;padding:26px 28px;background:#f7fff9;border:1px solid #b1b4b6;border-left:6px solid #00703c}.contractor-help-provider h2{margin:6px 0 7px}.contractor-help-provider p{margin:0;max-width:780px;line-height:1.5;color:#35424d}.contractor-help-footer{margin-top:28px;padding-top:25px;border-top:1px solid #d8dde2}.contractor-help-footer h2{margin:0 0 6px}.contractor-help-footer p{max-width:850px;margin:0 0 16px;line-height:1.5;color:#505a5f}
@media(max-width:800px){.provider-qualification-card{grid-template-columns:1fr}.provider-qualification-icon{width:46px;height:46px}.contractor-help-grid{grid-template-columns:1fr}.contractor-help-intro,.contractor-help-provider{align-items:flex-start;flex-direction:column}.contractor-help-intro>div{grid-template-columns:40px 1fr}.contractor-help-intro p{grid-column:1 / -1;margin-top:10px}.provider-qualification-progress-head{align-items:flex-end}}
