.fvm-site{--nav:#102a43;--blue:#1d70b7;--sky:#eaf5ff;--gold:#f5a623;--ink:#132238;--muted:#5d6d7e;--line:#dce6f0;--green:#137a50;--red:#a52d3c;color:var(--ink);font-family:Arial,Helvetica,sans-serif;line-height:1.55}.fvm-site:not(.fvm-portal-shell){width:100%;max-width:none;position:relative;left:auto;margin:0}.fvm-site *{box-sizing:border-box}.fvm-wrap{width:min(1160px,calc(100% - 36px));margin:auto}.fvm-hero{background:linear-gradient(135deg,#102a43,#1d70b7 68%,#42b6e6);color:#fff;padding:74px 0}.fvm-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:38px;align-items:center}.fvm-hero h1{font-size:clamp(38px,5vw,62px);line-height:1.03;margin:18px 0}.fvm-hero p{font-size:19px;color:#edf8ff;max-width:760px}.fvm-eyebrow{display:inline-block;padding:8px 13px;border:1px solid rgba(255,255,255,.35);border-radius:999px;background:rgba(255,255,255,.12);font-weight:700}.fvm-objectives{background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.28);border-radius:28px;padding:28px}.fvm-objectives h2{color:#fff;margin-top:0}.fvm-objectives li{margin:10px 0}.fvm-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:20px 0}.fvm-btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:0;border-radius:14px;font-weight:800;text-decoration:none;cursor:pointer}.fvm-gold{background:var(--gold);color:#102a43}.fvm-white{background:#fff;color:var(--nav)}.fvm-blue{background:var(--blue);color:#fff}.fvm-red{background:var(--red);color:#fff}.fvm-section{padding:58px 0}.fvm-section h2{font-size:34px;margin:0 0 12px}.fvm-lead{font-size:17px;color:var(--muted);max-width:980px}.fvm-pale{background:#f3f8fc}.fvm-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.fvm-cards article,.fvm-panel,.fvm-form-panel{background:#fff;border:1px solid var(--line);border-radius:24px;padding:24px;box-shadow:0 10px 30px rgba(16,42,67,.07)}.fvm-cards h3{margin-top:0}.fvm-cards p,.fvm-panel p{color:var(--muted)}.fvm-two{display:grid;grid-template-columns:1fr 1fr;gap:22px}.fvm-ticks{list-style:none;padding:0}.fvm-ticks li:before{content:'✓';color:var(--green);font-weight:900;margin-right:10px}.fvm-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fvm-form label{display:block;color:#27415f;font-weight:700}.fvm-form input,.fvm-form select,.fvm-form textarea,.fvm-main input,.fvm-main select,.fvm-main textarea{width:100%;margin-top:7px;padding:12px;border:1px solid #b9c8d8;border-radius:12px;background:#fff;font:inherit}.fvm-form textarea,.fvm-main textarea{min-height:120px}.fvm-full{grid-column:1/-1}.fvm-consent{display:flex!important;align-items:flex-start;gap:10px}.fvm-consent input{width:auto;margin-top:4px}.fvm-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important}.fvm-notice{padding:15px 18px;border-radius:14px;background:#fff5dc;border:1px solid #f1d188;margin:18px 0}.fvm-success{background:#e8f8f0;border-color:#a7dfc5;color:#14583d}.fvm-portal-shell{width:min(1440px,calc(100% - 24px));margin:24px auto}.fvm-login{max-width:540px;margin:70px auto}.fvm-login input{width:100%;padding:12px;border:1px solid var(--line);border-radius:10px}.fvm-portal-head{display:flex;justify-content:space-between;align-items:center;gap:18px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px 22px;margin-bottom:14px}.fvm-portal-head strong,.fvm-portal-head small{display:block}.fvm-portal-head a{margin-left:12px}.fvm-portal-grid{display:grid;grid-template-columns:250px minmax(0,1fr);gap:16px}.fvm-sidebar{background:var(--nav);padding:18px;border-radius:20px;min-height:680px}.fvm-sidebar a{display:block;color:#fff;text-decoration:none;padding:11px 12px;margin-bottom:7px;border-radius:10px;background:rgba(255,255,255,.08);font-weight:700}.fvm-sidebar a:hover{background:var(--gold);color:var(--nav)}.fvm-main{min-width:0;background:#f5f8fb;border-radius:20px;padding:22px}.fvm-main h1{margin-top:0}.fvm-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.fvm-stats div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px}.fvm-stats small,.fvm-stats strong{display:block}.fvm-stats strong{font-size:30px}.fvm-table-wrap{overflow:auto;background:#fff;border:1px solid var(--line);border-radius:18px}.fvm-table-wrap table{width:100%;border-collapse:collapse;min-width:800px}.fvm-table-wrap th,.fvm-table-wrap td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.fvm-table-wrap th{font-size:12px;text-transform:uppercase;background:#edf5fb}.fvm-badge{display:inline-flex;background:#e5f2fd;color:#175884;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:800}.fvm-mini{display:inline-flex;padding:7px 10px;border-radius:9px;background:#e2f2ff;color:#16537c;text-decoration:none;font-weight:800}.fvm-empty{padding:24px;background:#fff;border:1px dashed #b9c8d8;border-radius:16px;color:var(--muted)}.fvm-meta{display:grid;grid-template-columns:150px 1fr}.fvm-meta dt,.fvm-meta dd{padding:8px;margin:0;border-bottom:1px solid var(--line)}.fvm-meta dt{font-weight:800}.fvm-search{display:flex;gap:12px}.fvm-search input{margin:0}.fvm-site small{color:var(--muted)}
body.fvm-public-page-active,body.fvm-portal-page-active{overflow-x:hidden}
body.fvm-public-page-active .wp-block-post-title,body.fvm-public-page-active .entry-title,body.fvm-public-page-active .page-title,body.fvm-portal-page-active .wp-block-post-title,body.fvm-portal-page-active .entry-title,body.fvm-portal-page-active .page-title{display:none!important}
body.fvm-public-page-active .wp-site-blocks>main,body.fvm-public-page-active .site-main,body.fvm-public-page-active .content-area,body.fvm-public-page-active article.page,body.fvm-public-page-active .entry-content,body.fvm-public-page-active .wp-block-post-content,body.fvm-portal-page-active .wp-site-blocks>main,body.fvm-portal-page-active .site-main,body.fvm-portal-page-active .content-area,body.fvm-portal-page-active article.page,body.fvm-portal-page-active .entry-content,body.fvm-portal-page-active .wp-block-post-content{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
body.fvm-public-page-active .wp-block-post-content>.fvm-site,body.fvm-portal-page-active .wp-block-post-content>.fvm-site{margin-block-start:0!important}
body.fvm-portal-page-active .fvm-portal-shell{width:min(1440px,calc(100% - 24px))!important;max-width:1440px!important;margin:24px auto!important}
@media(max-width:900px){.fvm-hero-grid,.fvm-two,.fvm-portal-grid{grid-template-columns:1fr}.fvm-cards{grid-template-columns:1fr 1fr}.fvm-sidebar{min-height:0}.fvm-stats{grid-template-columns:1fr 1fr}}
@media(max-width:620px){.fvm-cards,.fvm-form-grid,.fvm-stats{grid-template-columns:1fr}.fvm-full{grid-column:auto}.fvm-hero{padding:48px 0}.fvm-portal-head{align-items:flex-start;flex-direction:column}.fvm-main{padding:14px}.fvm-search{display:block}.fvm-search button{margin-top:10px}}
.fvm-report-section{margin:16px 0}.fvm-report-section textarea{min-height:220px;width:100%}.fvm-report-preview{background:#fff}.fvm-report-preview>h1{color:#17365d;font-size:32px}.fvm-report-preview>h2{color:#1d70b7;border-bottom:1px solid #dce6f0;padding-bottom:7px;margin-top:26px}.fvm-report-preview table{width:100%;border-collapse:collapse}.fvm-report-preview th,.fvm-report-preview td{border:1px solid #dce6f0;padding:8px;text-align:left}.fvm-report-preview figure{margin:24px 0}.fvm-report-preview img{max-width:100%;height:auto;border-radius:12px}.fvm-report-preview figcaption{font-weight:700;margin-top:8px}.fvm-image-row,.fvm-message{padding:14px 0;border-bottom:1px solid #dce6f0}.fvm-image-row form{display:inline-block;margin-left:12px}.fvm-message p{margin-bottom:0}.fvm-print-report{margin-top:24px}@media print{.fvm-sidebar,.fvm-portal-head,.fvm-actions{display:none!important}.fvm-portal-grid{display:block}.fvm-main{background:#fff;padding:0}.fvm-report-preview{box-shadow:none;border:0}}
.fvm-advert-image{width:100%;height:210px;object-fit:cover;border-radius:16px;margin-bottom:14px}.fvm-muted{color:#5d6d7e}

/* v2.0.5 accessibility and contact visibility */
.fvm-contact-bar{display:flex;align-items:center;justify-content:center;gap:18px;flex-wrap:wrap;background:#071f35;color:#fff;padding:15px 20px;font-size:18px;font-weight:800;letter-spacing:.01em}.fvm-contact-bar strong{font-size:19px;color:#fff}.fvm-contact-link{display:inline-flex;align-items:center;min-height:46px;padding:9px 14px;border:2px solid #fff;border-radius:10px;color:#fff!important;background:#173f62;text-decoration:none!important;word-break:break-word}.fvm-contact-link:hover,.fvm-contact-link:focus{background:#f5a623;color:#102a43!important;border-color:#f5a623;outline:3px solid #fff;outline-offset:2px}.fvm-contact-footer{background:#102a43;color:#fff;padding:38px 0}.fvm-contact-footer h2,.fvm-contact-footer p{color:#fff}.fvm-contact-footer .fvm-contact-bar{justify-content:flex-start;padding:12px 0;background:transparent}.fvm-contact-compact{font-size:17px}.fvm-upload-notice,.fvm-image-placeholder{border-left:7px solid #1d70b7!important}.fvm-image-placeholder p{font-size:17px;color:#27415f}.fvm-site a:focus,.fvm-site button:focus,.fvm-site input:focus,.fvm-site textarea:focus,.fvm-site select:focus{outline:3px solid #f5a623;outline-offset:3px}.fvm-form label,.fvm-main label{font-size:17px}.fvm-btn{min-height:46px;font-size:16px}@media(max-width:620px){.fvm-contact-bar{align-items:stretch;flex-direction:column;text-align:center}.fvm-contact-link{justify-content:center;width:100%}}

.fvm-multi-upload input[type=file]{display:block;width:100%;margin-top:8px;padding:16px;border:2px dashed #1d70b7;border-radius:12px;background:#f7fbff}.fvm-selected-images{margin:16px 0}.fvm-selected-image{padding:14px;margin:10px 0;border:1px solid #cbd9e6;border-radius:10px;background:#f8fbfd}.fvm-selected-name{font-weight:800;margin-bottom:8px;word-break:break-word}.fvm-selected-image input{margin-top:6px;width:100%}
.fvm-file-picker{margin:16px 0}.fvm-file-picker input[type=file]{display:block;width:100%;margin-top:8px;padding:16px;border:2px dashed #1d70b7;border-radius:12px;background:#f7fbff}.fvm-selected-files{margin:12px 0}.fvm-selected-file,.fvm-case-file{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px;margin:8px 0;border:1px solid #cbd9e6;border-radius:10px;background:#f8fbfd;word-break:break-word}.fvm-selected-file span{font-weight:700}.fvm-selected-image .fvm-remove-selected{margin-top:10px}
.fvm-portal-head-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.fvm-install-portal{border:2px solid #fff;border-radius:9px;background:#f5a623;color:#102a43;font:inherit;font-weight:800;padding:8px 12px;cursor:pointer}.fvm-install-portal:hover,.fvm-install-portal:focus{background:#fff;color:#17365d}.fvm-job-card{display:none}.fvm-job-card-head{display:flex;justify-content:space-between;gap:20px;border-bottom:4px solid #17365d;padding-bottom:12px;margin-bottom:20px;color:#17365d}.fvm-job-card-notes span{display:block;height:38px;border-bottom:1px solid #9aa9b8}
@media(max-width:720px){.fvm-portal-head-actions{align-items:stretch;flex-direction:column}.fvm-install-portal{min-height:46px}}
@media print{body.fvm-printing-job-card *{visibility:hidden!important}body.fvm-printing-job-card .fvm-job-card,body.fvm-printing-job-card .fvm-job-card *{visibility:visible!important}body.fvm-printing-job-card .fvm-job-card{display:block!important;position:absolute;left:0;top:0;width:100%;padding:12mm;color:#111;background:#fff}body.fvm-printing-job-card .fvm-job-card .fvm-meta{display:grid;grid-template-columns:35% 65%;gap:0}body.fvm-printing-job-card .fvm-job-card dt,body.fvm-printing-job-card .fvm-job-card dd{margin:0;padding:6px;border-bottom:1px solid #ccd5dd}body.fvm-printing-job-card .fvm-job-card h1{font-size:24pt;margin:8px 0}body.fvm-printing-job-card .fvm-job-card h2{font-size:15pt;margin:5px 0 16px}}

/* v2.4.0 separate secure-message channels */
.fvm-message .fvm-badge{margin-left:8px}.fvm-message form{display:inline-block;margin-top:8px}.fvm-main>section.fvm-panel+section.fvm-panel{margin-top:20px}

/* v2.5.0 visual enquiry alerts and invoice accounts controls */
.fvm-sidebar a.fvm-enquiry-alert-link{background:#c62828;color:#fff;border:3px solid #fff;box-shadow:0 0 0 3px #c62828;animation:fvm-alert-pulse 1.8s ease-in-out infinite}.fvm-sidebar a.fvm-enquiry-alert-link:hover,.fvm-sidebar a.fvm-enquiry-alert-link:focus{background:#8e0000;color:#fff}.fvm-alert-count{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:28px;margin-left:7px;padding:0 8px;border-radius:999px;background:#fff;color:#a00000;font-size:16px;font-weight:900}.fvm-new-enquiry-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:18px 22px;border:4px solid #8e0000;border-radius:16px;background:#d32f2f;color:#fff!important;text-decoration:none;font-size:18px;box-shadow:0 8px 20px rgba(142,0,0,.25)}.fvm-new-enquiry-banner strong{font-size:22px}.fvm-new-enquiry-banner span{color:#fff}.fvm-stat-card{display:block;text-decoration:none;color:var(--ink)}.fvm-stats .fvm-pending-stat{background:#d32f2f;border:4px solid #8e0000;color:#fff}.fvm-stats .fvm-pending-stat small{color:#fff}.fvm-invoice-totals{display:flex;gap:22px;align-items:center;flex-wrap:wrap;margin:18px 0;padding:16px 18px;border:2px solid var(--blue);border-radius:14px;background:#eaf5ff;font-size:17px}.fvm-payment-form{display:grid;gap:6px;margin-top:8px;min-width:185px}.fvm-payment-form input,.fvm-payment-form select{margin:0;padding:7px;font-size:13px}.fvm-payment-form .fvm-mini{border:0;justify-content:center;cursor:pointer}@keyframes fvm-alert-pulse{0%,100%{box-shadow:0 0 0 3px #c62828}50%{box-shadow:0 0 0 7px rgba(198,40,40,.28)}}@media(prefers-reduced-motion:reduce){.fvm-sidebar a.fvm-enquiry-alert-link{animation:none}}@media(max-width:620px){.fvm-new-enquiry-banner{align-items:flex-start;flex-direction:column}.fvm-invoice-totals{align-items:flex-start;flex-direction:column;gap:6px}}
.fvm-instructing-client-box{margin:0 0 24px;padding:20px;border:4px solid var(--blue);border-radius:16px;background:#eaf5ff}.fvm-instructing-client-box h2{margin:0 0 8px;color:var(--nav)}.fvm-instructing-client-box p{margin-top:0;color:#27415f}.fvm-instructing-client-box select{background:#fff;border:2px solid var(--blue);font-weight:700}
.fvm-stats .fvm-stat-card{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.fvm-stats .fvm-stat-card.fvm-pending-stat{background:#d32f2f;border:4px solid #8e0000}

/* v2.6.1 simpler office invoicing and active-job actions */
.fvm-invoice-choice{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:18px 0}.fvm-invoice-choice .fvm-panel{margin:0}.fvm-row-actions{display:flex;gap:8px;flex-wrap:wrap;min-width:150px}.fvm-cancel-invoice{margin:18px 0}.fvm-cancel-invoice summary{cursor:pointer;color:var(--red);font-size:17px}.fvm-cancel-invoice[open] summary{margin-bottom:14px}
@media(max-width:900px){.fvm-invoice-choice{grid-template-columns:1fr}}

/* v2.7.0 report review alerts and office standard comments */
.fvm-report-progress{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:18px 0;padding:18px 20px;border:3px solid #17324d;border-radius:14px;background:#fff}
.fvm-report-progress div{display:flex;flex-direction:column;gap:5px}.fvm-report-progress strong{font-size:1.18rem;letter-spacing:.02em}.fvm-report-progress span{font-weight:600}
.fvm-report-not-started{border-color:#b42318;background:#fff1f0}.fvm-report-draft{border-color:#b7791f;background:#fff8dc}.fvm-report-returned{border-color:#b42318;background:#fff1f0}.fvm-report-submitted,.fvm-report-final,.fvm-report-checked{border-color:#087443;background:#eaf8f0}
.fvm-draft-saved-notice{border:3px solid #b7791f!important;background:#fff8dc!important}
@media(max-width:720px){.fvm-report-progress{align-items:stretch;flex-direction:column}.fvm-report-progress .fvm-btn{text-align:center}}
.fvm-release-checklist{list-style:none;padding:0;margin:18px 0}.fvm-release-checklist li{margin:8px 0;padding:12px 14px;border-radius:10px;font-weight:800}.fvm-release-checklist .is-ready{background:#eaf8f0;color:#075c35;border:2px solid #087443}.fvm-release-checklist .is-blocked{background:#fff1f0;color:#8e0000;border:2px solid #b42318}
.fvm-report-review-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 20px;padding:18px 22px;border:4px solid #8e0000;border-radius:16px;background:#d32f2f;color:#fff;font-size:18px;box-shadow:0 8px 20px rgba(142,0,0,.25)}.fvm-report-review-banner strong{font-size:22px}.fvm-report-review-banner span{color:#fff}.fvm-comment-picker{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;margin:0 0 14px;padding:14px;border:1px solid #b9c8d8;border-radius:12px;background:#f3f8fc}.fvm-comment-picker select{margin-top:6px}.fvm-comment-picker button{border:0;min-height:46px;cursor:pointer}@media(max-width:620px){.fvm-report-review-banner{align-items:flex-start;flex-direction:column}.fvm-comment-picker{grid-template-columns:1fr}}

/* v2.9.2 unmistakable office PDF replacement and visual check */
.fvm-btn.fvm-orange{background:#f5a623;color:#102a43;border:2px solid #b86f00}.fvm-btn.fvm-orange:hover,.fvm-btn.fvm-orange:focus{background:#ffd27a;color:#071f35}.fvm-final-upload{border:4px solid #f5a623!important;background:#fffaf0!important;scroll-margin-top:28px}.fvm-final-upload>h2{color:#102a43;font-size:1.55rem}.fvm-final-upload ol{margin:16px 0 20px;padding-left:26px}.fvm-final-upload li{margin:9px 0;font-size:17px}.fvm-pdf-confirm{display:flex!important;align-items:flex-start;gap:10px;padding:14px!important;border:2px solid #b7791f;border-radius:10px;background:#fff3cd;font-weight:800}.fvm-pdf-confirm input{width:auto!important;margin:5px 0 0!important;flex:0 0 auto}

/* v2.9.3 save-before-generation safeguards */
.fvm-report-save-warning{display:flex;flex-direction:column;gap:4px;margin:20px 0 14px;padding:16px 18px;border:4px solid #b42318;border-radius:12px;background:#fff1f0;color:#7a160f}.fvm-report-save-warning strong{font-size:20px}.fvm-report-save-warning span{font-size:17px;font-weight:700}.fvm-save-create-report{font-size:18px!important;box-shadow:0 0 0 4px #f5a623}.fvm-save-create-report:hover,.fvm-save-create-report:focus{box-shadow:0 0 0 5px #f5a623}

/* v2.9.4 clearer additional invoicing and cancellation */
.fvm-cancel-invoice{border:3px solid var(--red)!important;background:#fff5f5!important}.fvm-cancel-invoice summary{font-size:19px;font-weight:900}.fvm-inline-cancel{width:100%;margin-top:10px;padding:10px 12px;border:2px solid #d97884;border-radius:10px;background:#fff7f8}.fvm-inline-cancel summary{cursor:pointer;color:#8e1f2d;font-weight:900}.fvm-inline-cancel[open] summary{margin-bottom:10px}.fvm-invoice-create-form{margin-top:14px;padding:16px;border:2px solid #cbd9e6;border-radius:14px;background:#fff}.fvm-invoice-create-form button:disabled{opacity:.7;cursor:wait}
