:root {
    --ink: #20272b;
    --ink-strong: #151b1e;
    --muted: #677176;
    --muted-light: #899195;
    --surface: #ffffff;
    --canvas: #f4f5f3;
    --canvas-deep: #eceeeb;
    --line: #d9ddda;
    --line-dark: #c8ceca;
    --brand: #283d46;
    --brand-hover: #1f3138;
    --accent: #687b70;
    --accent-soft: #e8ece9;
    --danger: #8f4545;
    --danger-soft: #f5eaea;
    --warning: #776238;
    --warning-soft: #f2eee3;
    --success: #486857;
    --success-soft: #e8efe9;
    --radius-sm: 6px;
    --radius-md: 10px;
    --radius-lg: 14px;
    --shadow-sm: 0 1px 2px rgba(20, 28, 31, .04);
    --shadow-md: 0 14px 35px rgba(20, 28, 31, .07);
    --content: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
    margin: 0;
    color: var(--ink);
    background: var(--surface);
    font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; }

.container { width: min(var(--content), calc(100% - 40px)); margin: 0 auto; }
.narrow { width: min(760px, calc(100% - 40px)); margin: 0 auto; }
.login-width { width: min(460px, calc(100% - 40px)); margin: 0 auto; }

.site-header {
    position: sticky;
    top: 0;
    z-index: 50;
    border-bottom: 1px solid rgba(217, 221, 218, .92);
    background: rgba(255, 255, 255, .96);
    backdrop-filter: blur(14px);
}
.header-inner { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink-strong); font-weight: 760; letter-spacing: -.025em; }
.brand-mark { width: 34px; height: 34px; display: grid; place-items: center; border: 1px solid var(--line-dark); border-radius: 9px; color: var(--brand); background: var(--canvas); font-size: 15px; font-weight: 800; }
.desktop-nav { display: flex; align-items: center; gap: 30px; margin-left: auto; }
.desktop-nav > a:not(.button) { color: #4e595e; font-size: .925rem; font-weight: 620; }
.desktop-nav > a:not(.button):hover { color: var(--ink-strong); }
.menu-button { display: none; width: 42px; height: 42px; padding: 0; border: 1px solid var(--line); border-radius: 8px; background: var(--surface); color: var(--ink); font-size: 1.2rem; }
.mobile-nav { display: none; padding: 10px 20px 20px; border-top: 1px solid var(--line); background: var(--surface); }
.mobile-nav a { display: block; padding: 12px 4px; border-bottom: 1px solid #eceeec; color: var(--ink); font-weight: 650; }

.button {
    min-height: 46px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 11px 19px;
    border: 1px solid var(--brand);
    border-radius: 8px;
    background: var(--brand);
    color: #fff;
    font-weight: 700;
    line-height: 1.2;
    transition: background .16s ease, border-color .16s ease, transform .16s ease;
}
.button:hover { background: var(--brand-hover); border-color: var(--brand-hover); }
.button:active { transform: translateY(1px); }
.button-small { min-height: 40px; padding: 9px 15px; font-size: .9rem; }
.button-secondary { border-color: var(--line-dark); background: var(--surface); color: var(--ink); }
.button-secondary:hover { border-color: #aeb6b1; background: var(--canvas); }
.button-quiet { border-color: transparent; background: transparent; color: var(--brand); }
.button-quiet:hover { background: var(--canvas); border-color: var(--line); }
.button-full { width: 100%; }

.eyebrow { display: block; margin-bottom: 11px; color: var(--accent); font-size: .72rem; font-weight: 780; letter-spacing: .14em; text-transform: uppercase; }
.hero { padding: 90px 0 82px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, #f6f7f5 0%, #f1f3f0 100%); }
.hero-grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(310px, .65fr); gap: 76px; align-items: center; }
.hero h1, .page-hero h1, .wizard-card h1, .admin-heading h1 {
    margin: 0;
    color: var(--ink-strong);
    font-weight: 690;
    line-height: 1.06;
    letter-spacing: -.048em;
}
.hero h1 { max-width: 770px; font-size: clamp(2.65rem, 5.4vw, 4.85rem); }
.hero-copy { max-width: 680px; margin: 24px 0 0; color: var(--muted); font-size: 1.16rem; line-height: 1.7; }
.hero-search { margin-top: 36px; padding: 14px; display: grid; grid-template-columns: 1.35fr .72fr auto; gap: 10px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-md); }
.hero-search label { min-width: 0; }
.hero-search label span, .field > span { display: block; margin-bottom: 6px; color: #4d575c; font-size: .76rem; font-weight: 740; letter-spacing: .01em; }
.hero-search select, .hero-search input, .field input, .field select, .field textarea {
    width: 100%;
    min-height: 46px;
    padding: 11px 13px;
    border: 1px solid var(--line-dark);
    border-radius: 7px;
    outline: none;
    background: var(--surface);
    color: var(--ink);
    transition: border-color .15s ease, box-shadow .15s ease;
}
.field textarea { min-height: 145px; resize: vertical; }
.hero-search select:focus, .hero-search input:focus, .field input:focus, .field select:focus, .field textarea:focus { border-color: #879a8f; box-shadow: 0 0 0 3px rgba(104,123,112,.13); }

.trust-panel { padding: 30px; border: 1px solid var(--line); border-radius: 12px; background: rgba(255,255,255,.72); }
.trust-panel h2 { margin: 0 0 10px; color: var(--ink-strong); font-size: 1.28rem; letter-spacing: -.02em; }
.trust-panel p { margin: 0 0 24px; color: var(--muted); }
.trust-list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.trust-list li { position: relative; padding: 14px 0 14px 28px; border-top: 1px solid var(--line); color: #4f5b60; font-size: .94rem; }
.trust-list li::before { content: ""; position: absolute; top: 21px; left: 3px; width: 8px; height: 8px; border: 2px solid var(--accent); border-radius: 50%; }

.section { padding: 78px 0; }
.soft-section { border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--canvas); }
.section-heading, .admin-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 30px; margin-bottom: 30px; }
.section-heading h2 { margin: 0; color: var(--ink-strong); font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 670; letter-spacing: -.035em; }
.section-heading a { color: var(--brand); font-size: .9rem; font-weight: 700; }
.category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.category-card { min-height: 165px; display: flex; flex-direction: column; padding: 22px; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); color: var(--ink); transition: border-color .16s ease, transform .16s ease, box-shadow .16s ease; }
.category-card:hover { transform: translateY(-2px); border-color: #b9c1bc; box-shadow: 0 12px 25px rgba(20,28,31,.06); }
.category-card strong { margin-top: 25px; color: var(--ink-strong); font-size: 1rem; font-weight: 720; }
.category-card span:last-child { margin-top: 5px; color: var(--muted); font-size: .87rem; line-height: 1.5; }
.category-mark { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); color: var(--brand); font-size: .82rem; font-weight: 800; }
.steps-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 54px; }
.steps-grid article { position: relative; }
.steps-grid article > span { display: inline-flex; margin-bottom: 18px; color: var(--accent); font-size: .76rem; font-weight: 800; letter-spacing: .12em; }
.steps-grid h3 { margin: 0 0 9px; color: var(--ink-strong); font-size: 1.15rem; letter-spacing: -.02em; }
.steps-grid p { margin: 0; color: var(--muted); }

.page-hero { padding: 68px 0; border-bottom: 1px solid var(--line); background: var(--canvas); }
.page-hero h1 { max-width: 800px; font-size: clamp(2.2rem, 4.5vw, 3.65rem); }
.page-hero p { max-width: 720px; margin: 18px 0 0; color: var(--muted); font-size: 1.08rem; }
.prose { font-size: 1.02rem; }
.prose h2 { margin: 36px 0 10px; color: var(--ink-strong); font-size: 1.35rem; letter-spacing: -.025em; }
.prose p { margin: 0; color: var(--muted); }
.prose .button { margin-top: 34px; }

.wizard-shell, .admin-shell { min-height: 72vh; padding: 58px 0 80px; background: var(--canvas); }
.wizard-card, .success-card { padding: 36px; border: 1px solid var(--line); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow-sm); }
.wizard-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 25px; }
.wizard-card h1 { font-size: clamp(2rem, 4vw, 2.65rem); }
.step-label { flex: 0 0 auto; margin-top: 8px; color: var(--muted); font-size: .86rem; }
.progress { height: 3px; margin: 28px 0 36px; overflow: hidden; background: #e3e6e3; }
.progress span { display: block; height: 100%; background: var(--accent); transition: width .2s ease; }
.wizard-step { display: none; }
.wizard-step.is-active { display: block; }
.wizard-step h2 { margin: 0 0 24px; color: var(--ink-strong); font-size: 1.35rem; font-weight: 680; letter-spacing: -.025em; }
.field { display: block; margin-bottom: 18px; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.field small { color: var(--muted); font-weight: 500; }
.muted { color: var(--muted); }
.upload-box { min-height: 150px; display: grid; place-items: center; gap: 10px; padding: 28px; border: 1px dashed #aeb8b2; border-radius: 9px; background: #fafbfa; text-align: center; cursor: pointer; }
.upload-box:hover { border-color: var(--accent); background: #f6f8f6; }
.upload-box input { max-width: 100%; }
.wizard-actions { display: flex; justify-content: space-between; gap: 12px; margin-top: 32px; padding-top: 22px; border-top: 1px solid var(--line); }
.check-row { display: flex; align-items: flex-start; gap: 11px; margin-top: 8px; color: #515c61; }
.check-row input { margin-top: 5px; }
.is-hidden { display: none !important; }

.success-card { text-align: center; }
.success-icon { width: 52px; height: 52px; display: grid; place-items: center; margin: 0 auto 22px; border: 1px solid #b8c8bd; border-radius: 50%; background: var(--success-soft); color: var(--success); font-weight: 800; }
.success-card h1 { margin: 0; color: var(--ink-strong); font-size: 2rem; letter-spacing: -.035em; }
.success-card p { max-width: 540px; margin: 15px auto 0; color: var(--muted); }
.reference-box { max-width: 360px; margin: 26px auto; padding: 15px; border: 1px solid var(--line); border-radius: 8px; background: var(--canvas); }
.reference-box span, .reference-box strong { display: block; }
.reference-box span { color: var(--muted); font-size: .78rem; }
.reference-box strong { color: var(--ink-strong); letter-spacing: .04em; }
.alert-error { margin-bottom: 18px; padding: 12px 14px; border: 1px solid #e5caca; border-radius: 7px; background: var(--danger-soft); color: var(--danger); }

.admin-heading h1 { font-size: clamp(2rem, 4vw, 3rem); }
.stats-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-bottom: 20px; }
.stats-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.stats-grid span { display: block; color: var(--muted); font-size: .8rem; font-weight: 650; }
.stats-grid strong { display: block; margin-top: 8px; color: var(--ink-strong); font-size: 1.75rem; font-weight: 680; line-height: 1; }
.table-card { overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: var(--surface); }
.table-scroll { overflow: auto; }
table { width: 100%; min-width: 860px; border-collapse: collapse; }
th, td { padding: 15px 16px; border-bottom: 1px solid var(--line); vertical-align: top; text-align: left; }
th { background: #f7f8f7; color: var(--muted); font-size: .72rem; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
td { color: #394348; font-size: .91rem; }
td strong { color: var(--ink-strong); }
td small { display: block; margin-top: 2px; color: var(--muted); }
tbody tr:hover { background: #fafbfa; }
.status { display: inline-block; padding: 4px 8px; border: 1px solid var(--line); border-radius: 999px; background: var(--canvas); color: #556066; font-size: .74rem; font-weight: 720; }
.status-pending { border-color: #ddd2b9; background: var(--warning-soft); color: var(--warning); }
.status-open { border-color: #c3ced2; background: #edf1f2; color: #405760; }
.status-completed { border-color: #c3d1c7; background: var(--success-soft); color: var(--success); }

.site-footer { padding: 34px 0; border-top: 1px solid var(--line); background: var(--surface); }
.footer-inner { display: flex; align-items: center; justify-content: space-between; gap: 20px; color: var(--muted); font-size: .88rem; }
.footer-inner strong { color: var(--ink); font-weight: 680; }

@media (max-width: 900px) {
    .desktop-nav { display: none; }
    .menu-button { display: inline-grid; place-items: center; }
    .mobile-nav.is-open { display: block; }
    .hero { padding: 62px 0; }
    .hero-grid { grid-template-columns: 1fr; gap: 34px; }
    .hero-search { grid-template-columns: 1fr; }
    .category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .steps-grid { grid-template-columns: 1fr; gap: 34px; }
    .stats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .container, .narrow, .login-width { width: min(100% - 24px, var(--content)); }
    .header-inner { min-height: 66px; }
    .brand { font-size: .98rem; }
    .brand-mark { width: 31px; height: 31px; }
    .hero { padding: 46px 0 52px; }
    .hero h1 { font-size: 2.55rem; }
    .hero-copy { font-size: 1rem; }
    .hero-search { margin-top: 28px; padding: 11px; }
    .trust-panel { padding: 24px; }
    .section { padding: 56px 0; }
    .section-heading, .admin-heading { align-items: flex-start; flex-direction: column; margin-bottom: 24px; }
    .category-grid { grid-template-columns: 1fr; }
    .category-card { min-height: 145px; }
    .page-hero { padding: 48px 0; }
    .wizard-shell, .admin-shell { padding: 28px 0 52px; }
    .wizard-card, .success-card { padding: 24px 20px; }
    .wizard-top { display: block; }
    .step-label { display: block; margin-top: 10px; }
    .field-grid { grid-template-columns: 1fr; gap: 0; }
    .wizard-actions .button { flex: 1; padding-left: 12px; padding-right: 12px; }
    .stats-grid { grid-template-columns: 1fr 1fr; }
    .footer-inner { align-items: flex-start; flex-direction: column; gap: 4px; }
}

/* =========================================================
   HIRE LOCAL EXPERT — VERSION 3 PRODUCT UI
   ========================================================= */
.ui-icon { flex: 0 0 auto; display: inline-block; vertical-align: middle; }
.brand-symbol { width: 42px; height: 42px; display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border: 1px solid #bfc8cc; border-radius: 5px; background: #fff; color: var(--brand); }
.brand-symbol span { display: grid; place-items: center; font-size: .72rem; font-weight: 800; }
.brand-symbol span:first-child { border-right: 1px solid #d6dcdf; background: #edf0f1; }
.brand-copy { display: grid; line-height: 1.12; }
.brand-copy strong { font-size: .98rem; font-weight: 760; letter-spacing: -.02em; }
.brand-copy small { margin-top: 4px; color: var(--muted); font-size: .66rem; font-weight: 560; letter-spacing: .025em; }
.menu-button { gap: 4px; align-content: center; justify-items: center; }
.menu-button span { width: 17px; height: 1px; background: currentColor; }

.hero-v3 { padding: 92px 0 86px; border-bottom: 1px solid var(--line); background: #f3f4f2; }
.hero-v3-grid { display: grid; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr); gap: 76px; align-items: stretch; }
.hero-v3-content { display: flex; flex-direction: column; justify-content: center; }
.hero-v3 h1 { max-width: 790px; margin: 0; color: #172126; font-size: clamp(3rem, 5.6vw, 5.15rem); font-weight: 650; line-height: 1.01; letter-spacing: -.06em; }
.hero-v3-content > p { max-width: 690px; margin: 26px 0 0; color: #5f6b70; font-size: 1.13rem; line-height: 1.72; }
.project-search { display: grid; grid-template-columns: minmax(240px, 1fr) 150px auto; gap: 10px; max-width: 840px; margin-top: 36px; padding: 12px; border: 1px solid #cfd5d2; border-radius: 7px; background: #fff; box-shadow: 0 8px 22px rgba(25, 34, 38, .045); }
.project-search label { min-width: 0; padding: 0 13px; border-right: 1px solid var(--line); }
.project-search label span { display: block; margin: 0 0 4px; color: #778086; font-size: .68rem; font-weight: 720; letter-spacing: .05em; text-transform: uppercase; }
.project-search select, .project-search input { width: 100%; min-height: 30px; padding: 0; border: 0; outline: 0; background: transparent; color: #222b30; font-weight: 650; }
.project-search .button { min-width: 180px; border-radius: 5px; }
.hero-assurances { display: flex; flex-wrap: wrap; gap: 20px 28px; margin-top: 25px; color: #657076; font-size: .82rem; font-weight: 610; }
.hero-assurances span { display: inline-flex; align-items: center; gap: 7px; }
.editorial-panel { display: grid; border: 1px solid #d4d9d6; background: rgba(255,255,255,.65); }
.editorial-card { position: relative; padding: 28px 30px 30px 68px; border-bottom: 1px solid #d4d9d6; }
.editorial-card:last-child { border-bottom: 0; }
.panel-number { position: absolute; top: 31px; left: 27px; color: #75847b; font-size: .67rem; font-weight: 800; letter-spacing: .08em; }
.editorial-card h2 { margin: 0 0 8px; color: #1f292e; font-size: 1.03rem; font-weight: 720; letter-spacing: -.02em; }
.editorial-card p { margin: 0; color: #6a7479; font-size: .89rem; line-height: 1.62; }

.section-compact { padding-top: 72px; padding-bottom: 82px; }
.refined-heading { align-items: flex-end; }
.refined-heading h2 { margin-bottom: 8px; }
.refined-heading p { max-width: 600px; margin: 0; color: var(--muted); }
.text-link { display: inline-flex; align-items: center; gap: 7px; color: var(--brand); font-weight: 720; }
.service-list-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.service-row { min-height: 96px; display: grid; grid-template-columns: 38px 1fr auto; gap: 18px; align-items: center; padding: 18px 18px 18px 0; border-bottom: 1px solid var(--line); color: var(--ink); }
.service-row:nth-child(odd) { margin-right: 24px; }
.service-row:nth-child(even) { margin-left: 24px; }
.service-row:hover strong { color: var(--brand); }
.service-index { width: 36px; height: 36px; display: grid; place-items: center; border: 1px solid #cfd5d2; border-radius: 4px; background: #f6f7f5; color: var(--brand); font-size: .75rem; font-weight: 800; }
.service-row-copy { min-width: 0; display: grid; }
.service-row-copy strong { color: #1f292e; font-size: .98rem; transition: color .15s ease; }
.service-row-copy small { margin-top: 4px; color: var(--muted); font-size: .79rem; }
.service-row > .ui-icon { color: #8b959a; }
.credibility-section { border-top: 1px solid var(--line); background: #273841; color: #fff; }
.credibility-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .75fr); gap: 90px; align-items: start; }
.credibility-section .eyebrow { color: #aabbb2; }
.credibility-section h2 { max-width: 660px; margin: 0; font-size: clamp(2.3rem, 4vw, 3.7rem); font-weight: 620; line-height: 1.1; letter-spacing: -.045em; }
.credibility-copy p { margin: 0 0 26px; color: #d5dcdf; font-size: 1.02rem; line-height: 1.75; }
.credibility-section .button-secondary { border-color: rgba(255,255,255,.28); background: transparent; color: #fff; }
.credibility-section .button-secondary:hover { background: rgba(255,255,255,.07); }

.admin-shell-v3 { min-height: 72vh; padding: 38px 0 74px; background: #f1f3f2; }
.admin-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 34px; }
.admin-sidebar { position: sticky; top: 112px; align-self: start; min-height: 570px; display: flex; flex-direction: column; padding: 22px 18px; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.admin-sidebar h2 { margin: 0; color: #1c272c; font-size: 1.05rem; letter-spacing: -.02em; }
.admin-sidebar nav { display: grid; gap: 5px; margin-top: 26px; }
.admin-sidebar nav a { display: flex; align-items: center; gap: 10px; padding: 10px 11px; border-radius: 5px; color: #5b666c; font-size: .86rem; font-weight: 650; }
.admin-sidebar nav a:hover, .admin-sidebar nav a.is-active { background: #edf1ef; color: #263a43; }
.admin-signout { margin-top: auto; padding: 11px; border-top: 1px solid var(--line); color: #7a4848; font-size: .84rem; font-weight: 700; }
.admin-content { min-width: 0; }
.admin-heading-v3 { margin-bottom: 24px; }
.admin-heading-v3 h1 { margin: 0; color: #172126; font-size: clamp(2.1rem, 4vw, 3.15rem); font-weight: 640; letter-spacing: -.05em; }
.admin-heading-v3 p { margin: 10px 0 0; color: var(--muted); }
.metrics-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.metrics-grid article { padding: 20px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.metrics-grid span { color: var(--muted); font-size: .74rem; font-weight: 700; }
.metrics-grid strong { display: block; margin-top: 10px; color: #1c272c; font-size: 1.85rem; font-weight: 650; line-height: 1; }
.metrics-grid small { display: block; margin-top: 8px; color: #8a9397; font-size: .72rem; }
.data-panel { overflow: hidden; border: 1px solid var(--line); border-radius: 7px; background: #fff; }
.data-panel-heading { display: flex; justify-content: space-between; padding: 19px 20px; border-bottom: 1px solid var(--line); }
.data-panel-heading h2 { margin: 0; color: #202b30; font-size: 1rem; }
.data-panel-heading p { margin: 3px 0 0; color: var(--muted); font-size: .78rem; }

@media (max-width: 980px) {
    .hero-v3-grid, .credibility-grid { grid-template-columns: 1fr; gap: 38px; }
    .project-search { grid-template-columns: 1fr 140px; }
    .project-search .button { grid-column: 1 / -1; }
    .editorial-panel { grid-template-columns: repeat(3, 1fr); }
    .editorial-card { padding-left: 28px; border-right: 1px solid #d4d9d6; border-bottom: 0; }
    .editorial-card:last-child { border-right: 0; }
    .panel-number { position: static; display: block; margin-bottom: 18px; }
    .admin-layout { grid-template-columns: 1fr; }
    .admin-sidebar { position: static; min-height: 0; }
    .admin-sidebar nav { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .admin-signout { margin-top: 20px; }
}

@media (max-width: 700px) {
    .brand-copy small { display: none; }
    .hero-v3 { padding: 54px 0 58px; }
    .hero-v3 h1 { font-size: 2.75rem; }
    .hero-v3-content > p { font-size: 1rem; }
    .project-search { grid-template-columns: 1fr; padding: 12px; }
    .project-search label { padding: 7px 5px 13px; border-right: 0; border-bottom: 1px solid var(--line); }
    .project-search .button { grid-column: auto; width: 100%; }
    .hero-assurances { display: grid; gap: 10px; }
    .editorial-panel { grid-template-columns: 1fr; }
    .editorial-card { border-right: 0; border-bottom: 1px solid #d4d9d6; }
    .service-list-grid { grid-template-columns: 1fr; }
    .service-row:nth-child(odd), .service-row:nth-child(even) { margin: 0; }
    .credibility-grid { gap: 30px; }
    .metrics-grid { grid-template-columns: 1fr 1fr; }
    .admin-sidebar nav { grid-template-columns: 1fr; }
}

/* =========================================================
   HIRE LOCAL EXPERT — VERSION 4 PUBLIC EXPERIENCE
   ========================================================= */
:root {
    --content: 1240px;
}

.home-hero {
    padding: 94px 0 86px;
    border-bottom: 1px solid var(--line);
    background:
        linear-gradient(90deg, rgba(238, 241, 238, .86) 0, rgba(247, 248, 246, .96) 52%, #f5f6f4 100%);
}
.home-hero-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(330px, .55fr);
    gap: 74px;
    align-items: center;
}
.home-hero-copy h1 {
    max-width: 800px;
    margin: 12px 0 0;
    color: #172126;
    font-size: clamp(3rem, 5.65vw, 5.25rem);
    font-weight: 640;
    line-height: 1.01;
    letter-spacing: -.062em;
}
.home-hero-copy > p {
    max-width: 680px;
    margin: 27px 0 0;
    color: #5c686e;
    font-size: 1.12rem;
    line-height: 1.75;
}
.home-search {
    display: grid;
    grid-template-columns: minmax(250px, 1fr) 150px auto;
    gap: 0;
    max-width: 850px;
    margin-top: 38px;
    overflow: hidden;
    border: 1px solid #cbd2ce;
    border-radius: 7px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(25, 34, 38, .055);
}
.home-search label {
    min-width: 0;
    padding: 13px 17px 12px;
    border-right: 1px solid var(--line);
}
.home-search label span {
    display: block;
    margin-bottom: 3px;
    color: #7a8388;
    font-size: .66rem;
    font-weight: 760;
    letter-spacing: .075em;
    text-transform: uppercase;
}
.home-search select,
.home-search input {
    width: 100%;
    min-height: 31px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #20292e;
    font-weight: 650;
}
.home-search-button {
    min-width: 176px;
    min-height: 100%;
    border: 0;
    border-radius: 0;
}
.home-proof-row {
    display: flex;
    flex-wrap: wrap;
    gap: 17px 27px;
    margin-top: 24px;
    color: #667176;
    font-size: .82rem;
    font-weight: 610;
}
.home-proof-row span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.home-trust-panel {
    border: 1px solid #d2d8d4;
    background: rgba(255,255,255,.72);
    box-shadow: 0 18px 44px rgba(24, 32, 35, .045);
}
.trust-panel-header {
    padding: 28px 30px 24px;
    border-bottom: 1px solid #d7dcd9;
}
.trust-panel-header strong {
    display: block;
    margin-top: 8px;
    color: #1d282d;
    font-size: 1.18rem;
    letter-spacing: -.025em;
}
.trust-steps {
    margin: 0;
    padding: 0;
    list-style: none;
}
.trust-steps li {
    display: grid;
    grid-template-columns: 34px 1fr;
    gap: 13px;
    padding: 23px 30px;
    border-bottom: 1px solid #d7dcd9;
}
.trust-steps li > span {
    color: #718078;
    font-size: .68rem;
    font-weight: 800;
    letter-spacing: .08em;
}
.trust-steps strong,
.trust-steps small {
    display: block;
}
.trust-steps strong {
    color: #263036;
    font-size: .94rem;
}
.trust-steps small {
    margin-top: 4px;
    color: #6b757a;
    font-size: .82rem;
    line-height: 1.55;
}
.home-trust-panel > .text-link {
    margin: 20px 30px 24px;
    font-size: .88rem;
}
.home-services {
    padding-top: 76px;
    padding-bottom: 84px;
}
.home-service-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    border-top: 1px solid var(--line);
    border-left: 1px solid var(--line);
}
.home-service-card {
    position: relative;
    min-height: 190px;
    display: flex;
    flex-direction: column;
    padding: 24px;
    border-right: 1px solid var(--line);
    border-bottom: 1px solid var(--line);
    background: #fff;
    transition: background .16s ease;
}
.home-service-card:hover {
    background: #f7f8f6;
}
.home-service-number {
    color: #8a9296;
    font-size: .67rem;
    font-weight: 780;
    letter-spacing: .08em;
}
.home-service-title {
    margin-top: auto;
    color: #20292e;
    font-size: 1.12rem;
    font-weight: 710;
    letter-spacing: -.025em;
}
.home-service-caption {
    margin-top: 5px;
    color: #758086;
    font-size: .8rem;
}
.home-service-arrow {
    position: absolute;
    top: 22px;
    right: 22px;
    color: #68766e;
}
.home-confidence {
    border-top: 1px solid var(--line);
    background: #f3f4f2;
}
.home-confidence-grid {
    display: grid;
    grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
    gap: 90px;
}
.home-confidence-intro h2 {
    max-width: 520px;
    margin: 10px 0 0;
    color: #1b252a;
    font-size: clamp(2.2rem, 4vw, 3.6rem);
    font-weight: 640;
    line-height: 1.08;
    letter-spacing: -.05em;
}
.home-confidence-copy > p {
    margin: 0;
    color: #5d696f;
    font-size: 1.05rem;
    line-height: 1.75;
}
.confidence-points {
    margin-top: 30px;
    border-top: 1px solid #cfd5d1;
}
.confidence-points > div {
    display: grid;
    grid-template-columns: 150px 1fr;
    gap: 22px;
    padding: 18px 0;
    border-bottom: 1px solid #cfd5d1;
}
.confidence-points strong {
    color: #243036;
    font-size: .9rem;
}
.confidence-points span {
    color: #6a757a;
    font-size: .88rem;
}
.home-callout {
    padding: 54px 0;
    border-top: 1px solid #31444d;
    background: #263942;
    color: #fff;
}
.home-callout-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 32px;
}
.home-callout .eyebrow {
    color: #b9c5c0;
}
.home-callout h2 {
    margin: 7px 0 0;
    font-size: clamp(2rem, 3vw, 2.8rem);
    font-weight: 630;
    letter-spacing: -.04em;
}
.home-callout p {
    margin: 8px 0 0;
    color: #cbd3d0;
}
.home-callout .button {
    border-color: #fff;
    background: #fff;
    color: #24363e;
}
.home-callout .button:hover {
    border-color: #eef1ef;
    background: #eef1ef;
}
.site-footer-v4 {
    padding: 54px 0 0;
    background: #fff;
}
.footer-grid {
    display: grid;
    grid-template-columns: 1.65fr repeat(3, minmax(130px, .7fr));
    gap: 54px;
    padding-bottom: 45px;
}
.footer-brand-block p {
    max-width: 380px;
    margin: 18px 0 0;
    color: var(--muted);
    font-size: .88rem;
}
.footer-column {
    display: grid;
    align-content: start;
    gap: 10px;
}
.footer-column strong {
    margin-bottom: 4px;
    color: #253036;
    font-size: .82rem;
    letter-spacing: .02em;
}
.footer-column a {
    color: #6a7479;
    font-size: .84rem;
}
.footer-column a:hover {
    color: #243840;
}
.footer-bottom {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    padding-top: 18px;
    padding-bottom: 22px;
    border-top: 1px solid var(--line);
    color: #7a8388;
    font-size: .78rem;
}

@media (max-width: 980px) {
    .home-hero-grid {
        grid-template-columns: 1fr;
        gap: 44px;
    }
    .home-trust-panel {
        max-width: 760px;
    }
    .home-service-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .home-confidence-grid {
        grid-template-columns: 1fr;
        gap: 36px;
    }
    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
    }
    .footer-column:last-child {
        grid-column: 2 / 3;
    }
}

@media (max-width: 700px) {
    .home-hero {
        padding: 54px 0 58px;
    }
    .home-hero-copy h1 {
        font-size: clamp(2.65rem, 12vw, 4rem);
    }
    .home-search {
        grid-template-columns: 1fr;
    }
    .home-search label {
        border-right: 0;
        border-bottom: 1px solid var(--line);
    }
    .home-search-button {
        min-height: 52px;
    }
    .home-proof-row {
        display: grid;
        gap: 10px;
    }
    .home-service-grid {
        grid-template-columns: 1fr;
    }
    .home-service-card {
        min-height: 142px;
    }
    .confidence-points > div {
        grid-template-columns: 1fr;
        gap: 5px;
    }
    .home-callout-inner {
        align-items: flex-start;
        flex-direction: column;
    }
    .home-callout .button {
        width: 100%;
    }
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 34px 26px;
    }
    .footer-brand-block {
        grid-column: 1 / -1;
    }
    .footer-column:last-child {
        grid-column: auto;
    }
    .footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}

/* =========================================================
   VERSION 5 — PUBLIC DISCOVERY & EXPERT PROFILE SYSTEM
   ========================================================= */
.button-block { width: 100%; }
.directory-hero { padding: 66px 0 42px; border-bottom: 1px solid var(--line); background: #f3f4f2; }
.directory-hero-inner { display: grid; grid-template-columns: 1fr minmax(450px, .9fr); align-items: end; gap: 54px; }
.directory-hero h1 { max-width: 650px; margin: 5px 0 12px; color: var(--ink-strong); font-size: clamp(2.5rem, 4.5vw, 4rem); line-height: 1.05; letter-spacing: -.055em; }
.directory-hero p { max-width: 650px; margin: 0; color: var(--muted); }
.directory-search { display: grid; grid-template-columns: 1fr 130px auto; gap: 9px; padding: 10px; border: 1px solid var(--line-dark); border-radius: 9px; background: var(--surface); box-shadow: var(--shadow-sm); }
.directory-search label { display: grid; gap: 3px; padding: 5px 11px; border-right: 1px solid var(--line); }
.directory-search label:nth-child(2) { border-right: 0; }
.directory-search label span, .sort-control span { color: var(--muted); font-size: .68rem; font-weight: 760; letter-spacing: .07em; text-transform: uppercase; }
.directory-search input { width: 100%; padding: 0; border: 0; outline: 0; color: var(--ink); background: transparent; }
.directory-section { padding: 38px 0 80px; background: var(--canvas); }
.directory-layout { display: grid; grid-template-columns: 245px minmax(0, 1fr); gap: 30px; align-items: start; }
.filter-panel { position: sticky; top: 96px; padding: 20px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.filter-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: 20px; }
.filter-heading strong { color: var(--ink-strong); }
.filter-heading a { color: var(--muted); font-size: .82rem; text-decoration: underline; text-underline-offset: 3px; }
.filter-check { display: flex; align-items: flex-start; gap: 9px; margin: 4px 0 20px; color: #4e595e; font-size: .88rem; }
.filter-check input { margin-top: 5px; }
.filter-note { margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.filter-note strong { color: var(--ink-strong); font-size: .85rem; }
.filter-note p { margin: 7px 0 0; color: var(--muted); font-size: .78rem; line-height: 1.55; }
.results-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.results-heading h2 { margin: 2px 0 0; color: var(--ink-strong); font-size: 1.8rem; letter-spacing: -.035em; }
.results-heading p { margin: 3px 0 0; color: var(--muted); font-size: .9rem; }
.sort-control { display: grid; gap: 5px; }
.sort-control select { min-width: 170px; padding: 9px 32px 9px 10px; border: 1px solid var(--line); border-radius: 6px; background: var(--surface); color: var(--ink); }
.expert-results-list { display: grid; gap: 12px; }
.expert-result-card { display: grid; grid-template-columns: 72px minmax(0, 1fr) 150px; gap: 20px; padding: 24px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); transition: border-color .16s ease, box-shadow .16s ease; }
.expert-result-card:hover { border-color: #bdc5c0; box-shadow: 0 10px 24px rgba(20,28,31,.055); }
.expert-monogram, .profile-monogram { display: grid; place-items: center; border: 1px solid #c7cfca; background: #edf0ed; color: var(--brand); font-weight: 800; letter-spacing: -.03em; }
.expert-monogram { width: 72px; height: 72px; border-radius: 8px; font-size: 1.05rem; }
.expert-result-top { display: flex; justify-content: space-between; gap: 20px; }
.expert-category { color: var(--accent); font-size: .7rem; font-weight: 800; letter-spacing: .09em; text-transform: uppercase; }
.expert-result-card h2 { margin: 2px 0 4px; color: var(--ink-strong); font-size: 1.24rem; letter-spacing: -.025em; }
.expert-result-card h2 a:hover { text-decoration: underline; text-underline-offset: 3px; }
.rating-line { display: inline-flex; align-items: center; gap: 5px; color: var(--muted); font-size: .82rem; }
.rating-line svg { color: #79673c; fill: #79673c; }
.rating-line strong { color: var(--ink-strong); }
.availability-note { flex: 0 0 auto; color: var(--success); font-size: .76rem; font-weight: 720; }
.expert-summary { max-width: 760px; margin: 15px 0 13px; color: #596469; font-size: .9rem; line-height: 1.55; }
.expert-facts { display: flex; flex-wrap: wrap; gap: 8px 18px; color: var(--muted); font-size: .8rem; }
.expert-facts span { display: inline-flex; align-items: center; gap: 6px; }
.verification-list { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.verification-list span { display: inline-flex; align-items: center; gap: 4px; padding: 4px 7px; border: 1px solid #cdd6d0; border-radius: 4px; background: #f5f7f5; color: #52665a; font-size: .69rem; font-weight: 680; }
.expert-result-actions { display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.expert-result-actions .button { width: 100%; padding: 10px 12px; font-size: .82rem; }
.expert-result-actions small { color: var(--muted); font-size: .68rem; line-height: 1.45; text-align: center; }
.empty-state { padding: 55px 30px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); text-align: center; }
.empty-state > span { color: var(--muted); }
.empty-state h1, .empty-state h2 { margin: 12px 0 5px; color: var(--ink-strong); }
.empty-state p { margin: 0 0 22px; color: var(--muted); }
.profile-cover { height: 210px; display: flex; align-items: flex-end; padding-bottom: 20px; border-bottom: 1px solid #34454d; background: linear-gradient(125deg, #263940, #465a60); }
.profile-cover span { color: rgba(255,255,255,.72); font-size: .71rem; font-weight: 760; letter-spacing: .1em; text-transform: uppercase; }
.profile-header-section { border-bottom: 1px solid var(--line); background: var(--surface); }
.profile-header-grid { min-height: 175px; display: flex; align-items: center; justify-content: space-between; gap: 30px; }
.profile-identity { display: flex; align-items: center; gap: 24px; }
.profile-monogram { width: 105px; height: 105px; margin-top: -52px; border: 5px solid var(--surface); border-radius: 12px; box-shadow: 0 0 0 1px var(--line); font-size: 1.45rem; }
.profile-identity h1 { margin: 3px 0 5px; color: var(--ink-strong); font-size: clamp(2rem, 4vw, 3rem); line-height: 1.05; letter-spacing: -.05em; }
.profile-identity p { margin: 9px 0 0; color: var(--muted); font-size: .88rem; }
.profile-primary-actions { display: flex; gap: 9px; }
.profile-main-section { padding: 38px 0 84px; background: var(--canvas); }
.profile-layout { display: grid; grid-template-columns: minmax(0, 1fr) 330px; gap: 25px; align-items: start; }
.profile-content { display: grid; gap: 16px; }
.profile-panel, .profile-contact-card, .profile-verification-card, .profile-service-area { padding: 28px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); }
.profile-panel h2, .profile-contact-card h2 { margin: 4px 0 12px; color: var(--ink-strong); font-size: 1.55rem; letter-spacing: -.035em; }
.profile-panel > p { color: var(--muted); }
.profile-fact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-top: 25px; }
.profile-fact-grid div { padding: 16px; border: 1px solid var(--line); border-radius: 6px; background: #fafbfa; }
.profile-fact-grid strong, .profile-fact-grid span { display: block; }
.profile-fact-grid strong { color: var(--ink-strong); font-size: 1.35rem; }
.profile-fact-grid span { color: var(--muted); font-size: .75rem; }
.service-chip-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; }
.service-chip-grid span { display: flex; align-items: center; gap: 8px; padding: 11px 12px; border: 1px solid var(--line); border-radius: 6px; color: #475358; font-size: .86rem; }
.portfolio-placeholder-grid { display: grid; grid-template-columns: 1.25fr .75fr .75fr; gap: 9px; min-height: 230px; }
.portfolio-placeholder-grid div { display: grid; place-items: center; border: 1px solid var(--line); border-radius: 6px; background: #eef0ed; color: var(--muted); font-size: .75rem; }
.panel-caption { margin-bottom: 0; font-size: .76rem; }
.review-list { display: grid; gap: 12px; }
.review-list article { padding: 18px 0; border-top: 1px solid var(--line); }
.review-list article:first-child { border-top: 0; }
.review-list article > div { display: flex; align-items: center; justify-content: space-between; gap: 15px; }
.review-list time { color: var(--muted); font-size: .75rem; }
.review-list p { margin: 10px 0 7px; color: #4e595e; }
.review-list article > strong { color: var(--muted); font-size: .76rem; }
.profile-sidebar { position: sticky; top: 96px; display: grid; gap: 14px; }
.profile-contact-card p, .profile-verification-card p, .profile-service-area p { color: var(--muted); font-size: .86rem; }
.profile-contact-card small { display: block; margin-top: 12px; color: var(--muted); text-align: center; }
.profile-verification-card > strong, .profile-service-area > strong { color: var(--ink-strong); }
.profile-service-area span { display: inline-flex; align-items: center; gap: 6px; color: var(--muted); font-size: .79rem; }

@media (max-width: 980px) {
    .directory-hero-inner, .directory-layout, .profile-layout { grid-template-columns: 1fr; }
    .filter-panel, .profile-sidebar { position: static; }
    .directory-search { max-width: 720px; }
    .profile-sidebar { grid-template-columns: repeat(2, 1fr); }
    .profile-contact-card { grid-row: span 2; }
}
@media (max-width: 720px) {
    .directory-hero { padding: 44px 0 30px; }
    .directory-search { grid-template-columns: 1fr; }
    .directory-search label { border-right: 0; border-bottom: 1px solid var(--line); }
    .expert-result-card { grid-template-columns: 54px minmax(0, 1fr); padding: 18px; }
    .expert-monogram { width: 54px; height: 54px; }
    .expert-result-actions { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; }
    .expert-result-actions small { grid-column: 1 / -1; }
    .expert-result-top { display: block; }
    .availability-note { display: inline-block; margin-top: 7px; }
    .results-heading, .profile-header-grid { align-items: flex-start; flex-direction: column; }
    .profile-header-grid { padding: 24px 0 28px; }
    .profile-identity { align-items: flex-start; }
    .profile-monogram { width: 72px; height: 72px; margin-top: -58px; flex: 0 0 auto; }
    .profile-primary-actions { width: 100%; }
    .profile-primary-actions .button { flex: 1; }
    .profile-fact-grid, .service-chip-grid, .profile-sidebar { grid-template-columns: 1fr; }
    .portfolio-placeholder-grid { grid-template-columns: 1fr 1fr; min-height: 300px; }
    .portfolio-placeholder-grid div:first-child { grid-column: 1 / -1; }
}


/* Version 6: expert accounts and portal */
.portal-auth { padding: 70px 0 90px; background: var(--canvas); }
.portal-auth-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: 54px; align-items: start; max-width: 1120px; }
.portal-auth-intro { padding-top: 34px; }
.portal-auth-intro h1 { margin: 8px 0 18px; color: var(--ink-strong); font-size: clamp(2.3rem,5vw,4.3rem); line-height: 1.02; letter-spacing: -.055em; }
.portal-auth-intro p { max-width: 520px; color: var(--muted); font-size: 1.05rem; line-height: 1.7; }
.portal-auth-intro ul { display: grid; gap: 12px; margin: 30px 0 0; padding: 0; list-style: none; color: #4d5a5f; }
.portal-auth-intro li { display: flex; align-items: center; gap: 9px; }
.portal-auth-card { padding: 32px; border: 1px solid var(--line); border-radius: 9px; background: var(--surface); box-shadow: var(--shadow-sm); }
.portal-auth-card h1,.portal-auth-card h2 { margin: 4px 0 24px; color: var(--ink-strong); letter-spacing: -.035em; }
.form-grid { display: grid; gap: 16px; }.form-grid.two { grid-template-columns: repeat(2,minmax(0,1fr)); }.form-grid.three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.field small { color: var(--muted); font-size: .74rem; }.auth-switch { margin: 20px 0 0; color: var(--muted); font-size: .85rem; text-align: center; }.auth-switch a { color: var(--brand); font-weight: 700; }
.alert-success { margin-bottom: 18px; padding: 12px 14px; border: 1px solid #bed0c2; border-radius: 6px; background: #f0f5f1; color: #496453; }
.portal-shell { min-height: 70vh; padding: 34px 0 80px; background: var(--canvas); }.portal-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:30px; align-items:start; }
.portal-sidebar { position:sticky; top:96px; min-height:500px; padding:24px; border:1px solid var(--line); border-radius:9px; background:var(--surface); display:flex; flex-direction:column; }.portal-sidebar h2 { margin:4px 0 20px; color:var(--ink-strong); font-size:1.05rem; }.portal-sidebar nav { display:grid; gap:5px; }.portal-sidebar nav a { padding:10px 11px; border-radius:5px; color:#566166; font-size:.86rem; }.portal-sidebar nav a:hover,.portal-sidebar nav a.is-active { background:#eef1ef; color:var(--ink-strong); font-weight:700; }.portal-sidebar .admin-signout { margin-top:auto; }
.portal-heading { display:flex; justify-content:space-between; gap:25px; align-items:flex-start; margin-bottom:24px; }.portal-heading h1 { margin:3px 0 5px; color:var(--ink-strong); font-size:2.2rem; letter-spacing:-.045em; }.portal-heading p { margin:0; color:var(--muted); }.account-status { padding:7px 10px; border:1px solid var(--line); border-radius:5px; font-size:.75rem; font-weight:750; }.status-approved { color:#44624e;background:#eef5f0 }.status-pending { color:#7c6838;background:#f7f3e8 }.status-rejected,.status-suspended { color:#7c4743;background:#f7eeee }
.notice-panel { margin-bottom:20px; padding:17px 19px; border:1px solid #d7cfb7; border-radius:7px; background:#faf7ed; }.notice-panel strong { color:#5d5131; }.notice-panel p { margin:4px 0 0; color:#766b4e; font-size:.86rem; }.metric-text { font-size:1.15rem!important; }.profile-completion { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:26px; }.profile-completion h2 { margin:0 0 5px; color:var(--ink-strong); }.profile-completion p { margin:0; color:var(--muted); }.profile-form { padding:28px; }.profile-form textarea { resize:vertical; }.form-actions { display:flex; justify-content:flex-end; padding-top:7px; }.align-bottom { align-self:end; padding-bottom:11px; }.inline-action { display:flex; align-items:center; gap:7px; }.inline-action select { min-width:105px; padding:7px; border:1px solid var(--line); border-radius:5px; background:white; }
@media(max-width:900px){.portal-auth-grid,.portal-layout{grid-template-columns:1fr}.portal-sidebar{position:static;min-height:0}.portal-sidebar .admin-signout{margin-top:20px}.portal-sidebar nav{grid-template-columns:repeat(3,1fr)} }
@media(max-width:650px){.portal-auth{padding:38px 0 65px}.portal-auth-card{padding:21px}.form-grid.two,.form-grid.three{grid-template-columns:1fr}.portal-sidebar nav{grid-template-columns:1fr}.portal-heading,.profile-completion{flex-direction:column}.profile-completion{align-items:flex-start}.inline-action{min-width:220px}}

/* Version 7: customer requests and expert lead matching */
.request-list,.lead-list,.response-list{display:grid;gap:14px}.request-card,.lead-card,.response-card,.request-detail,.empty-panel{border:1px solid var(--line);border-radius:8px;background:var(--surface);box-shadow:var(--shadow-sm)}.request-card{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:22px}.request-card h2,.lead-card h2{margin:4px 0 5px;color:var(--ink-strong);font-size:1.15rem}.request-card p,.lead-card p{margin:0;color:var(--muted)}.request-card-meta{display:flex;align-items:center;gap:14px}.request-card-meta strong{font-size:.82rem;color:#536066}.empty-panel{padding:38px;text-align:center}.empty-panel h2,.empty-panel h3{margin:0 0 7px;color:var(--ink-strong)}.empty-panel p{margin:0 0 18px;color:var(--muted)}.request-detail{padding:28px;margin:18px 0 32px}.request-detail h1{margin:5px 0 12px;color:var(--ink-strong);font-size:2rem}.request-detail>p{color:#4f5d63;line-height:1.75}.request-facts{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.request-facts span{padding:7px 9px;border:1px solid var(--line);border-radius:5px;color:#59656a;font-size:.78rem}.back-link{display:inline-block;margin-bottom:4px;color:var(--brand);font-weight:700;font-size:.85rem}.response-card{display:flex;justify-content:space-between;gap:28px;padding:22px}.response-card.is-selected{border-color:#9eb6a4;background:#f7faf7}.response-card h3{margin:0 0 8px}.response-card p{margin:0 0 9px;color:#536066;line-height:1.65}.response-card small{color:var(--muted)}.response-side{min-width:145px;display:flex;flex-direction:column;align-items:flex-end;gap:12px}.response-side>strong{font-size:1.25rem;color:var(--ink-strong)}.lead-card{padding:24px}.lead-card-head{display:flex;justify-content:space-between;gap:20px;margin-bottom:15px}.lead-response-form{display:grid;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;align-items:end;margin:0 0 16px}.section-heading h2{margin:3px 0 0;color:var(--ink-strong)}
@media(max-width:760px){.request-card,.response-card,.lead-card-head{align-items:flex-start;flex-direction:column}.request-card-meta{width:100%;flex-wrap:wrap}.response-side{width:100%;align-items:flex-start}.request-detail{padding:21px}}
