/* Customer / landing user portal modernization. Scoped to user-portal-page only. */
.user-portal-page {
  --cp-bg: #f5f7fa;
  --cp-surface: #fff;
  --cp-border: #e4e9f0;
  --cp-border-strong: #d5dde7;
  --cp-text: #172033;
  --cp-muted: #667085;
  --cp-primary: #16a085;
  --cp-primary-dark: #117963;
  --cp-primary-soft: #eaf8f4;
  --cp-warning-soft: #fff6dc;
  --cp-shadow: 0 14px 38px rgba(23,32,51,.07);
  --cp-radius: 18px;
}
.user-portal-page .main-content { background: var(--cp-bg); padding: 30px 0 56px; border-radius: 24px; }
.user-portal-page .boxed-container { background: transparent; border: 0; box-shadow: none; }
.user-portal-page .dashboard-title { margin-bottom: 18px; border: 0; background: transparent; }
.user-portal-page .dashboard-title-item span { color: var(--cp-text); font-size: 24px; font-weight: 800; letter-spacing: -.02em; }
.user-portal-page .db-container { border: 0; border-radius: var(--cp-radius); background: transparent; box-shadow: none; }
.user-portal-page .user-dasboard-menu_wrap { overflow: hidden; border: 1px solid var(--cp-border); border-radius: 18px; background: var(--cp-surface); box-shadow: var(--cp-shadow); }
.user-portal-page .user-dasboard-menu-header { border-bottom: 1px solid var(--cp-border); background: linear-gradient(135deg,#fff,#f7fbfa); }
.user-portal-page .user-dasboard-menu_header-avatar { min-height: 84px; }
.user-portal-page .user-dasboard-menu_header-avatar img { width: 48px; height: 48px; border: 3px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 4px 14px rgba(23,32,51,.12); }
.user-portal-page .user-dasboard-menu.faq-nav { padding: 10px; }
.user-portal-page .user-dasboard-menu.faq-nav li { margin: 2px 0; }
.user-portal-page .user-dasboard-menu.faq-nav li a { display:flex; align-items:center; min-height:42px; padding:10px 12px; border-radius:10px; color:#475467; font-weight:650; transition:.18s ease; }
.user-portal-page .user-dasboard-menu.faq-nav li a:hover { background:var(--cp-primary-soft); color:var(--cp-primary-dark); transform:translateX(2px); }
.user-portal-page .hum_log-out_btn { margin: 10px; border-radius:10px; }
.user-portal-page .bookings-item,
.user-portal-page .dashboard-list-box,
.user-portal-page .profile-edit-container,
.user-portal-page .user-home-card { border:1px solid var(--cp-border); border-radius:16px; background:#fff; box-shadow:0 8px 26px rgba(23,32,51,.055); }
.user-portal-page .form-control,
.user-portal-page .form-select,
.user-portal-page input:not([type="checkbox"]):not([type="radio"]),
.user-portal-page select,
.user-portal-page textarea { border:1px solid var(--cp-border-strong); border-radius:10px; background:#fff; min-height:44px; }
.user-portal-page .form-control:focus,
.user-portal-page .form-select:focus,
.user-portal-page input:focus,
.user-portal-page select:focus,
.user-portal-page textarea:focus { border-color:var(--cp-primary); outline:0; box-shadow:0 0 0 4px rgba(22,160,133,.1); }
.customer-page-header { display:flex; justify-content:space-between; gap:24px; align-items:flex-end; margin-bottom:22px; padding:26px 28px; border:1px solid var(--cp-border); border-radius:20px; background:linear-gradient(135deg,#fff,#f8fcfb); box-shadow:var(--cp-shadow); }
.customer-page-header h1 { margin:5px 0 8px; color:var(--cp-text); font-size:clamp(28px,3vw,38px); line-height:1.1; letter-spacing:-.035em; }
.customer-page-header p { max-width:680px; margin:0; color:var(--cp-muted); line-height:1.6; }
.customer-page-eyebrow { color:var(--cp-primary-dark); font-size:11px; font-weight:850; letter-spacing:.09em; text-transform:uppercase; }
.applications-customer__header-summary { min-width:118px; padding:14px 18px; border-radius:15px; background:var(--cp-primary-soft); text-align:center; }
.applications-customer__header-summary strong { display:block; color:var(--cp-primary-dark); font-size:28px; line-height:1; }
.applications-customer__header-summary span { display:block; margin-top:5px; color:#52756c; font-size:11px; font-weight:700; text-transform:uppercase; }
.customer-metric-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:22px; }
.customer-metric-card { display:grid; grid-template-columns:auto 1fr; gap:12px; align-items:center; min-height:112px; padding:18px; border:1px solid var(--cp-border); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(23,32,51,.05); }
.customer-metric-card__icon { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--cp-primary-soft); color:var(--cp-primary-dark); font-size:18px; }
.customer-metric-card strong,.customer-metric-card span,.customer-metric-card small { display:block; }
.customer-metric-card strong { color:var(--cp-text); font-size:24px; line-height:1; }
.customer-metric-card div>span { margin-top:5px; color:#344054; font-size:12px; font-weight:800; }
.customer-metric-card small { margin-top:3px; color:var(--cp-muted); font-size:10px; line-height:1.35; }
.customer-filter-card,.applications-customer__section { margin-bottom:22px; padding:22px; border:1px solid var(--cp-border); border-radius:18px; background:#fff; box-shadow:var(--cp-shadow); }
.customer-filter-card__head,.applications-customer__section-head { display:flex; justify-content:space-between; align-items:flex-start; gap:18px; margin-bottom:18px; }
.customer-filter-card__head h2,.applications-customer__section-head h2 { margin:3px 0 5px; color:var(--cp-text); font-size:20px; letter-spacing:-.02em; }
.customer-filter-card__head p,.applications-customer__section-head p { margin:0; color:var(--cp-muted); font-size:13px; line-height:1.5; }
.customer-filter-clear,.customer-count-badge { display:inline-flex; align-items:center; gap:7px; min-height:36px; padding:8px 11px; border-radius:9px; background:#f7f8fa; color:#475467; font-size:11px; font-weight:750; }
.customer-filter-clear span,.customer-count-badge { background:var(--cp-primary-soft); color:var(--cp-primary-dark); }
.applications-customer__filter-grid { display:grid; grid-template-columns:2fr 1fr 1.2fr 1fr 1fr 1.1fr .65fr; gap:12px; align-items:end; }
.applications-customer__filter label { display:block; margin-bottom:6px; color:#344054; font-size:11px; font-weight:800; }
.applications-customer__filter input,.applications-customer__filter select { width:100%; min-height:44px; padding:9px 11px; border:1px solid var(--cp-border-strong); border-radius:10px; color:var(--cp-text); font-size:12px; }
.customer-input-icon { position:relative; }
.customer-input-icon i { position:absolute; left:12px; top:50%; color:#98a2b3; transform:translateY(-50%); }
.customer-input-icon input { padding-left:34px; }
.applications-customer__filter-action { grid-column:1 / -1; display:flex; justify-content:flex-end; }
.customer-primary-button,.customer-secondary-button { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:42px; padding:10px 15px; border:0; border-radius:10px; font-size:12px; font-weight:800; cursor:pointer; transition:.18s ease; }
.customer-primary-button { background:var(--cp-primary); color:#fff; box-shadow:0 7px 18px rgba(22,160,133,.17); }
.customer-primary-button:hover { background:var(--cp-primary-dark); color:#fff; transform:translateY(-1px); }
.customer-primary-button--small { min-height:38px; padding:9px 12px; }
.customer-secondary-button { border:1px solid var(--cp-border-strong); background:#fff; color:#344054; }
.customer-secondary-button--danger { color:#b42318; }
.customer-active-filters { display:flex; flex-wrap:wrap; gap:7px; align-items:center; margin-top:14px; padding-top:14px; border-top:1px solid var(--cp-border); }
.customer-active-filters>span:first-child { color:var(--cp-muted); font-size:11px; font-weight:750; }
.customer-filter-chip { padding:6px 9px; border-radius:999px; background:var(--cp-primary-soft); color:var(--cp-primary-dark); font-size:10px; font-weight:800; }
.applications-customer__card-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
.customer-application-card { overflow:hidden; border:1px solid var(--cp-border); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(23,32,51,.055); transition:transform .18s ease,box-shadow .18s ease; }
.customer-application-card:hover { transform:translateY(-2px); box-shadow:0 14px 32px rgba(23,32,51,.09); }
.customer-application-card__media { position:relative; height:146px; overflow:hidden; background:#eef2f5; }
.customer-application-card__media img { width:100%; height:100%; object-fit:cover; }
.customer-application-card__media>span:first-child { display:grid; place-items:center; width:100%; height:100%; color:#98a2b3; font-size:30px; }
.customer-status-pill { position:absolute; top:12px; right:12px; max-width:70%; padding:7px 10px; border-radius:999px; background:#172033; color:#fff; font-size:10px; font-weight:850; box-shadow:0 5px 15px rgba(0,0,0,.16); }
.customer-status-pill--draft,.customer-status-pill--neutral { background:#eef2f6; color:#475467; }
.customer-status-pill--warning { background:#fff0c2; color:#92510b; }
.customer-status-pill--success { background:#dff7e8; color:#18794e; }
.customer-status-pill--info,.customer-status-pill--primary { background:#e6f5ff; color:#12618a; }
.customer-status-pill--danger { background:#fee4e2; color:#b42318; }
.customer-application-card__body { padding:17px; }
.customer-application-card__type { display:block; margin-bottom:6px; color:var(--cp-primary-dark); font-size:10px; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.customer-application-card h3 { margin:0; color:var(--cp-text); font-size:16px; line-height:1.35; }
.customer-application-card h3 a { color:inherit; }
.customer-application-card__meta { display:grid; gap:7px; margin:14px 0 16px; color:var(--cp-muted); font-size:11px; }
.customer-application-card__meta span { display:flex; gap:7px; align-items:center; }
.customer-application-card__meta i { width:14px; color:var(--cp-primary); text-align:center; }
.customer-application-card__actions { display:flex; flex-wrap:wrap; gap:8px; }
.customer-empty-state { padding:38px 22px; text-align:center; }
.customer-empty-state>span { display:grid; place-items:center; width:52px; height:52px; margin:0 auto 12px; border-radius:15px; background:var(--cp-primary-soft); color:var(--cp-primary-dark); font-size:21px; }
.customer-empty-state h3 { margin:0 0 6px; color:var(--cp-text); }
.customer-empty-state p { max-width:440px; margin:0 auto 14px; color:var(--cp-muted); }
.customer-pagination { display:flex; justify-content:center; margin:22px 0 4px; }
.customer-pagination .pagination { display:flex; gap:6px; }
.customer-pagination .pagination a { display:grid; place-items:center; min-width:38px; height:38px; padding:0 10px; border:1px solid var(--cp-border); border-radius:9px; background:#fff; color:#475467; font-weight:750; }
.customer-pagination .pagination a.current-page { border-color:var(--cp-primary); background:var(--cp-primary); color:#fff; }
@media (max-width:1100px){.customer-metric-grid{grid-template-columns:repeat(2,1fr)}.applications-customer__filter-grid{grid-template-columns:repeat(3,1fr)}.applications-customer__filter--search{grid-column:span 2}}
@media (max-width:900px){.user-portal-page .main-content>.boxed-container>.row{row-gap:20px}.customer-page-header{align-items:flex-start}.applications-customer__filter-grid{grid-template-columns:repeat(2,1fr)}.applications-customer__filter--search{grid-column:1/-1}}
@media (max-width:767px){.user-portal-page .main-content{padding:18px 0 38px;border-radius:18px}.customer-page-header{display:grid;padding:20px}.applications-customer__header-summary{display:flex;gap:6px;align-items:baseline;justify-content:center}.applications-customer__header-summary strong{font-size:22px}.customer-metric-grid{grid-template-columns:1fr 1fr;gap:10px}.customer-metric-card{min-height:96px;padding:14px}.customer-filter-card,.applications-customer__section{padding:16px}.customer-filter-card__head,.applications-customer__section-head{display:grid}.applications-customer__filter-grid{grid-template-columns:1fr}.applications-customer__filter--search{grid-column:auto}.applications-customer__filter-action{grid-column:auto}.applications-customer__filter-action .customer-primary-button{width:100%}.applications-customer__card-grid{grid-template-columns:1fr}.customer-application-card__media{height:170px}}
@media (max-width:480px){.customer-metric-grid{grid-template-columns:1fr}.customer-page-header h1{font-size:28px}.customer-application-card__actions>*{width:100%}}

.customer-application-card__status { position:absolute; top:12px; right:12px; max-width:72%; z-index:2; }
.customer-application-card__status .status-badge { box-shadow:0 5px 15px rgba(0,0,0,.12); }


/* View application modernization */
.view-application-header { align-items: center; }
.view-application-header__meta { display:flex; flex-wrap:wrap; gap:8px 16px; margin-top:15px; }
.view-application-header__meta span { display:inline-flex; align-items:center; gap:7px; color:var(--cp-muted); font-size:11px; font-weight:650; }
.view-application-header__meta i { color:var(--cp-primary); }
.view-application-status-card { min-width:170px; padding:16px 18px; border:1px solid #cfe9e2; border-radius:14px; background:var(--cp-primary-soft); text-align:left; }
.view-application-status-card span { display:block; margin-bottom:5px; color:#52756c; font-size:9px; font-weight:850; letter-spacing:.07em; text-transform:uppercase; }
.view-application-status-card strong { color:var(--cp-primary-dark); font-size:15px; line-height:1.3; }
.user-portal-page .db-container > .dasboard-content-item { overflow:hidden; margin-bottom:18px; border:1px solid var(--cp-border); border-radius:16px; background:#fff; box-shadow:0 8px 26px rgba(23,32,51,.05); }
.user-portal-page .dashboard-widget-title-single { padding:17px 20px; border-bottom:1px solid var(--cp-border); background:#fbfcfd; color:var(--cp-text); font-size:15px; font-weight:800; }
.user-portal-page .dasboard-content-item .custom-form { padding:20px; }
.user-portal-page .notification { border-radius:13px; border:1px solid var(--cp-border); box-shadow:none; }
@media (max-width:767px){.view-application-status-card{min-width:0;width:100%}.view-application-header__meta{display:grid;gap:7px}}


/* View Application Phase 2B — customer-facing detail and action polish */
.view-application-page .db-container {
  display: grid;
  gap: 18px;
  padding-top: 2px;
}

.view-application-page .db-container > .dasboard-content-item,
.view-application-page .db-container > .notification {
  margin: 0 !important;
}

.view-application-page .view-app-status-banner {
  position: relative;
  padding: 17px 48px 17px 18px;
  border-color: #cfe9e2;
  background: linear-gradient(135deg, #f1fbf8, #fff);
  color: #38564f;
}

.view-application-page .view-app-status-banner p {
  margin: 0;
  font-size: 13px;
  line-height: 1.65;
}

.view-application-page .view-app-status-banner strong {
  color: var(--cp-text);
}

.view-application-page .view-app-status-banner a:not(.notification-close) {
  color: var(--cp-primary-dark);
  font-weight: 750;
}

.view-application-page .view-app-landlord-callout {
  padding-right: 18px;
}

.view-application-page .view-app-card-intro {
  padding: 18px 20px 0;
  color: var(--cp-muted);
  font-size: 13px;
  line-height: 1.65;
}

.view-application-page .view-app-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 20px;
}

.view-application-page .view-app-detail-item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 82px;
  padding: 15px;
  border: 1px solid var(--cp-border);
  border-radius: 13px;
  background: #fbfcfd;
}

.view-application-page .view-app-detail-item--wide {
  grid-column: 1 / -1;
}

.view-application-page .view-app-detail-item__icon,
.view-application-page .view-app-document-row__icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 11px;
  background: var(--cp-primary-soft);
  color: var(--cp-primary-dark);
  font-size: 16px;
}

.view-application-page .view-app-detail-item small,
.view-application-page .view-app-document-row small {
  display: block;
  margin-bottom: 3px;
  color: var(--cp-muted);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .035em;
}

.view-application-page .view-app-detail-item strong {
  display: block;
  color: var(--cp-text);
  font-size: 14px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.view-application-page .view-app-overview-documents {
  padding: 0 20px 20px;
}

.view-application-page .view-app-subheading {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: end;
  padding: 17px 0 11px;
  border-top: 1px solid var(--cp-border);
}

.view-application-page .view-app-subheading span {
  color: var(--cp-text);
  font-size: 13px;
  font-weight: 800;
}

.view-application-page .view-app-subheading small {
  color: var(--cp-muted);
  font-size: 11px;
}

.view-application-page .view-app-document-list {
  display: grid;
  gap: 9px;
  padding: 16px 20px 20px;
}

.view-application-page .view-app-overview-documents .view-app-document-list {
  padding: 0;
}

.view-application-page .view-app-document-row,
.view-application-page .view-app-document-action {
  color: inherit;
  text-decoration: none;
}

.view-application-page .view-app-document-row {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 66px;
  padding: 11px 13px;
  border: 1px solid var(--cp-border);
  border-radius: 12px;
  background: #fff;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.view-application-page .view-app-document-row:hover {
  border-color: rgba(22, 160, 133, .38);
  box-shadow: 0 8px 22px rgba(23, 32, 51, .07);
  transform: translateY(-1px);
}

.view-application-page .view-app-document-row strong {
  display: block;
  color: var(--cp-text);
  font-size: 13px;
  line-height: 1.35;
}

.view-application-page .view-app-document-row > i {
  color: var(--cp-primary-dark);
  font-size: 12px;
}

.view-application-page .view-app-action-card {
  border-color: #d7e9e4 !important;
}

.view-application-page .view-app-action-card .dashboard-widget-title-single {
  background: linear-gradient(135deg, #f6fcfa, #fbfcfd);
}

.view-application-page .view-app-action-card .custom-form {
  color: #475467;
  font-size: 13px;
  line-height: 1.65;
}

.view-application-page .view-app-action-card .custom-form > p:first-child {
  margin-top: 0;
}

.view-application-page .view-app-document-action {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  min-height: 42px;
  padding: 10px 13px;
  border: 1px solid var(--cp-border);
  border-radius: 10px;
  background: #fff;
  color: var(--cp-primary-dark);
  font-weight: 750;
}

.view-application-page .view-app-signing-card .pp-single-opt-wrap {
  margin: 0 0 16px !important;
}

.view-application-page .view-app-signing-card .pp-single-opt-links ul,
.view-application-page .view-app-signing-card .pp-single-opt-links li {
  margin: 0;
  padding: 0;
  list-style: none;
}

.view-application-page .view-app-signing-card .pp-single-opt-links a {
  display: flex;
  gap: 9px;
  align-items: center;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid var(--cp-border);
  border-radius: 11px;
  background: #fbfcfd;
  color: var(--cp-primary-dark);
  font-weight: 750;
}

.view-application-page .view-app-signature-options {
  display: grid;
  grid-template-columns: minmax(210px, .8fr) minmax(220px, 1fr);
  gap: 16px;
  align-items: start;
  width: 100%;
}

.view-application-page .view-app-signature-options > [class*="col-lg-"] {
  float: none;
  width: 100%;
  max-width: none;
  padding-right: 0;
  padding-left: 0;
}

.view-application-page .radio-image-container {
  min-height: 92px;
  padding: 12px;
  border: 1px solid var(--cp-border);
  border-radius: 12px;
  background: #fbfcfd;
}

.view-application-page .radio-image-container:hover {
  border-color: rgba(22, 160, 133, .42);
  background: var(--cp-primary-soft);
}

.view-application-page .radio-image {
  width: 64px;
  height: 54px;
  border-color: var(--cp-border);
  background: #fff;
}

.view-application-page .signature-wrapper {
  width: 100%;
  max-width: 620px;
  overflow: hidden;
  border: 1px dashed #b8c7c3;
  border-radius: 12px;
  background: #fff;
}

.view-application-page .signature-pad {
  display: block;
  width: 100%;
  height: 210px;
  background: #fff;
}

.view-application-page .view-app-signing-card > .form-check {
  margin: 0 20px 16px !important;
  padding: 14px 14px 14px 38px;
  border: 1px solid var(--cp-border);
  border-radius: 11px;
  background: #fbfcfd;
}

.view-application-page .view-app-signing-card > #sign-lease,
.view-application-page .view-app-signing-card > #sign-tracked-document {
  margin: 0 20px 20px !important;
}

.view-application-page #tenant-tenancy-notice .row {
  row-gap: 14px;
}

.view-application-page #tenant-tenancy-notice .cs-intputwrap label,
.view-application-page .view-app-signing-card .form-label {
  display: block;
  margin-bottom: 7px;
  color: #344054;
  font-size: 12px;
  font-weight: 750;
}

.view-application-page #tenant-tenancy-notice input,
.view-application-page #tenant-tenancy-notice textarea,
.view-application-page .view-app-signing-card select,
.view-application-page .view-app-signing-card input[type="file"] {
  width: 100%;
  border: 1px solid var(--cp-border-strong);
  border-radius: 10px;
  background: #fff;
}

@media (max-width: 900px) {
  .view-application-page .view-app-signature-options {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .view-application-page .view-app-detail-grid {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .view-application-page .view-app-detail-item--wide {
    grid-column: auto;
  }

  .view-application-page .view-app-overview-documents {
    padding: 0 16px 16px;
  }

  .view-application-page .view-app-document-list {
    padding: 14px 16px 16px;
  }

  .view-application-page .view-app-subheading {
    display: grid;
    gap: 4px;
    align-items: start;
  }

  .view-application-page .view-app-document-row {
    grid-template-columns: 38px minmax(0, 1fr) auto;
  }

  .view-application-page .view-app-card-intro {
    padding: 16px 16px 0;
  }

  .view-application-page .view-app-signing-card > .form-check,
  .view-application-page .view-app-signing-card > #sign-lease,
  .view-application-page .view-app-signing-card > #sign-tracked-document {
    margin-right: 16px !important;
    margin-left: 16px !important;
  }
}


/* Customer Portal Phase 2C — remaining page consistency */
.customer-page-header--compact { align-items:center; }
.customer-page-header--compact h1 { font-size:clamp(26px,2.7vw,34px); }

.user-portal-page .db-container > .dasboard-content,
.user-portal-page .db-container > .dasboard-content-item {
  margin-bottom:18px;
  border:1px solid var(--cp-border);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 26px rgba(23,32,51,.05);
  overflow:hidden;
}
.user-portal-page .db-container > .dasboard-content:last-child,
.user-portal-page .db-container > .dasboard-content-item:last-child { margin-bottom:0; }
.user-portal-page .dasboard-content > form,
.user-portal-page .dasboard-content > .row,
.user-portal-page .dasboard-content-item > form { padding:20px; }
.user-portal-page .dashboard-list-box { border:0; border-radius:0; box-shadow:none; background:#fff; }
.user-portal-page .dashboard-list { border-bottom:1px solid var(--cp-border); }
.user-portal-page .dashboard-list:last-child { border-bottom:0; }
.user-portal-page .dashboard-message { padding:0; border:0; background:transparent; }
.user-portal-page .main-dashboard-message-text { padding:16px 18px; color:#475467; }
.user-portal-page .main-dashboard-message-text p { margin:0 0 6px; line-height:1.55; }
.user-portal-page .main-dashboard-message-text p:last-child { margin-bottom:0; }
.user-portal-page .main-dashboard-message-text strong { color:var(--cp-text); }
.user-portal-page .main-dashboard-message-text small { color:var(--cp-muted); }

.user-portal-page .db-container > .row { --bs-gutter-x:14px; row-gap:14px; margin-bottom:20px !important; }
.user-portal-page .db-container > .row .boxed-content { height:100%; border:1px solid var(--cp-border); border-radius:15px; background:#fff; box-shadow:0 8px 24px rgba(23,32,51,.045); }
.user-portal-page .db-container > .row .boxed-content-item { min-height:108px; padding:18px; }
.user-portal-page .db-container > .row .boxed-content-item strong { color:#475467; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }
.user-portal-page .db-container > .row .boxed-content-item h4 { margin:8px 0 3px; color:var(--cp-text); font-size:24px; font-weight:850; letter-spacing:-.025em; }
.user-portal-page .db-container > .row .boxed-content-item small { color:var(--cp-muted); }

.user-portal-page label { display:block; margin-bottom:7px; color:#344054; font-size:12px; font-weight:750; }
.user-portal-page .db-container .btn,
.user-portal-page .db-container .commentssubmit { min-height:40px; padding:9px 14px; border-radius:10px; font-weight:750; }
.user-portal-page .db-container .btn.color-bg,
.user-portal-page .db-container .commentssubmit { border-color:var(--cp-primary); background:var(--cp-primary); color:#fff; }

/* Maintenance workspace */
.user-portal-page #maintenance-create-form .row { row-gap:16px; }
.user-portal-page #maintenance-create-form textarea { min-height:110px; resize:vertical; }
.user-portal-page [data-maintenance-confirmation] { padding-top:10px; }
.user-portal-page #maintenance-feedback:not([style*="display:none"]):not([style*="display: none"]) { margin-bottom:16px; }

/* Documents / notifications lists */
.user-portal-page .user-home-activity,
.user-portal-page .notifications-list { display:grid; gap:10px; }
.user-portal-page .user-home-activity__item { border:1px solid var(--cp-border); border-radius:13px; background:#fff; transition:.18s ease; }
.user-portal-page .user-home-activity__item:hover { border-color:rgba(22,160,133,.32); transform:translateY(-1px); box-shadow:0 8px 20px rgba(23,32,51,.055); }

/* Legacy purchases */
.user-portal-page .dashboard-listings-item { overflow:hidden; margin-bottom:14px; border:1px solid var(--cp-border); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(23,32,51,.05); }
.user-portal-page .dashboard-listings-item_img { overflow:hidden; border-radius:12px; }
.user-portal-page .dashboard-listings-item_img img { width:100%; height:100%; object-fit:cover; }
.user-portal-page .dashboard-listings-item_content { padding:18px; }
.user-portal-page .dashboard-listings-item_content h4,
.user-portal-page .dashboard-listings-item_content h3 { color:var(--cp-text); font-weight:800; }
.user-portal-page .dashboard-listings-item_opt { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }

/* Profile */
.user-portal-page .profile-edit-container { padding:0; }
.user-portal-page .edit-profile-photo { overflow:hidden; border:1px solid var(--cp-border); border-radius:16px; background:#fff; box-shadow:0 8px 24px rgba(23,32,51,.05); }
.user-portal-page .edit-profile-photo_cur { padding:22px; text-align:center; background:linear-gradient(135deg,#f7fbfa,#fff); }
.user-portal-page .edit-profile-photo_cur img { width:132px; height:132px; border:5px solid #fff; border-radius:50%; object-fit:cover; box-shadow:0 10px 30px rgba(23,32,51,.12); }
.user-portal-page .change-photo-btn { padding:14px 18px; }
.user-portal-page .photoUpload { border-radius:10px; }
.user-portal-page .cs-intputwrap { margin-bottom:14px; }
.user-portal-page .custom-form .cs-intputwrap > i { color:var(--cp-primary); }

/* Comparison and data tables */
.user-portal-page .table-responsive { border:1px solid var(--cp-border); border-radius:14px; background:#fff; }
.user-portal-page table { margin-bottom:0; }
.user-portal-page table th { background:#f8fafb; color:#344054; font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.03em; }
.user-portal-page table td { color:#475467; vertical-align:middle; }

@media (max-width:900px) {
  .customer-page-header--compact { align-items:flex-start; }
  .user-portal-page .db-container > .row .boxed-content-item { min-height:96px; }
}
@media (max-width:767px) {
  .customer-page-header--compact { padding:18px; }
  .customer-page-header--compact > a,
  .customer-page-header--compact > .customer-primary-button,
  .customer-page-header--compact > .customer-secondary-button { width:100%; }
  .user-portal-page .dasboard-content > form,
  .user-portal-page .dasboard-content > .row,
  .user-portal-page .dasboard-content-item > form { padding:16px; }
  .user-portal-page .db-container > .row .boxed-content-item { min-height:88px; padding:15px; }
  .user-portal-page .main-dashboard-message-text { padding:14px 15px; }
  .user-portal-page .dashboard-listings-item { display:block; }
}


/* Customer Portal Phase 2D: standalone receipt/signing consistency and final QA. */
.customer-standalone-page {
  --cp-bg:#f5f7fa; --cp-surface:#fff; --cp-border:#e4e9f0; --cp-border-strong:#d5dde7;
  --cp-text:#172033; --cp-muted:#667085; --cp-primary:#16a085; --cp-primary-dark:#117963;
  --cp-primary-soft:#eaf8f4; --cp-shadow:0 20px 56px rgba(23,32,51,.10);
  margin:0; min-height:100vh; background:radial-gradient(circle at 12% 0%,rgba(22,160,133,.09),transparent 28rem),var(--cp-bg); color:var(--cp-text);
}
.customer-standalone-shell { width:min(100% - 28px,860px); margin:0 auto; padding:48px 0; }
.customer-standalone-card { overflow:hidden; padding:30px; border:1px solid var(--cp-border); border-radius:24px; background:#fff; box-shadow:var(--cp-shadow); }
.customer-standalone-header { display:flex; justify-content:space-between; gap:24px; align-items:flex-start; padding-bottom:22px; border-bottom:1px solid var(--cp-border); }
.customer-standalone-header h1 { margin:5px 0 8px; font-size:clamp(28px,4vw,40px); line-height:1.08; letter-spacing:-.035em; }
.customer-standalone-header p { max-width:590px; margin:0; color:var(--cp-muted); line-height:1.65; }
.customer-standalone-brand { flex:0 0 auto; padding:9px 12px; border-radius:10px; background:var(--cp-primary-soft); color:var(--cp-primary-dark); font-size:12px; font-weight:850; }
.customer-standalone-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; padding-top:20px; border-top:1px solid var(--cp-border); }
.customer-standalone-page .customer-primary-button,.customer-standalone-page .customer-secondary-button { text-decoration:none; }
.customer-standalone-notice { display:flex; gap:12px; align-items:flex-start; margin-top:18px; padding:14px 16px; border:1px solid #d8ece7; border-radius:13px; background:#f6fbfa; color:#475467; }
.customer-standalone-notice>i { color:var(--cp-primary); margin-top:3px; }
.customer-standalone-notice strong,.customer-standalone-notice p { display:block; }
.customer-standalone-notice p { margin:3px 0 0; font-size:12px; line-height:1.55; }
.customer-standalone-notice--warning { border-color:#f3dfaa; background:#fffaf0; }
.customer-standalone-notice--warning>i { color:#b45309; }
.customer-receipt-status { display:flex; justify-content:space-between; align-items:center; gap:14px; margin:22px 0; padding:14px 16px; border-radius:13px; background:var(--cp-primary-soft); color:var(--cp-primary-dark); }
.customer-receipt-status span { font-size:11px; font-weight:750; text-transform:uppercase; letter-spacing:.06em; }
.customer-receipt-status strong { font-size:16px; }
.customer-receipt-status--reversed { background:#fff0ee; color:#b42318; }
.customer-receipt-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin:0; }
.customer-receipt-item { margin:0; padding:15px 16px; border:1px solid var(--cp-border); border-radius:13px; background:#fbfcfd; }
.customer-receipt-item--wide { grid-column:1/-1; }
.customer-receipt-item dt { margin:0 0 5px; color:var(--cp-muted); font-size:10px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.customer-receipt-item dd { margin:0; color:var(--cp-text); font-size:14px; font-weight:750; line-height:1.45; overflow-wrap:anywhere; }
.customer-signing-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:22px 0 16px; }
.customer-signing-summary>div { padding:14px; border:1px solid var(--cp-border); border-radius:12px; background:#fbfcfd; }
.customer-signing-summary span,.customer-signing-summary strong { display:block; }
.customer-signing-summary span { color:var(--cp-muted); font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.05em; }
.customer-signing-summary strong { margin-top:4px; font-size:13px; line-height:1.4; }
.customer-signing-document { display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center; padding:16px; border:1px solid #cfe9e2; border-radius:14px; background:#f5fcfa; color:var(--cp-text); text-decoration:none; }
.customer-signing-document>i:first-child { display:grid; place-items:center; width:40px; height:40px; border-radius:11px; background:#fff; color:var(--cp-primary-dark); font-size:18px; }
.customer-signing-document span,.customer-signing-document small { display:block; }
.customer-signing-document small { margin-top:3px; color:var(--cp-muted); font-size:11px; }
.customer-signing-document>i:last-child { color:var(--cp-primary-dark); }
.customer-signing-hash { margin-top:10px; color:var(--cp-muted); font-size:11px; }
.customer-signing-hash summary { cursor:pointer; font-weight:700; }
.customer-signing-hash code { display:block; margin-top:8px; padding:10px; border-radius:9px; background:#f6f7f9; overflow-wrap:anywhere; }
.customer-signing-message { margin:18px 0 0; padding:12px 14px; border-radius:10px; }
.customer-signing-step { display:grid; grid-template-columns:42px minmax(0,1fr); gap:16px; margin-top:22px; padding:20px; border:1px solid var(--cp-border); border-radius:16px; background:#fff; }
.customer-signing-step__number { display:grid; place-items:center; width:42px; height:42px; border-radius:12px; background:var(--cp-primary-soft); color:var(--cp-primary-dark); font-size:16px; font-weight:850; }
.customer-signing-step__content h2 { margin:4px 0 7px; font-size:19px; letter-spacing:-.02em; }
.customer-signing-step__content p { margin:0 0 14px; color:var(--cp-muted); line-height:1.55; }
.customer-signing-otp { margin-top:14px; }
.customer-signing-otp>label,.customer-signing-name>span { display:block; margin-bottom:6px; color:#344054; font-size:12px; font-weight:750; }
.customer-signing-inline-action { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; }
.customer-signing-page input[type="text"] { width:100%; min-height:44px; padding:10px 12px; border:1px solid var(--cp-border-strong); border-radius:10px; background:#fff; }
.customer-signing-page input[type="text"]:focus { border-color:var(--cp-primary); outline:0; box-shadow:0 0 0 4px rgba(22,160,133,.1); }
.customer-signing-consent { display:grid; grid-template-columns:auto 1fr; gap:10px; align-items:start; margin:14px 0; padding:13px 14px; border:1px solid var(--cp-border); border-radius:11px; background:#fbfcfd; color:#475467; line-height:1.55; cursor:pointer; }
.customer-signing-consent input { width:18px; height:18px; margin-top:2px; accent-color:var(--cp-primary); }
.customer-signing-name { display:block; margin-bottom:14px; }
@media (max-width:767px) {
  .customer-standalone-shell { width:min(100% - 18px,680px); padding:22px 0; }
  .customer-standalone-card { padding:20px 16px; border-radius:18px; }
  .customer-standalone-header { display:grid; gap:14px; }
  .customer-standalone-brand { justify-self:start; }
  .customer-receipt-grid,.customer-signing-summary { grid-template-columns:1fr; }
  .customer-receipt-item--wide { grid-column:auto; }
  .customer-signing-step { grid-template-columns:1fr; padding:16px; }
  .customer-signing-inline-action { grid-template-columns:1fr; }
  .customer-standalone-actions { display:grid; grid-template-columns:1fr; }
  .customer-standalone-actions>* { width:100%; }
}
@media print {
  .customer-receipt-page { background:#fff; }
  .customer-receipt-page .customer-standalone-shell { width:100%; padding:0; }
  .customer-receipt-page .customer-standalone-card { border:0; border-radius:0; box-shadow:none; }
  .customer-receipt-page .receipt-actions { display:none !important; }
}

/* Offer to Buy — customer purchase journey */
.purchase-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:0 0 22px}.purchase-summary-grid article{background:#fff;border:1px solid #e7ebf0;border-radius:18px;padding:18px;box-shadow:0 10px 28px rgba(15,23,42,.05)}.purchase-summary-grid small,.purchase-summary-grid span{display:block;color:#687386}.purchase-summary-grid strong{display:block;font-size:28px;line-height:1.2;color:#18212f;margin:5px 0}.purchase-summary-grid article.is-attention{border-color:#f3c56b;background:#fffaf0}.purchase-summary-grid article.is-success{border-color:#b8dfc6;background:#f7fcf8}.purchase-card-list{display:grid;gap:18px}.purchase-journey-card{display:grid;grid-template-columns:190px minmax(0,1fr);background:#fff;border:1px solid #e5eaf0;border-radius:20px;overflow:hidden;box-shadow:0 12px 32px rgba(15,23,42,.06)}.purchase-journey-card--attention{border-color:#efc56d;box-shadow:0 12px 34px rgba(166,112,18,.1)}.purchase-journey-card__media{min-height:210px;background:#f3f5f8;display:flex;align-items:center;justify-content:center}.purchase-journey-card__media img{width:100%;height:100%;object-fit:cover}.purchase-journey-card__media>span{font-size:44px;color:#9da7b4}.purchase-journey-card__content{padding:20px 22px}.purchase-journey-card__topline{display:flex;align-items:center;justify-content:space-between;gap:12px}.purchase-status-pill{display:inline-flex;padding:6px 10px;border-radius:999px;background:#eef4ff;color:#345a92;font-size:12px;font-weight:700}.purchase-progress-label{font-size:12px;color:#738092}.purchase-journey-card h2{font-size:21px;margin:12px 0 8px}.purchase-journey-card h2 a{color:#1a2433}.purchase-journey-card__facts{display:flex;gap:16px;flex-wrap:wrap;color:#687386;font-size:13px}.purchase-journey-card__facts i{margin-right:5px}.purchase-mini-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:5px;margin:17px 0}.purchase-mini-progress span{height:5px;border-radius:999px;background:#e8ebef}.purchase-mini-progress span.is-complete{background:#53a36f}.purchase-action-banner{display:flex;gap:12px;align-items:flex-start;border-radius:13px;padding:13px 14px;margin:12px 0}.purchase-action-banner>i{font-size:18px;margin-top:2px}.purchase-action-banner strong,.purchase-action-banner span{display:block}.purchase-action-banner span{font-size:13px;margin-top:2px}.purchase-action-banner--important{background:#fff6e3;color:#8a5a08}.purchase-action-banner--success{background:#edf9f1;color:#34704a}.purchase-action-banner--info{background:#eef6ff;color:#315f8c}.purchase-action-banner--muted{background:#f2f3f5;color:#636c78}.purchase-journey-card__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.purchase-empty-state{margin-top:10px}.purchase-empty-state>i{font-size:44px;margin-bottom:12px}.buyer-purchase-workspace{margin-bottom:20px}.buyer-purchase-hero{background:linear-gradient(135deg,#18212f,#2d4058);color:#fff;border-radius:20px;padding:22px;margin-bottom:16px}.buyer-purchase-hero__head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.buyer-purchase-hero h2{color:#fff;margin:4px 0 7px;font-size:24px}.buyer-purchase-hero p{color:#d7e0ea;margin:0}.buyer-progress-track{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:22px}.buyer-progress-step{position:relative;text-align:center;color:#b9c5d2;font-size:11px}.buyer-progress-step:before{content:'';display:block;height:6px;border-radius:999px;background:rgba(255,255,255,.18);margin-bottom:8px}.buyer-progress-step.is-complete{color:#fff}.buyer-progress-step.is-complete:before{background:#75c78f}.buyer-purchase-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px}.buyer-purchase-panel{background:#fff;border:1px solid #e5eaf0;border-radius:18px;padding:18px}.buyer-purchase-panel h3{font-size:16px;margin:0 0 12px}.buyer-signer-list,.buyer-doc-list,.buyer-conveyancing-list{display:grid;gap:9px}.buyer-signer-row,.buyer-doc-row,.buyer-conveyancing-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #eef1f4}.buyer-signer-row:last-child,.buyer-doc-row:last-child,.buyer-conveyancing-row:last-child{border-bottom:0}.buyer-signer-status{font-size:11px;font-weight:700;padding:5px 8px;border-radius:999px;background:#f1f3f5;color:#66717e}.buyer-signer-status.is-signed{background:#eaf7ee;color:#35714a}.buyer-counter-card{border:1px solid #efd18f;background:#fffaf0;border-radius:16px;padding:16px;margin:0 0 16px}.buyer-counter-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}.buyer-counter-terms{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;margin-top:12px}.buyer-counter-terms div{background:#fff;padding:9px;border-radius:9px}.buyer-counter-terms small,.buyer-counter-terms strong{display:block}.buyer-transfer-stage{font-size:20px;font-weight:700;color:#223149}.buyer-transfer-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px}.buyer-transfer-meta div{background:#f6f8fa;border-radius:10px;padding:10px}.buyer-transfer-meta small,.buyer-transfer-meta strong{display:block}@media(max-width:900px){.purchase-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.purchase-journey-card{grid-template-columns:1fr}.purchase-journey-card__media{height:190px}.buyer-purchase-grid{grid-template-columns:1fr}}@media(max-width:560px){.purchase-summary-grid{grid-template-columns:1fr 1fr}.buyer-progress-track{grid-template-columns:repeat(3,1fr);row-gap:14px}.buyer-counter-terms,.buyer-transfer-meta{grid-template-columns:1fr}.buyer-purchase-hero__head{display:block}}
