/* Solar Analysis — light brand theme
   White-first surfaces with restrained Evergreen / Dark Teal accents. */
:root {
  --brand-evergreen: #002626;
  --brand-dark-teal: #0e4749;
  --brand-yellow-green: #95c623;
  --brand-cayenne: #e55812;
  --brand-soft-linen: #efe7da;
  --brand-page: #f7faf7;
  --brand-white: #ffffff;
  --brand-tint: #eef5ef;
  --brand-line: #e3eae4;

  --forest: var(--brand-evergreen);
  --forest-deep: var(--brand-evergreen);
  --forest-soft: var(--brand-tint);
  --green: var(--brand-dark-teal);
  --lime: var(--brand-yellow-green);
  --ink: var(--brand-evergreen);
  --muted: #687a74;
  --muted-dark: #405a54;
  --line: var(--brand-line);
  --paper: var(--brand-page);
  --white: var(--brand-white);
  --gold: var(--brand-cayenne);
  --shadow: 0 5px 18px rgba(0, 38, 38, .045);
}

html { background: var(--brand-page); }
body,
.app-main,
.app-workspace {
  color: var(--brand-evergreen);
  background: var(--brand-page);
}

/* Evergreen navigation gives the light workspace a clear brand anchor. */
.app-sidebar {
  color: var(--brand-soft-linen);
  background: var(--brand-evergreen);
  border-right: 1px solid rgba(239, 231, 218, .16);
}
.sidebar-brand .brand-mark {
  color: var(--brand-yellow-green);
  background: var(--brand-dark-teal);
}
.sidebar-brand .brand-copy strong,
.sidebar-account strong { color: var(--brand-white); }
.sidebar-brand .brand-copy small,
.sidebar-account small,
.account-menu { color: #c4d3cc; }
.sidebar-new,
.sidebar-new.button-primary {
  color: var(--brand-evergreen) !important;
  background: var(--brand-yellow-green) !important;
  border-color: var(--brand-yellow-green) !important;
  font-weight: 750;
  box-shadow: 0 4px 12px rgba(0, 0, 0, .12);
}
.sidebar-new:hover {
  color: var(--brand-evergreen) !important;
  background: #acd83a !important;
  border-color: #acd83a !important;
}
.sidebar-label { color: #b8c9c0; }
.sidebar-link { color: #e1e9e4; }
.sidebar-link:hover {
  color: var(--brand-white);
  background: rgba(14, 71, 73, .85);
}
.sidebar-link.is-active {
  color: var(--brand-evergreen);
  background: #e7f2c9;
  border-color: #e7f2c9;
  font-weight: 750;
}
.sidebar-link-icon { color: #bdcec5; }
.sidebar-link.is-active .sidebar-link-icon { color: var(--brand-evergreen); }
.sidebar-status {
  background: var(--brand-dark-teal);
  border-color: rgba(239, 231, 218, .2);
}
.sidebar-status-top strong { color: var(--brand-white); }
.sidebar-status p { color: #d1ded7; }
.sidebar-status a { color: var(--brand-yellow-green); }
.sidebar-status a:hover { color: var(--brand-soft-linen); }
.sidebar-account { border-top-color: rgba(239, 231, 218, .2); }
.account-avatar {
  color: var(--brand-evergreen);
  background: var(--brand-yellow-green);
}

/* White top bar and very light neutral content canvas. */
.site-header {
  background: rgba(255, 255, 255, .96);
  border-bottom-color: var(--brand-line);
}
.topbar-eyebrow,
.topbar-context > strong { color: var(--brand-evergreen); }
.topbar-slash,
.topbar-actions { color: #71827b; }
.topbar-status { color: var(--brand-dark-teal); }
.status-dot {
  background: var(--brand-yellow-green);
  box-shadow: 0 0 0 3px rgba(149, 198, 35, .16);
}
.menu-toggle {
  background: #fff;
  border-color: #dfe7e1;
}
.menu-toggle span { background: var(--brand-evergreen); }
.mobile-nav {
  background: var(--brand-white);
  border-color: var(--brand-line);
  box-shadow: 0 12px 28px rgba(0, 38, 38, .1);
}
.mobile-nav a { color: #405a54; }
.mobile-nav a:hover { color: var(--brand-evergreen); background: #edf5e5; }

.section-kicker { color: var(--brand-dark-teal); }
.workspace-kicker-dot { background: var(--brand-cayenne); }
.workspace-heading h1,
.section-heading h2,
.method-copy h2,
.results-header h3 { color: var(--brand-evergreen); }
.workspace-heading h1 span,
.final-cta h2 span { color: var(--brand-dark-teal); }
.workspace-heading p,
.section-heading p,
.method-copy > p { color: #687a74; }

.overview-metric,
.input-card,
.mini-result,
.package-card,
.market-reference,
.method-copy,
.method-steps,
.workspace-next-step {
  background: var(--brand-white);
  border-color: var(--brand-line);
  box-shadow: 0 2px 10px rgba(0, 38, 38, .025);
}
.overview-metric-icon,
.next-step-icon,
.form-section-icon,
.analysis-spark,
.package-icon {
  color: var(--brand-dark-teal);
  background: #eef5ef;
}
.overview-metric-label,
.overview-metric small,
.next-step-copy span { color: #71827b; }
.overview-metric strong,
.next-step-copy strong { color: var(--brand-evergreen); }
.next-step-link,
.text-link { color: var(--brand-dark-teal); }
.app-section { border-top-color: #e7ede8; }

.estimate-label,
.reference-size,
.preview-badge {
  color: var(--brand-dark-teal);
  background: #fff;
  border-color: var(--brand-line);
}
.step-pill {
  color: var(--brand-evergreen);
  background: #eaf3dc;
}
.card-topline h3,
.form-section h4 { color: var(--brand-evergreen); }
.field > span:first-child { color: #294641; }
.field input,
.field select,
.input-wrap {
  color: var(--brand-evergreen);
  background: #fff;
  border-color: #dce5de;
}
.field input:focus,
.field select:focus,
.input-wrap:focus-within {
  border-color: var(--brand-dark-teal);
  box-shadow: 0 0 0 3px rgba(14, 71, 73, .09);
}
.choice-option input:checked + span {
  color: var(--brand-evergreen);
  background: #f1f7e9;
  border-color: #b6d27c;
  box-shadow: inset 0 0 0 1px #b6d27c;
}

/* Primary actions use teal; the bright green is a small supporting accent. */
.button-primary,
.button-submit,
.overview-primary-action {
  color: #fff !important;
  background: var(--brand-dark-teal) !important;
  border-color: var(--brand-dark-teal) !important;
  box-shadow: 0 4px 12px rgba(14, 71, 73, .12);
}
.button-primary:hover,
.button-submit:hover,
.overview-primary-action:hover {
  color: #fff !important;
  background: var(--brand-evergreen) !important;
  border-color: var(--brand-evergreen) !important;
}
.button-dark {
  color: #fff;
  background: var(--brand-evergreen);
}
.button-dark:hover { background: var(--brand-dark-teal); }
.button-outline,
.button-quiet,
.button-package {
  color: var(--brand-dark-teal);
  background: #fff;
  border-color: #d5e0d8;
}
.button-outline:hover,
.button-quiet:hover,
.button-package:hover {
  color: var(--brand-evergreen);
  background: #f0f6f0;
  border-color: #afc7b9;
}
.button-light {
  color: var(--brand-evergreen);
  background: #fff;
  border-color: var(--brand-line);
}
.button-light:hover { background: #edf5e5; }
button:focus-visible,
a:focus-visible,
input:focus-visible,
select:focus-visible { outline-color: var(--brand-cayenne); }

/* Result cards stay light so the report feels clean and easy to scan. */
.results-primary {
  color: var(--brand-evergreen);
  background: #f1f7f2;
  border: 1px solid #dce9df;
  box-shadow: none;
}
.result-label,
.results-primary > p,
.result-metric-grid small { color: #60746b; }
.capacity-line strong { color: var(--brand-dark-teal); }
.capacity-line span { color: #526c62; }
.result-tag {
  color: var(--brand-evergreen);
  background: #eaf3dc;
  border: 1px solid #dce9c8;
}
.result-divider { border-color: #dce7de; }
.metric-icon {
  color: var(--brand-dark-teal);
  background: #e3efe6;
}
.result-metric-grid strong { color: var(--brand-evergreen); }
.mini-result > span { color: #71827b; }
.mini-result > strong { color: var(--brand-evergreen); }
.analysis-card {
  background: #f7faf7;
  border-color: var(--brand-line);
}
.analysis-heading strong { color: var(--brand-evergreen); }
.analysis-heading small,
.analysis-card > p,
.analysis-point { color: #536b60; }
.analysis-point span { color: var(--brand-dark-teal); background: #eaf3dc; }
.result-disclaimer,
.form-footnote { color: #71827b; }

.package-card h3,
.package-price strong { color: var(--brand-evergreen); }
.package-featured {
  border-color: #c5d9a0;
  box-shadow: 0 5px 16px rgba(0, 38, 38, .04);
}
.featured-ribbon {
  color: var(--brand-evergreen);
  background: #eaf3dc;
  border: 1px solid #dce9c8;
}
.package-fit { color: var(--brand-dark-teal); }
.package-price { border-color: #e8eee8; }
.package-card li { color: #536b60; }
.package-card li::marker { color: var(--brand-yellow-green); }

.market-reference-head h3 { color: var(--brand-evergreen); }
.price-table th {
  color: var(--brand-dark-teal);
  background: #eef5ef;
}
.price-table td { color: #405a54; }
.price-table tr:nth-child(even) td { background: #fafcf9; }
.pricing-note {
  background: #f1f7f2;
  border-color: #dce9df;
}
.pricing-note strong,
.method-steps h3 { color: var(--brand-evergreen); }
.method-steps p { color: #687a74; }
.method-number {
  color: var(--brand-evergreen);
  background: #eaf3dc;
}

.final-cta {
  color: var(--brand-evergreen);
  background: #f0f6f0;
  border-top: 1px solid #e1ebe3;
}
.final-cta .section-kicker { color: var(--brand-dark-teal); }
.final-cta h2 { color: var(--brand-evergreen); }
.final-cta p { color: #687a74; }
.final-cta .button-light {
  color: #fff;
  background: var(--brand-dark-teal);
  border-color: var(--brand-dark-teal);
}
.site-footer {
  color: var(--brand-evergreen);
  background: #fff;
  border-top: 1px solid var(--brand-line);
}
.site-footer .brand-copy strong,
.site-footer .footer-main > p,
.site-footer .footer-bottom,
.site-footer a { color: #526960; }
.site-footer .brand-mark {
  color: var(--brand-yellow-green);
  background: var(--brand-evergreen);
}
.site-footer .brand-copy small { color: #82918a; }

@media (max-width: 850px) {
  .app-sidebar { background: var(--brand-evergreen); }
  .mobile-nav { box-shadow: 0 12px 28px rgba(0, 38, 38, .1); }
}


/* Public free-tool overview: clear estimates, user inputs and honest provider discovery status. */
.workspace-overview .workspace-heading {
  align-items: flex-end;
  padding-bottom: 18px;
}
.workspace-overview .workspace-heading h1 {
  max-width: 690px;
  color: var(--brand-evergreen);
}
.overview-benefits {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 14px;
}
.overview-benefits span {
  padding: 5px 8px;
  border: 1px solid #dce8df;
  border-radius: 999px;
  color: var(--brand-dark-teal);
  background: #fff;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .06em;
}
.overview-status-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
  color: #687a74;
  font-size: 11px;
}
.overview-estimate-status {
  display: inline-flex;
  align-items: center;
  padding: 6px 9px;
  border-radius: 7px;
  color: var(--brand-evergreen);
  background: #e7f2c9;
  font-weight: 750;
}
.workspace-overview .overview-metrics {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}
.workspace-overview .overview-metric {
  display: block;
  min-height: 134px;
  padding: 14px;
  border-top: 3px solid var(--brand-dark-teal);
}
.workspace-overview .overview-metric:nth-child(2) { border-top-color: var(--brand-yellow-green); }
.workspace-overview .overview-metric:nth-child(3) { border-top-color: var(--brand-dark-teal); }
.workspace-overview .overview-metric:nth-child(4) { border-top-color: #d8e2dc; }
.workspace-overview .overview-metric:nth-child(5) { border-top-color: var(--brand-cayenne); }
.workspace-overview .overview-metric-icon {
  width: 30px;
  height: 30px;
  margin-bottom: 10px;
  color: var(--brand-dark-teal);
  background: #edf5ef;
}
.workspace-overview .overview-metric:nth-child(2) .overview-metric-icon {
  color: #537b0c;
  background: #f0f7dc;
}
.workspace-overview .overview-metric:nth-child(5) .overview-metric-icon {
  color: #b44712;
  background: #fff1e9;
}
.workspace-overview .overview-metric-label {
  display: block;
  min-height: 30px;
  color: #62766d;
  font-size: 11px !important;
}
.workspace-overview .overview-metric strong {
  display: block;
  margin: 3px 0 2px;
  color: var(--brand-evergreen);
  font-size: clamp(17px, 1.35vw, 22px);
  line-height: 1.25;
}
.workspace-overview .overview-metric small { color: #77877f; }
.overview-inputs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 10px;
  padding: 13px 16px;
  border: 1px solid var(--brand-line);
  border-radius: 10px;
  background: #fff;
}
.overview-inputs > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.overview-inputs > div + div { border-left: 1px solid var(--brand-line); padding-left: 16px; }
.overview-inputs span {
  color: #71827b;
  font-size: 10px;
}
.overview-inputs strong {
  color: var(--brand-evergreen);
  font-size: 13px;
}
.provider-preview {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(245px, .8fr);
  align-items: center;
  gap: 22px;
  margin-top: 14px;
  padding: 20px;
  border: 1px solid #dce8df;
  border-radius: 13px;
  background: linear-gradient(115deg, #ffffff 0%, #f2f8ef 100%);
}
.provider-preview h2,
.overview-how-heading h2 {
  margin: 6px 0 7px;
  color: var(--brand-evergreen);
  font-size: 20px;
  line-height: 1.3;
  letter-spacing: -.45px;
}
.provider-preview-copy > p {
  max-width: 680px;
  margin: 0;
  color: #536b60;
  font-size: 12px;
  line-height: 1.65;
}
.provider-preview-copy > .provider-preview-note {
  margin-top: 8px;
  color: #75847b;
  font-size: 10px;
}
.provider-preview-side {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.provider-preview-status {
  align-self: flex-start;
  padding: 6px 8px;
  border: 1px solid #d6e6b9;
  border-radius: 7px;
  color: #486a12;
  background: #f2f8e5;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .05em;
}
.provider-location-card {
  display: flex;
  align-items: center;
  gap: 11px;
  padding: 12px;
  border: 1px solid var(--brand-line);
  border-radius: 9px;
  background: #fff;
}
.provider-location-card > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 9px;
  color: var(--brand-white);
  background: var(--brand-evergreen);
  font-size: 17px;
}
.provider-location-card > div { display: flex; flex-direction: column; gap: 2px; }
.provider-location-card small { color: #71827b; font-size: 10px; }
.provider-location-card strong { color: var(--brand-evergreen); font-size: 13px; }
.provider-preview-link {
  color: var(--brand-dark-teal);
  font-size: 11px;
  font-weight: 750;
}
.provider-preview-link:hover { color: var(--brand-evergreen); }
.overview-how { margin-top: 22px; }
.overview-how-heading { margin-bottom: 10px; }
.overview-how-heading h2 { font-size: 18px; }
.overview-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.overview-steps article {
  display: flex;
  gap: 11px;
  padding: 14px;
  border: 1px solid var(--brand-line);
  border-radius: 10px;
  background: #fff;
}
.overview-steps article > span {
  display: inline-flex;
  flex: 0 0 28px;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 8px;
  color: var(--brand-evergreen);
  background: #e7f2c9;
  font-size: 10px;
  font-weight: 800;
}
.overview-steps article strong { color: var(--brand-evergreen); font-size: 12px; }
.overview-steps article p {
  margin: 3px 0 0;
  color: #71827b;
  font-size: 10px;
  line-height: 1.55;
}
@media (max-width: 1100px) {
  .workspace-overview .overview-metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 850px) {
  .provider-preview { grid-template-columns: minmax(0, 1fr) minmax(220px, .7fr); }
}
@media (max-width: 650px) {
  .workspace-overview .overview-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .workspace-overview .overview-metric { min-height: 126px; }
  .workspace-overview .overview-metric:last-child { grid-column: 1 / -1; }
  .provider-preview { grid-template-columns: minmax(0, 1fr); padding: 16px; }
  .overview-steps { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 480px) {
  .overview-status-line { align-items: flex-start; flex-direction: column; }
  .overview-inputs { grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .overview-inputs > div + div { padding: 0; border-left: 0; }
  .workspace-overview .overview-metrics { gap: 8px; }
  .workspace-overview .overview-metric { padding: 11px; }
  .workspace-overview .overview-metric strong { font-size: 16px; }
}


/* Solar Project Bidding prototype */
.bidding-free-label { color: var(--brand-evergreen); background: #e7f2c9; border-color: #d8e9ad; }
.bidding-prototype-notice {
  display: flex; gap: 11px; align-items: flex-start; margin: 0 0 18px; padding: 14px 16px;
  border: 1px solid #ead7c9; border-radius: 10px; color: #67462f; background: #fff7f1;
}
.bidding-prototype-notice > span { display: inline-flex; flex: 0 0 25px; align-items:center; justify-content:center; width:25px;height:25px;border-radius:7px;color:#fff;background:var(--brand-cayenne);font-weight:800; }
.bidding-prototype-notice strong { display:block; color:#733b18; font-size:12px; }
.bidding-prototype-notice p { margin:4px 0 0;color:#765e4e;font-size:11px;line-height:1.6; }
.bidding-role-switch { display:flex;gap:8px;margin-bottom:8px; }
.bidding-role-button { display:inline-flex;align-items:center;gap:8px;padding:11px 15px;border:1px solid #d9e4dc;border-radius:9px;color:var(--brand-dark-teal);background:#fff;font-size:12px;font-weight:750;cursor:pointer; }
.bidding-role-button.is-active { color:#fff;border-color:var(--brand-evergreen);background:var(--brand-evergreen); }
.bidding-storage-status { min-height:18px;margin:0 0 17px;color:#71827b;font-size:10px!important; }
.bidding-panel[hidden] { display:none!important; }
.bidding-panel { padding:20px;border:1px solid var(--brand-line);border-radius:13px;background:#fff;box-shadow:0 3px 14px rgba(0,38,38,.035); }
.bidding-panel-heading,.bidding-list-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:15px; }
.bidding-panel-heading h3,.bidding-list-heading h3 { margin:5px 0;color:var(--brand-evergreen);font-size:20px;letter-spacing:-.4px; }
.bidding-panel-heading p { margin:0;color:#6b7b73;font-size:11px;line-height:1.6; }
.bidding-step-count { flex:0 0 auto;padding:6px 8px;border-radius:7px;color:var(--brand-dark-teal);background:#eef5ef;font-size:9px;font-weight:800;letter-spacing:.04em; }
.bidding-form { padding-top:16px;border-top:1px solid var(--brand-line); }
.bidding-form-grid,.provider-bid-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 13px; }
.bidding-form-grid .field,.provider-bid-grid .field { min-width:0; }
.bidding-form-grid input,.bidding-form-grid select,.bidding-form-grid textarea,.provider-bid-grid input,.provider-bid-grid textarea {
  width:100%;min-height:40px;padding:9px 11px;border:1px solid #dce5de;border-radius:8px;color:var(--brand-evergreen);background:#fff;font:inherit;font-size:12px;
}
.bidding-form-grid textarea,.provider-bid-grid textarea { min-height:88px;resize:vertical; }
.bidding-form-grid input:focus,.bidding-form-grid select:focus,.bidding-form-grid textarea:focus,.provider-bid-grid input:focus,.provider-bid-grid textarea:focus {
  outline:none;border-color:var(--brand-dark-teal);box-shadow:0 0 0 3px rgba(14,71,73,.1);
}
.bidding-form-grid .field-full,.provider-bid-grid .field-full { grid-column:1/-1; }
.bidding-form-grid small { display:block;margin-top:5px;color:#77877f;font-size:10px; }
.bidding-form-actions,.provider-bid-actions { display:flex;align-items:center;gap:13px;flex-wrap:wrap;margin-top:16px; }
.bidding-form-actions>span,.provider-bid-actions>span { color:#71827b;font-size:10px; }
.bidding-form-message { margin:9px 0 0;color:var(--brand-dark-teal);font-size:11px; }
.bidding-list-heading { align-items:flex-end;margin:28px 0 12px; }
.bidding-list-heading h3 { margin-bottom:0; }
.bidding-count { padding:5px 8px;border-radius:7px;color:var(--brand-dark-teal);background:#eef5ef;font-size:10px;font-weight:750; }
.bidding-project-list { display:grid;gap:13px; }
.bidding-empty { padding:28px 18px;text-align:center;border:1px dashed #cbd9d0;border-radius:11px;background:#f8fbf8; }
.bidding-empty>span { display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:9px;border-radius:11px;color:var(--brand-evergreen);background:#e7f2c9;font-size:19px; }
.bidding-empty strong { display:block;color:var(--brand-evergreen);font-size:13px; }
.bidding-empty p { max-width:500px;margin:5px auto 0;color:#71827b;font-size:11px;line-height:1.6; }
.bidding-project-card { padding:17px;border:1px solid var(--brand-line);border-radius:11px;background:#fff; }
.bidding-project-card-head { display:flex;justify-content:space-between;gap:15px;align-items:flex-start; }
.bidding-project-state { display:inline-flex;padding:4px 7px;border-radius:6px;font-size:9px;font-weight:800; }
.bidding-project-state.is-open { color:#42610e;background:#f0f7dd; }
.bidding-project-state.is-closed { color:#64736b;background:#edf1ee; }
.bidding-project-card h4 { margin:7px 0 2px;color:var(--brand-evergreen);font-size:15px; }
.bidding-project-card-head p { margin:0;color:#71827b;font-size:10px; }
.bidding-project-date { flex:0 0 auto;color:#84918a;font-size:10px; }
.bidding-project-budget { display:flex;align-items:center;gap:8px 14px;flex-wrap:wrap;margin:13px 0;padding:10px 12px;border-radius:8px;background:#f5f9f4; }
.bidding-project-budget span { color:#6c7d73;font-size:10px; }
.bidding-project-budget strong { color:var(--brand-evergreen);font-size:14px; }
.bidding-project-details { margin:8px 0 13px;color:#536b60;font-size:11px;line-height:1.6;white-space:pre-wrap; }
.bidding-offers-heading { display:flex;justify-content:space-between;gap:10px;margin:13px 0 9px;padding-top:12px;border-top:1px solid var(--brand-line); }
.bidding-offers-heading strong { color:var(--brand-evergreen);font-size:12px; }
.bidding-offers-heading span { color:#59752b;font-size:10px;font-weight:700; }
.provider-offer-list { display:grid;gap:9px;margin-bottom:12px; }
.provider-offer-card { padding:13px;border:1px solid #e1e8e2;border-radius:9px;background:#fbfdfb; }
.provider-offer-card.is-preferred { border-color:#a6c968;background:#f7fbeF; }
.provider-offer-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:10px; }
.provider-offer-heading>div { display:flex;flex-direction:column;gap:2px; }
.provider-offer-heading strong { color:var(--brand-evergreen);font-size:12px; }
.provider-offer-heading small { color:#84918a;font-size:9px; }
.offer-preferred-badge,.offer-over-budget,.offer-within-budget { padding:4px 6px;border-radius:6px;font-size:9px;font-weight:800;white-space:nowrap; }
.offer-preferred-badge { color:#476414;background:#e7f2c9; }
.offer-over-budget { color:#9a4316;background:#fff0e8; }
.offer-within-budget { color:#28634e;background:#e9f4ed; }
.provider-offer-price { margin:8px 0;color:var(--brand-evergreen);font-size:21px;font-weight:800; }
.provider-offer-facts { display:flex;flex-wrap:wrap;gap:8px 18px;margin-bottom:8px; }
.provider-offer-facts span,.provider-offer-contact { color:#6b7c73;font-size:10px; }
.provider-offer-facts strong { color:var(--brand-evergreen); }
.provider-offer-card p { margin:7px 0;color:#536b60;font-size:11px;line-height:1.55;white-space:pre-wrap; }
.provider-offer-contact { margin:8px 0 10px; }
.provider-offer-contact a { color:var(--brand-dark-teal);font-weight:700; }
.bidding-no-offers { padding:12px;border:1px dashed #d6e0d8;border-radius:8px;color:#71827b;background:#fafcf9; }
.bidding-no-offers strong,.bidding-no-offers span { display:block;font-size:10px; }
.bidding-no-offers strong { color:var(--brand-evergreen);margin-bottom:3px; }
.bidding-closed-note { color:#71827b;font-size:10px; }
.button-small { min-height:32px;padding:7px 10px;font-size:10px; }
.provider-bidding-guidance { display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px;padding:11px;border-radius:9px;background:#f4f8f2; }
.provider-bidding-guidance strong { flex-basis:100%;color:var(--brand-evergreen);font-size:11px; }
.provider-bidding-guidance span { padding:5px 7px;border:1px solid #dce8df;border-radius:7px;color:#536b60;background:#fff;font-size:9px; }
.provider-project-requirements { margin:7px 0 14px; }
.provider-project-requirements>span { color:#677b6f;font-size:10px;font-weight:700; }
.provider-project-requirements p { margin:4px 0 0;color:#536b60;font-size:11px;line-height:1.6;white-space:pre-wrap; }
.provider-bid-form { margin-top:14px;padding-top:14px;border-top:1px solid var(--brand-line); }
.provider-bid-form-heading { display:flex;justify-content:space-between;gap:10px;margin-bottom:12px; }
.provider-bid-form-heading strong { color:var(--brand-evergreen);font-size:12px; }
.provider-bid-form-heading span { color:#71827b;font-size:9px; }
.provider-bid-actions { justify-content:space-between; }
.bidding-process-note { margin-top:18px;padding:17px;border:1px solid #dce8df;border-radius:11px;background:#f7faf7; }
.bidding-process-note>strong { display:block;margin-bottom:11px;color:var(--brand-evergreen);font-size:12px; }
.bidding-process-grid { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px; }
.bidding-process-grid>div { display:flex;gap:8px;align-items:flex-start; }
.bidding-process-grid>div>span { display:inline-flex;flex:0 0 23px;align-items:center;justify-content:center;width:23px;height:23px;border-radius:7px;color:var(--brand-evergreen);background:#e7f2c9;font-size:9px;font-weight:800; }
.bidding-process-grid p { margin:0;color:#61736a;font-size:10px;line-height:1.55; }
@media (max-width: 760px) {
  .bidding-panel { padding:15px; }
  .bidding-project-card-head { flex-direction:column;gap:6px; }
  .bidding-process-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 520px) {
  .bidding-role-switch { display:grid;grid-template-columns:1fr 1fr; }
  .bidding-role-button { justify-content:center;padding:10px 7px;font-size:10px; }
  .bidding-form-grid,.provider-bid-grid { grid-template-columns:minmax(0,1fr); }
  .bidding-form-grid .field-full,.provider-bid-grid .field-full { grid-column:1; }
  .bidding-panel-heading { flex-direction:column; }
  .bidding-step-count { align-self:flex-start; }
  .bidding-form-actions { align-items:stretch;flex-direction:column; }
  .bidding-form-actions .button { width:100%; }
  .bidding-process-grid { grid-template-columns:minmax(0,1fr); }
}


/* Cross-country marketplace and account UI */
.bidding-system-message { margin:0 0 16px;padding:14px 16px;border:1px solid #e4c9b7;border-radius:10px;color:#704323;background:#fff7f1;font-size:12px;line-height:1.65; }
.bidding-form-message.is-error { color:#a33425; }
.bidding-form-message.is-success { color:#28634e; }
.marketplace-account-bar { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px;padding:13px 16px;border:1px solid var(--brand-line);border-radius:11px;background:#fff; }
.marketplace-account-bar>div { display:flex;min-width:0;flex-direction:column;gap:3px; }
.marketplace-account-bar strong { color:var(--brand-evergreen);font-size:13px; }
.marketplace-account-bar small { color:#71827b;font-size:10px;line-height:1.5; }
.marketplace-auth-panel { max-width:920px;margin-inline:auto; }
#marketplace-register-fields[hidden],#provider-company-field[hidden],#provider-country-field[hidden],#custom-cost-fields[hidden],#marketplace-session-panel[hidden],#marketplace-auth-panel[hidden],#homeowner-bidding-panel[hidden],#provider-bidding-panel[hidden],.bidding-panel[hidden] { display:none!important; }
#account-service-countries { min-height:120px; }
#account-service-countries option { padding:5px 8px; }
.bidding-form-grid select[multiple] { min-height:120px; }
@media (max-width:520px) { .marketplace-account-bar { align-items:flex-start; } .marketplace-account-bar .button { flex:0 0 auto; } }


/* Keep the desktop sidebar free of its own scrollbar after removing the status panel. */
.app-sidebar {
  min-height: 0;
  overflow: hidden;
}
.sidebar-spacer {
  min-height: 0;
}


/* Public bidding board */
.public-bidding-board { margin:0 0 22px;padding:20px;border:1px solid var(--brand-line);border-radius:14px;background:#fff; }
.public-bidding-board .bidding-list-heading { align-items:flex-start;margin:0 0 15px; }
.public-bidding-board .bidding-list-heading p { max-width:760px;margin:6px 0 0;color:#687b72;font-size:12px;line-height:1.6; }
.public-project-card { background:#fff; }
.public-project-action { display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid var(--brand-line); }
.public-project-action>span { color:#71827b;font-size:10px; }
.public-project-card .provider-project-requirements p { max-height:130px;overflow:auto; }
#public-bidding-message[hidden] { display:none!important; }
@media (max-width:520px) {
  .public-bidding-board { padding:14px; }
  .public-project-action { align-items:stretch;flex-direction:column; }
  .public-project-action .button { width:100%; }
}


/* Compact public project cards: 3 columns and 9 projects per page. */
.public-bidding-board .public-project-list,
.public-bidding-board .bidding-project-list {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  align-items:stretch;
}
.public-bidding-board .public-project-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  min-height:235px;
  padding:15px;
}
.public-project-card .bidding-project-card-head {
  display:block;
}
.public-project-card .bidding-project-state {
  margin-bottom:3px;
}
.public-project-card h4 {
  display:-webkit-box;
  min-height:2.5em;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow-wrap:anywhere;
  font-size:14px;
  line-height:1.3;
}
.public-project-location {
  margin:5px 0 0;
  color:#71827b;
  font-size:10px;
  line-height:1.45;
}
.public-project-specs {
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:12px 0 0;
}
.public-project-specs span {
  padding:5px 7px;
  border:1px solid var(--brand-line);
  border-radius:6px;
  color:var(--brand-dark-teal);
  background:#f7faf7;
  font-size:9px;
  font-weight:750;
}
.public-project-card .bidding-project-budget {
  display:block;
  margin:11px 0 8px;
  padding:10px;
}
.public-project-card .bidding-project-budget span {
  display:block;
}
.public-project-card .bidding-project-budget strong {
  display:block;
  margin-top:4px;
  font-size:13px;
  overflow-wrap:anywhere;
}
.public-project-offers {
  margin:0 0 11px;
  color:#71827b;
  font-size:10px;
}
.public-project-action {
  margin-top:auto;
  padding-top:10px;
  border-top:1px solid var(--brand-line);
}
.public-project-action .button {
  width:100%;
}
.public-project-pagination,
.public-project-board .public-project-pagination {
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:7px;
  margin:18px 0 2px;
}
.public-project-pagination[hidden] {
  display:none!important;
}
.public-project-pagination button {
  min-width:34px;
  min-height:34px;
  padding:7px 10px;
  border:1px solid var(--brand-line);
  border-radius:7px;
  color:var(--brand-dark-teal);
  background:#fff;
  font-size:11px;
  font-weight:700;
  cursor:pointer;
}
.public-project-pagination button[aria-current="page"] {
  color:#fff;
  border-color:var(--brand-evergreen);
  background:var(--brand-evergreen);
}
.public-project-pagination button:disabled {
  opacity:.42;
  cursor:not-allowed;
}
@media (max-width:900px) {
  .public-bidding-board .public-project-list,
  .public-bidding-board .bidding-project-list {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:600px) {
  .public-bidding-board .public-project-list,
  .public-bidding-board .bidding-project-list {
    grid-template-columns:minmax(0,1fr);
  }
  .public-bidding-board .public-project-card {
    min-height:0;
  }
}
