:root {
  --wp-navy: #10243a;
  --wp-teal: #087e7c;
  --wp-ink: #1c3044;
  --wp-muted: #637589;
  --wp-surface: #f5f8fb;
  --wp-border: #dfE7ee;
}
html { font-size: 14px; position: relative; min-height: 100%; scroll-behavior: smooth; }
@media(min-width:768px) { html { font-size: 16px; } }
body { background: var(--wp-surface); color: var(--wp-ink); margin: 0; }
.wp-header { background: white; border-bottom: 1px solid var(--wp-border); }
.wp-header .navbar { min-height: 76px; }
.wp-brand { display: inline-flex; align-items: center; gap: 10px; color: var(--wp-navy); font-size: 1.4rem; font-weight: 800; letter-spacing: -.04em; }
.wp-brand:hover { color: var(--wp-navy); }
.wp-brand-mark { background: var(--wp-navy); color: #fff; border-radius: 11px; width: 38px; height: 38px; display: inline-grid; place-items: center; font-size: 1.15rem; letter-spacing: -.08em; }
.wp-brand-accent, .wp-text-teal { color: var(--wp-teal); }
.wp-header .nav-link { color: var(--wp-ink); font-weight: 550; }
.wp-header .nav-link:hover { color: var(--wp-teal); }
.btn-primary { --bs-btn-bg: #087e7c; --bs-btn-border-color: #087e7c; --bs-btn-hover-bg: #076765; --bs-btn-hover-border-color: #076765; --bs-btn-active-bg: #075a59; --bs-btn-active-border-color: #075a59; --bs-btn-focus-shadow-rgb: 8,126,124; }
.wp-nav-action { color: #fff; padding: .65rem 1rem; }
.wp-page-container { min-height: calc(100vh - 160px); }
.wp-footer { padding: 24px 0; color: var(--wp-muted); background: white; border-top: 1px solid var(--wp-border); font-size: .875rem; }
.wp-hero { padding: 75px 0 85px; }
.wp-eyebrow { display: inline-block; text-transform: uppercase; font-size: .78rem; letter-spacing: .12em; color: var(--wp-teal); font-weight: 800; margin-bottom: 14px; }
.wp-hero h1 { font-size: clamp(2.5rem, 4.5vw, 4.15rem); letter-spacing: -.055em; line-height: 1.13; font-weight: 800; color: var(--wp-navy); }
.wp-hero-lead { font-size: 1.18rem; line-height: 1.8; color: var(--wp-muted); margin-top: 24px; max-width: 560px; }
.wp-support-note { color: var(--wp-muted); font-size: .9rem; }
.wp-example { background: white; border: 1px solid var(--wp-border); border-radius: 18px; box-shadow: 0 20px 48px rgba(16,36,58,.09); overflow: hidden; }
.wp-example-top { display: flex; align-items: center; gap: 6px; background: #edf3f7; padding: 13px 18px; color: var(--wp-muted); font-size: .76rem; }
.wp-example-dot { width: 9px; height: 9px; background: #bfccd6; border-radius: 50%; }
.wp-demo-badge { padding: 5px 9px; background: #e6f4f1; color: #076765; font-size: .72rem; border-radius: 20px; white-space: nowrap; }
.wp-example-file { display: flex; gap: 8px; align-items: center; background: #f6f9fb; border: 1px solid var(--wp-border); padding: 12px 14px; border-radius: 8px; font-size: .9rem; }
.wp-example-muted { color: var(--wp-muted); font-size: .75rem; }
.wp-mini-stat { border: 1px solid var(--wp-border); border-radius: 9px; padding: 15px 10px; text-align: center; }
.wp-mini-stat strong { display: block; font-size: 1.6rem; color: var(--wp-navy); }
.wp-mini-stat small { color: var(--wp-muted); }
.wp-findings { border: 1px solid var(--wp-border); border-radius: 8px; overflow: hidden; font-size: .82rem; }
.wp-findings > div { display: flex; align-items: center; gap: 12px; padding: 12px; }
.wp-findings > div + div { border-top: 1px solid var(--wp-border); }
.wp-severity { min-width: 64px; text-align: center; border-radius: 5px; padding: 4px 8px; font-size: .72rem; font-weight: 700; }
.wp-severity-high { background: #fee9e7; color: #a5352f; }
.wp-severity-med { background: #fff1d8; color: #90630d; }
.wp-severity-low { background: #e6f1fc; color: #315d8a; }
.wp-example-caption { margin-top: 14px; color: var(--wp-muted); font-size: .72rem; }
.wp-section { padding: 55px 0 85px; }
.wp-section h2, .wp-final-cta h2 { font-weight: 800; color: var(--wp-navy); letter-spacing: -.035em; }
.wp-section-subtitle { color: var(--wp-muted); }
.wp-feature { height: 100%; background: #fff; border: 1px solid var(--wp-border); border-radius: 14px; padding: 30px; }
.wp-feature h3 { font-size: 1.25rem; font-weight: 750; margin: 15px 0; }
.wp-feature p { color: var(--wp-muted); line-height: 1.65; margin: 0; }
.wp-step { font-weight: 800; color: var(--wp-teal); }
.wp-final-cta { padding: 45px 16px 70px; }
.wp-final-cta p { color: var(--wp-muted); margin: 15px 0 25px; }
.form-control:focus, .form-select:focus { border-color: var(--wp-teal); box-shadow: 0 0 0 .2rem rgba(8,126,124,.15); }
.btn:focus-visible, a:focus-visible { outline: 3px solid #66b8b3; outline-offset: 2px; }
@media(max-width:767px) { .wp-hero { padding: 50px 0; } .wp-section { padding: 30px 0 55px; } .wp-nav-action { margin: 8px 0 10px; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior: auto; } }

/* Unified WorkPilot application styling */
.btn-primary, .btn-primary:link, .btn-primary:visited {
  background-color: var(--wp-teal);
  border-color: var(--wp-teal);
  color: #fff;
}
.btn-primary:hover, .btn-primary:focus-visible {
  background-color: #076765;
  border-color: #076765;
  color: #fff;
}
.btn-outline-primary { color: var(--wp-teal); border-color: var(--wp-teal); }
.btn-outline-primary:hover { background: var(--wp-teal); border-color: var(--wp-teal); color: #fff; }
.wp-hero { padding-bottom: 42px; }
.wp-section { padding-top: 34px; }
.wp-upload-heading h1 { color: var(--wp-navy); letter-spacing: -.04em; }
.wp-upload-heading .lead { color: var(--wp-muted) !important; max-width: 700px; margin-left: auto; margin-right: auto; }
.wp-upload-card { border: 1px solid var(--wp-border); border-radius: 16px; overflow: visible; box-shadow: 0 12px 30px rgba(16,36,58,.05) !important; }
.wp-upload-card .form-label { color: var(--wp-navy); }
.wp-upload-card .form-text { line-height: 1.55; }
.wp-upload-page .card { border-radius: 12px; }
.wp-upload-page .card-body { min-width: 0; }
.wp-results-area { width: calc(100vw - 32px); left: 50%; transform: translateX(-50%); padding: 18px; background: var(--wp-surface); z-index: 2; border-radius: 14px; }
.wp-results-heading { margin-bottom: 20px; }
.wp-results-heading h3 { color: var(--wp-navy); font-weight: 800; letter-spacing: -.03em; margin-bottom: 5px; }
.wp-results-heading p { color: var(--wp-muted); margin-bottom: 0; }
.wp-summary-card { background: #fff; border-color: var(--wp-border) !important; box-shadow: 0 3px 12px rgba(16,36,58,.03); }
.wp-summary-card strong { color: var(--wp-navy); }
.wp-summary-card .fs-4 { font-weight: 800; }
.wp-issues-table-wrap { background: white; border: 1px solid var(--wp-border); border-radius: 10px; }
.wp-issues-table { margin-bottom: 0; font-size: .88rem; }
/* Constrain long spreadsheet values so the last columns remain accessible. */
.wp-issues-table { table-layout: fixed; width: 100%; min-width: 1100px; }
.wp-issues-table td { overflow-wrap: anywhere; word-break: normal; }
.wp-issues-table thead th { white-space: normal; overflow-wrap: anywhere; }
.wp-issues-table .wp-issue-suggestion { min-width: 0; }

.wp-issues-table thead th { color: var(--wp-navy); background: #edf3f7; font-weight: 700; white-space: nowrap; }
.wp-issues-table td, .wp-issues-table th { padding: 12px; border-color: var(--wp-border); }
.wp-issues-table td { vertical-align: middle; }
.wp-upload-page .alert { border-radius: 10px; }
.wp-upload-page .btn { white-space: normal; }
@media (max-width: 767px) {
  .wp-results-area { padding: 12px; }
  .wp-upload-card > .card-body { padding: 20px !important; }
  .wp-issues-table td, .wp-issues-table th { padding: 9px; }
}


/* Upload and analysis busy indicator; no fabricated completion percentage. */
.wp-processing-overlay[hidden] { display: none !important; }
.wp-processing-overlay {
  position: fixed; inset: 0; z-index: 5000;
  display: flex; align-items: center; justify-content: center;
  padding: 20px; background: rgba(16,36,58,.55);
}
.wp-processing-panel {
  width: min(440px, 100%); border-radius: 18px; background: #fff;
  padding: 32px 28px; box-shadow: 0 24px 60px rgba(16,36,58,.25);
  text-align: center;
}
.wp-processing-panel h2 { color: var(--wp-navy); font-weight: 800; }
.wp-processing-panel p { color: var(--wp-muted); }
.wp-processing-spinner {
  width: 46px; height: 46px; margin: 0 auto 20px;
  border: 5px solid #d9eeed; border-top-color: var(--wp-teal);
  border-radius: 50%; animation: wp-spin .85s linear infinite;
}
.wp-processing-track {
  position: relative; height: 5px; margin: 24px 0 17px;
  border-radius: 20px; background: #e5f0f0; overflow: hidden;
}
.wp-processing-track span {
  position: absolute; width: 34%; height: 100%; left: -34%;
  background: var(--wp-teal); border-radius: inherit;
  animation: wp-progress 1.5s ease-in-out infinite;
}
.wp-processing-panel .wp-processing-hint { font-size: .83rem; margin: 0; }
@keyframes wp-spin { to { transform: rotate(360deg); } }
@keyframes wp-progress { to { left: 100%; } }
@media(prefers-reduced-motion: reduce) {
  .wp-processing-spinner, .wp-processing-track span { animation-duration: 3s; }
}

/* WorkPilot business website — uses the existing navy and teal palette. */
.wp-business-hero { padding: 80px 0 70px; }
.wp-business-hero h1 { font-size: clamp(2.8rem, 5.3vw, 4.8rem); letter-spacing: -.055em; line-height: 1.11; font-weight: 800; color: var(--wp-navy); }
.wp-business-intro { max-width: 790px; }
.wp-business-intro h1 { color: var(--wp-navy); letter-spacing: -.04em; }
.wp-business-intro .lead { line-height: 1.7; }
.wp-data-journey { background: #fff; overflow: hidden; border-radius: 20px; border: 1px solid var(--wp-border); box-shadow: 0 22px 54px rgba(16,36,58,.1); }
.wp-journey-heading { background: #e9f1f5; display: flex; align-items: center; gap: 6px; color: #53667b; padding: 15px 20px; font-size: .8rem; }
.wp-journey-body { padding: 26px; }
.wp-journey-stage { display: flex; align-items: center; gap: 16px; border: 1px solid #dbe7ea; border-radius: 13px; padding: 19px; background: #f7fafb; }
.wp-journey-stage strong, .wp-journey-stage small { display: block; }
.wp-journey-stage strong { color: var(--wp-navy); font-size: 1.05rem; }
.wp-journey-stage small { margin-top: 5px; color: var(--wp-muted); }
.wp-journey-number { color: var(--wp-teal); font-weight: 800; font-size: 1.15rem; }
.wp-journey-arrow { color: var(--wp-teal); text-align: center; font-size: 1.3rem; margin: 5px; }
.wp-journey-finish { background: #e5f4f0; border-color: #b7e0d6; }
.wp-service-card, .wp-service-detail { background: #fff; border: 1px solid var(--wp-border); border-radius: 16px; padding: 30px; box-shadow: 0 8px 22px rgba(16,36,58,.035); }
.wp-service-icon { display: inline-flex; align-items: center; justify-content: center; border-radius: 11px; height: 42px; width: 42px; background: #e4f1f0; color: #076765; font-weight: 800; }
.wp-service-card h3 { color: var(--wp-navy); font-size: 1.3rem; font-weight: 750; margin: 22px 0 13px; }
.wp-service-card p, .wp-service-detail p, .wp-service-detail li { color: var(--wp-muted); line-height: 1.7; }
.wp-service-card a, .wp-text-link { color: #076765; font-weight: 700; }
.wp-service-detail h2 { color: var(--wp-navy); font-size: 1.7rem; font-weight: 750; }
.wp-service-detail h3 { color: var(--wp-navy); font-size: 1rem; font-weight: 750; margin-top: 23px; }
.wp-software-feature { margin: 20px 0 60px; padding: 44px 30px; background: #eaf3f4; border-radius: 22px; }
.wp-software-feature h2 { font-weight: 800; color: var(--wp-navy); letter-spacing: -.035em; }
.wp-software-feature p { line-height: 1.7; color: #526779; }
.wp-software-feature .wp-example p { color: var(--wp-muted); }
.wp-software-feature .wp-mini-stat, .wp-software-feature .wp-findings { background: #fff; }
@media(max-width:767px) { .wp-business-hero { padding: 48px 0; } .wp-service-card,.wp-service-detail { padding: 24px; } .wp-software-feature { padding: 27px 15px; } }

/* Business presentation polish. All selectors scoped to marketing surfaces. */
/* Keep navigation above decorative hero layers so links remain clickable. */
.wp-header { position: relative; z-index: 100; box-shadow: 0 2px 16px rgba(16,36,58,.035); }
.wp-header .navbar { min-height: 84px; }
.wp-header .navbar-nav { gap: .3rem !important; }
.wp-header .nav-link { padding: .65rem .8rem; border-radius: 9px; transition: color .15s ease, background .15s ease; }
.wp-header .nav-link:hover, .wp-header .nav-link:focus-visible { background: #edf7f5; }
.wp-header .dropdown-menu { border: 1px solid var(--wp-border); border-radius: 12px; box-shadow: 0 14px 32px rgba(16,36,58,.12); padding: 8px; }
.wp-header .dropdown-item { border-radius: 7px; padding: 9px 12px; }
.wp-header .dropdown-item:hover, .wp-header .dropdown-item:focus { background: #e7f4f1; color: #075a59; }
.wp-nav-action { border-radius: 9px; font-weight: 700; }
.wp-business-hero { position: relative; isolation: isolate; padding: 94px 0 90px; }
.wp-business-hero::before {
  content:""; position:absolute; inset:8% -8% 2% 38%; z-index:-1; pointer-events:none;
  background: radial-gradient(ellipse at 55% 40%,rgba(8,126,124,.13),transparent 66%);
}
.wp-business-hero h1 { font-size:clamp(3rem,5.5vw,5.3rem); max-width: 760px; line-height: 1.06; }
.wp-business-hero .wp-hero-lead { max-width:630px; line-height:1.72; font-size:1.17rem; color:#496177; }
.wp-hero-eyebrow { display: inline-flex; align-items: center; gap: 10px; border: 1px solid #c6e7df; border-radius: 99px; padding: 9px 14px; background: #eff8f4; letter-spacing: .09em; }
.wp-status-pip { display: inline-block; height: 8px; width: 8px; border-radius: 50%; background: #0b8f7d; }
.wp-business-hero .btn-lg, .wp-business-cta .btn-lg { border-radius:10px; padding: .83rem 1.3rem; font-weight: 700; }
.wp-hero-capabilities { display: flex; flex-wrap: wrap; align-items: center; gap: 9px; }
.wp-hero-capabilities span { padding: 8px 12px; background:#fff; border:1px solid #dce8eb; border-radius:8px; color:#425b6d; font-size:.82rem; font-weight:600; }
.wp-data-journey { border:1px solid #d2e2e6; border-radius:20px; box-shadow: 0 30px 70px rgba(16,36,58,.13); }
.wp-journey-heading { background: #10243a; color:#d9e7ed; padding:18px 23px; }
.wp-journey-heading .wp-example-dot { background:#607e90; }
.wp-journey-body { padding: 30px; background: linear-gradient(160deg,#fff 20%,#f1f9f8 100%); }
.wp-journey-intro { font-size:.69rem; color:#637b88; letter-spacing:.14em; font-weight:800; margin-bottom:21px; }
.wp-journey-stage { box-shadow: 0 4px 13px rgba(16,36,58,.035); background:#fff; padding:20px; }
.wp-journey-number { display:grid; place-items:center; height:40px; min-width:40px; background:#e1f1ec; border-radius:11px; font-size:.93rem; }
.wp-journey-finish { background: #e6f4f0; border-color:#a7d6c9; }
.wp-journey-arrow { font-size: 1.05rem; font-weight: 800; line-height: 1.7; }
.wp-section { padding-top: 60px; }
.wp-section h2 { font-size:clamp(1.9rem,3.3vw,2.65rem); }
.wp-section-subtitle { max-width:600px; margin-top:13px; line-height:1.6; }
.wp-service-card { display:flex; flex-direction:column; align-items:flex-start; border:1px solid #dbe6eb; border-radius:17px; padding:30px 26px; box-shadow:0 8px 23px rgba(16,36,58,.04); transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.wp-service-card:hover { transform: translateY(-4px); border-color:#b7d9d5; box-shadow:0 18px 38px rgba(16,36,58,.10); }
.wp-service-icon { height:52px; width:52px; border-radius:14px; background:#e3f3ef; }
.wp-service-glyph { font-size:1.6rem; line-height:1; color:#066e69; font-weight:700; }
.wp-service-card h3 { margin:27px 0 12px; line-height:1.25; font-size:1.22rem; }
.wp-service-card p { line-height:1.65; font-size:.95rem; flex:1; }
.wp-service-card a { display:inline-block; margin-top:22px; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:3px; font-size:.89rem; }
.wp-service-card a:hover { color:#064f4c; }
.wp-software-feature { background:linear-gradient(115deg,#e8f5f1 0%,#eef5f7 85%); border:1px solid #cfe5e0; padding:52px 44px; border-radius:24px; }
.wp-software-feature h2 { font-size:clamp(1.9rem,3.1vw,2.6rem); line-height:1.18; }
.wp-software-feature .wp-example { box-shadow:0 16px 36px rgba(16,36,58,.09); }
.wp-business-cta { background:#10243a; border-radius:23px; margin:15px 0 75px; padding:54px 24px; }
.wp-business-cta h2 { color:#fff; }
.wp-business-cta p { color:#b7ccda; }
.wp-business-cta .wp-eyebrow { color:#86d4cb; }
.wp-business-cta .btn-outline-secondary { color:#fff; border-color:#9aafbd; }
.wp-business-cta .btn-outline-secondary:hover { background:#fff; color:#10243a; border-color:#fff; }
.wp-service-detail { scroll-margin-top: 24px; transition:box-shadow .2s ease; }
.wp-service-detail h2 { line-height:1.25; }
.wp-service-detail li { margin-bottom:8px; }
.wp-business-intro { padding-bottom: 48px !important; }
.wp-business-intro h1 { font-size:clamp(2.25rem,4.4vw,3.6rem); }
.wp-business-intro .lead { max-width: 760px; color:#51697e !important; }
.wp-footer { background:#fdfefe; padding:32px 0; }
@media(max-width:991px) {
  .wp-business-hero { padding:65px 0 75px; }
  .wp-data-journey { transform:none; }
  .wp-header .navbar-nav { gap: .1rem !important; padding:12px 0; }
  .wp-header .nav-link { padding:.7rem 1rem; }
}
@media(max-width:767px) {
  .wp-business-hero { padding:46px 0 56px; }
  .wp-business-hero h1 { font-size:clamp(2.75rem,10vw,4rem); }
  .wp-business-hero .wp-hero-lead { margin-top:18px; font-size:1.06rem; }
  .wp-journey-body { padding:18px; }
  .wp-journey-stage { padding:15px; }
  .wp-service-card { padding:26px; }
  .wp-software-feature { padding:28px 20px; border-radius:16px; margin-bottom:46px; }
  .wp-business-cta { padding:40px 20px; margin-bottom:48px; }
}
@media(prefers-reduced-motion:reduce) {
  .wp-service-card { transition:none; }
  .wp-service-card:hover { transform:none; }
}

/* Report buttons: no slow Bootstrap colour fade on large analysis pages.
   Keep text visible throughout pointer hover and keyboard focus. */
.wp-upload-page .wp-report-download {
  color: #076765;
  border-color: #087e7c;
  background-color: #fff;
  transition: none;
}
.wp-upload-page .wp-report-download:hover,
.wp-upload-page .wp-report-download:focus-visible,
.wp-upload-page .wp-report-download:active {
  color: #fff;
  background-color: #087e7c;
  border-color: #087e7c;
  transition: none;
}
.wp-upload-page .wp-report-download:disabled {
  opacity: .72;
  transition: none;
}
