/* ==========================================================================
   AppointGreen — Global Stylesheet
   Mobile-first, professional, green-accent design
   ========================================================================== */

:root {
  /* Brand palette */
  --green-900: #14532d;
  --green-700: #15803d;
  --green-600: #16a34a;
  --green-500: #22c55e;
  --green-100: #dcfce7;
  --green-50:  #f0fdf4;

  --neutral-900: #111827;
  --neutral-800: #1f2937;
  --neutral-700: #374151;
  --neutral-600: #4b5563;
  --neutral-500: #6b7280;
  --neutral-400: #9ca3af;
  --neutral-300: #d1d5db;
  --neutral-200: #e5e7eb;
  --neutral-100: #f3f4f6;
  --neutral-50:  #f9fafb;
  --white:      #ffffff;

  --red-500: #ef4444;
  --red-50:  #fef2f2;
  --amber-500: #f59e0b;
  --amber-50: #fffbeb;
  --blue-500: #3b82f6;
  --blue-50:  #eff6ff;

  /* Semantic */
  --bg: var(--white);
  --bg-alt: var(--neutral-50);
  --text: var(--neutral-800);
  --text-muted: var(--neutral-500);
  --border: var(--neutral-200);
  --primary: var(--green-600);
  --primary-dark: var(--green-700);
  --primary-light: var(--green-100);
  --shadow-sm: 0 1px 2px rgba(0,0,0,.05);
  --shadow:    0 4px 12px rgba(0,0,0,.08);
  --shadow-lg: 0 12px 32px rgba(0,0,0,.12);

  /* Layout */
  --radius-sm: 8px;
  --radius:    14px;
  --radius-lg: 22px;
  --container: 480px;
  --container-lg: 1080px;
}

/* Reset */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  background: var(--bg);
  color: var(--text);
  line-height: 1.6;
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
img { max-width: 100%; display: block; }
a { color: var(--primary-dark); text-decoration: none; }
a:hover { text-decoration: underline; }
button, input, select, textarea { font-family: inherit; font-size: inherit; }

/* =========================== HEADER =========================== */
.site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  background: rgba(255,255,255,.95);
  backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--border);
}
.header-inner {
  max-width: var(--container-lg);
  margin: 0 auto;
  padding: 0 20px;
  height: 62px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.logo {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  font-size: 20px;
  color: var(--green-700);
  text-decoration: none;
}
.logo:hover { text-decoration: none; }
.logo img {
  height: 64px;
  width: auto;
  display: block;
  flex-shrink: 0;
}
@media (max-width: 768px) {
  .logo img { height: 52px; }
}
.logo-icon {
  width: 34px;
  height: 34px;
  background: var(--green-600);
  border-radius: 9px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 18px;
  flex-shrink: 0;
}
.nav-desktop { display: none; align-items: center; gap: 28px; }
.nav-desktop a { color: var(--neutral-700); font-weight: 500; font-size: 15px; }
.nav-desktop a:hover { color: var(--green-700); text-decoration: none; }
.nav-desktop .btn-sm { margin-left: 10px; }
.hamburger {
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
}
.hamburger span {
  width: 24px;
  height: 2.5px;
  background: var(--neutral-700);
  border-radius: 2px;
  transition: .3s;
}

/* Mobile menu */
.mobile-menu {
  display: none;
  position: fixed;
  top: 62px;
  left: 0; right: 0;
  background: var(--white);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow);
  padding: 16px 20px 24px;
  z-index: 99;
}
.mobile-menu.open { display: block; }
.mobile-menu a {
  display: block;
  padding: 12px 0;
  border-bottom: 1px solid var(--neutral-100);
  color: var(--neutral-700);
  font-weight: 500;
}
.mobile-menu a:last-child { border-bottom: none; }
.mobile-menu .mobile-menu-btns { display: flex; flex-direction: column; gap: 10px; margin-top: 14px; }

/* =========================== BUTTONS =========================== */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 26px;
  border-radius: var(--radius-sm);
  font-weight: 700;
  font-size: 16px;
  border: 2px solid transparent;
  cursor: pointer;
  transition: .2s;
  text-decoration: none;
  text-align: center;
  line-height: 1.3;
}
.btn:hover { text-decoration: none; transform: translateY(-1px); }
.btn-primary { background: var(--green-600); color: #fff; }
.btn-primary:hover { background: var(--green-700); color: #fff; }
.btn-outline { background: transparent; border-color: var(--green-600); color: var(--green-700); }
.btn-outline:hover { background: var(--green-50); }
.btn-secondary { background: var(--neutral-100); color: var(--neutral-700); }
.btn-secondary:hover { background: var(--neutral-200); }
.btn-white { background: #fff; color: var(--green-700); }
.btn-white:hover { background: var(--neutral-50); }
.btn-ghost { background: transparent; color: var(--neutral-700); }
.btn-ghost:hover { background: var(--neutral-100); }
.btn-danger { background: var(--red-500); color: #fff; }
.btn-danger:hover { background: #dc2626; }
.btn-sm { padding: 9px 18px; font-size: 14px; }
.btn-lg { padding: 16px 32px; font-size: 18px; }
.btn-block { display: flex; width: 100%; }
.btn:disabled { opacity: .6; cursor: not-allowed; transform: none; }

/* =========================== LAYOUT =========================== */
main { flex: 1; }
.container {
  max-width: var(--container);
  margin: 0 auto;
  padding: 0 20px;
}
.container-lg {
  max-width: var(--container-lg);
  margin: 0 auto;
  padding: 0 20px;
}
.section { padding: 56px 0; }
.section-sm { padding: 32px 0; }
.section-title {
  font-size: 26px;
  font-weight: 800;
  color: var(--neutral-900);
  margin-bottom: 10px;
  line-height: 1.25;
}
.section-subtitle {
  font-size: 16px;
  color: var(--text-muted);
  margin-bottom: 32px;
  max-width: 600px;
}
.text-center { text-align: center; }
.center-title { margin-left: auto; margin-right: auto; }

/* =========================== HERO =========================== */
.hero {
  background: linear-gradient(165deg, var(--green-50) 0%, #fff 100%);
  padding: 48px 0 56px;
  text-align: center;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  background: var(--green-100);
  color: var(--green-700);
  font-size: 13px;
  font-weight: 600;
  padding: 6px 14px;
  border-radius: 100px;
  margin-bottom: 22px;
}
.hero h1 {
  font-size: 32px;
  font-weight: 800;
  line-height: 1.18;
  color: var(--neutral-900);
  margin-bottom: 18px;
  letter-spacing: -.5px;
}
.hero-subtitle {
  font-size: 17px;
  color: var(--neutral-600);
  max-width: 560px;
  margin: 0 auto 30px;
}
.hero-cta { display: flex; flex-direction: column; gap: 12px; align-items: center; }
.hero-cta .btn { width: 100%; max-width: 340px; }
.hero-trust {
  margin-top: 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 16px 24px;
  justify-content: center;
  font-size: 13px;
  color: var(--neutral-500);
}
.hero-trust span { display: inline-flex; align-items: center; gap: 6px; }

/* =========================== CARDS =========================== */
.card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 24px;
  box-shadow: var(--shadow-sm);
}
.card-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--green-100);
  color: var(--green-700);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 24px;
  margin-bottom: 16px;
}
.card h3 { font-size: 18px; font-weight: 700; margin-bottom: 8px; color: var(--neutral-900); }
.card p { font-size: 15px; color: var(--text-muted); }

.grid { display: grid; gap: 20px; }
.grid-2 { grid-template-columns: 1fr; }
.grid-3 { grid-template-columns: 1fr; }
.grid-4 { grid-template-columns: 1fr 1fr; }

/* Feature list */
.feature-list { list-style: none; }
.feature-list li {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 0;
  border-bottom: 1px solid var(--neutral-100);
}
.feature-list li:last-child { border-bottom: none; }
.feature-list .check {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: var(--green-100);
  color: var(--green-700);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: 700;
}

/* Steps */
.step {
  display: flex;
  gap: 16px;
  padding: 20px 0;
  align-items: flex-start;
}
.step-num {
  flex-shrink: 0;
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--green-600);
  color: #fff;
  font-weight: 800;
  font-size: 17px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.step-body h4 { font-size: 17px; font-weight: 700; color: var(--neutral-900); margin-bottom: 4px; }
.step-body p { font-size: 15px; color: var(--text-muted); }

/* Role columns */
.role-column {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 32px 24px;
  box-shadow: var(--shadow-sm);
  display: flex;
  flex-direction: column;
}
.role-column > .feature-list { flex: 1; }
.role-column > .btn:last-child { margin-top: 24px; }
.role-column.landlord { border-top: 4px solid var(--green-600); }
.role-column.renter  { border-top: 4px solid var(--blue-500); }
.role-column h3 { font-size: 22px; font-weight: 800; margin-bottom: 6px; }
.role-column .role-sub { font-size: 14px; color: var(--text-muted); margin-bottom: 20px; }

/* Reviews */
.reviews-section { background: linear-gradient(180deg, var(--neutral-50) 0%, #fff 100%); }
.demo-user-stat {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  max-width: 620px;
  margin: 0 auto 42px;
  padding: 18px 24px;
  background: #fff;
  border: 1px solid var(--green-100);
  border-radius: 18px;
  box-shadow: var(--shadow-sm);
}
.demo-user-icon { font-size: 30px; }
.demo-user-stat div { display: flex; align-items: baseline; gap: 10px; }
.demo-user-stat strong { color: var(--green-700); font-size: 28px; line-height: 1; }
.demo-user-stat div span { color: var(--neutral-800); font-size: 16px; font-weight: 700; }
.demo-user-stat small {
  margin-left: auto;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--neutral-100);
  color: var(--text-muted);
  font-size: 11px;
  font-weight: 700;
}
.reviews-heading { margin-bottom: 36px; }
.reviews-kicker {
  display: block;
  margin-bottom: 10px;
  color: var(--green-700);
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .1em;
  text-align: center;
  text-transform: uppercase;
}
.reviews-grid { align-items: stretch; }
.review-card {
  display: flex;
  flex-direction: column;
  min-height: 270px;
  padding: 28px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}
.review-stars { margin-bottom: 16px; color: #f4a621; font-size: 18px; letter-spacing: 3px; }
.review-card blockquote { flex: 1; margin: 0 0 24px; color: var(--neutral-700); font-size: 16px; line-height: 1.7; }
.review-author { display: flex; align-items: center; gap: 12px; }
.review-avatar {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  border-radius: 50%;
  background: var(--green-100);
  color: var(--green-700);
  font-size: 13px;
  font-weight: 800;
}
.review-avatar.blue { background: var(--blue-50); color: var(--blue-500); }
.review-avatar-photo {
  width: 52px;
  height: 52px;
  flex: 0 0 52px;
  border: 3px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 22%;
  box-shadow: 0 0 0 1px var(--border), 0 4px 12px rgba(16, 72, 49, .12);
}
.review-author strong, .review-author span { display: block; }
.review-author strong { color: var(--neutral-900); font-size: 15px; }
.review-author div > span { margin-top: 2px; color: var(--text-muted); font-size: 13px; }

@media (max-width: 600px) {
  .demo-user-stat { flex-wrap: wrap; text-align: center; }
  .demo-user-stat div { display: block; }
  .demo-user-stat strong, .demo-user-stat div span { display: block; }
  .demo-user-stat div span { margin-top: 5px; }
  .demo-user-stat small { width: 100%; margin-left: 0; }
}

.social-proof { background: linear-gradient(180deg,#fff 0%,var(--green-50) 48%,#fff 100%); overflow:hidden; }
.proof-notice { width:max-content; max-width:100%; margin:18px auto 28px; padding:7px 12px; border-radius:999px; background:#fff7ed; color:#9a3412; font-size:12px; font-weight:700; text-align:center; }
.proof-stats { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:32px 0; }
.proof-stat { padding:22px 14px; border:1px solid var(--neutral-200); border-radius:16px; background:#fff; text-align:center; box-shadow:var(--shadow-sm); }
.proof-stat strong,.proof-stat span { display:block; }.proof-stat strong{color:var(--green-700);font-size:25px}.proof-stat span{margin-top:7px;color:var(--text-muted);font-size:14px}
.rating-summary{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:28px 0;padding:26px;border:1px solid var(--green-100);border-radius:20px;background:#fff;box-shadow:var(--shadow-sm)}.rating-title{display:block;margin-bottom:8px;color:var(--neutral-900);font-size:20px;font-weight:800}.rating-summary .review-stars{margin:0 0 5px}.rating-summary .review-stars b{margin-left:8px;color:var(--neutral-800);font-size:16px;letter-spacing:0}.rating-summary small{color:var(--text-muted)}.rating-summary p{max-width:380px;color:var(--neutral-600)}
.review-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;padding:6px 2px 18px;scroll-snap-type:x mandatory;scrollbar-width:thin}.review-carousel .review-card{scroll-snap-align:start;min-width:0}.placeholder-badge{align-self:flex-start;margin-bottom:12px;padding:5px 9px;border-radius:999px;background:#fff7ed;color:#9a3412;font-size:11px;font-weight:800;text-transform:uppercase}.review-author small{display:block;margin-top:3px;color:var(--green-700);font-size:11px;font-weight:700}.review-actions{display:flex;justify-content:center;gap:12px;margin:24px 0 44px}
.global-trust{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:30px;padding:34px;border-radius:24px;background:var(--neutral-900);color:#fff}.global-trust h3{margin-bottom:10px;font-size:26px}.global-trust p{color:#d1d5db;line-height:1.7}.network-globe{position:relative;display:grid;place-items:center;width:150px;height:150px;border:2px solid #4ade80;border-radius:50%;font-size:72px;color:#4ade80}.network-globe i{position:absolute;width:12px;height:12px;border-radius:50%;background:#fff}.network-globe i:nth-child(1){top:20%;left:15%}.network-globe i:nth-child(2){right:10%;top:45%}.network-globe i:nth-child(3){bottom:16%;left:42%}.location-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.location-chips span{padding:7px 11px;border:1px solid #374151;border-radius:999px;font-size:12px}.trust-strip{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:28px}.trust-strip span{padding:14px 10px;border:1px solid var(--green-100);border-radius:12px;background:#fff;color:var(--green-800);font-size:12px;font-weight:700;text-align:center}
.feedback-modal{position:fixed;inset:0;z-index:2000;display:none;place-items:center;padding:20px;background:rgba(17,24,39,.65)}.feedback-modal.open{display:grid}.feedback-dialog{position:relative;width:min(680px,100%);max-height:90vh;overflow:auto;padding:30px;border-radius:22px;background:#fff;box-shadow:var(--shadow)}.feedback-dialog h2{margin-bottom:6px}.feedback-dialog>p{margin-bottom:22px;color:var(--text-muted)}.feedback-close{position:absolute;top:12px;right:16px;border:0;background:transparent;font-size:30px;cursor:pointer}
@media(min-width:768px){.proof-stats{grid-template-columns:repeat(4,1fr)}}
@media(max-width:767px){.rating-summary{align-items:flex-start;flex-direction:column}.review-carousel{grid-auto-columns:88%}.review-actions{flex-direction:column}.review-actions .btn{width:100%}.global-trust{grid-template-columns:1fr;padding:26px}.network-globe{margin:auto}.trust-strip{grid-template-columns:1fr 1fr}.social-proof p,.review-card blockquote{font-size:16px}}

/* =========================== FORMS =========================== */
.form-group { margin-bottom: 18px; }
.form-label {
  display: block;
  font-weight: 600;
  font-size: 15px;
  margin-bottom: 6px;
  color: var(--neutral-700);
}
.form-label .req { color: var(--red-500); }
.form-input, .form-select, .form-textarea {
  width: 100%;
  padding: 14px 16px;
  border: 2px solid var(--neutral-200);
  border-radius: var(--radius-sm);
  font-size: 16px;
  color: var(--neutral-900);
  background: #fff;
  transition: .2s;
  -webkit-appearance: none;
}
.form-input:focus, .form-select:focus, .form-textarea:focus {
  outline: none;
  border-color: var(--green-500);
  box-shadow: 0 0 0 4px rgba(34,197,94,.12);
}
.form-textarea { min-height: 100px; resize: vertical; }
.form-hint { font-size: 13px; color: var(--text-muted); margin-top: 5px; }
.form-error { font-size: 13px; color: var(--red-500); margin-top: 5px; }

.form-row { display: flex; gap: 12px; }
.form-row > .form-group { flex: 1; }

/* Checkbox */
.checkbox-group { display: flex; align-items: flex-start; gap: 10px; padding: 12px 0; }
.checkbox-group input[type="checkbox"] {
  width: 20px; height: 20px;
  flex-shrink: 0;
  margin-top: 2px;
  accent-color: var(--green-600);
}
.checkbox-group label { font-size: 14px; color: var(--neutral-600); cursor: pointer; }

/* Auth pages */
.auth-wrap { padding: 40px 0; min-height: calc(100vh - 62px - 200px); display: flex; align-items: center; }
.auth-card {
  max-width: 440px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: 36px 28px;
  box-shadow: var(--shadow);
  width: 100%;
}
.auth-card h2 { font-size: 24px; font-weight: 800; text-align: center; margin-bottom: 6px; }
.auth-card .auth-sub { text-align: center; color: var(--text-muted); font-size: 15px; margin-bottom: 26px; }
.auth-tabs {
  display: flex;
  gap: 4px;
  background: var(--neutral-100);
  border-radius: var(--radius-sm);
  padding: 4px;
  margin-bottom: 24px;
}
.auth-tab {
  flex: 1;
  text-align: center;
  padding: 10px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 15px;
  color: var(--neutral-500);
  cursor: pointer;
  border: none;
  background: transparent;
  transition: .2s;
}
.auth-tab.active { background: #fff; color: var(--green-700); box-shadow: var(--shadow-sm); }
.auth-divider { text-align: center; position: relative; margin: 20px 0; color: var(--neutral-400); font-size: 14px; }
.auth-divider::before { content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 1px; background: var(--neutral-200); }
.auth-divider span { background: #fff; padding: 0 14px; position: relative; }
.auth-switch { text-align: center; margin-top: 18px; font-size: 14px; color: var(--text-muted); }
.auth-note {
  margin-top: 18px;
  padding: 12px 16px;
  background: var(--blue-50);
  border-radius: var(--radius-sm);
  font-size: 13px;
  color: var(--neutral-700);
}
.auth-role-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  margin-bottom: 16px;
}
.auth-role-badge.landlord { background: var(--green-100); color: var(--green-700); }
.auth-role-badge.renter { background: var(--blue-50); color: var(--blue-500); }
.auth-content { display: none; }
.auth-content.active { display: block; }

/* =========================== DASHBOARD =========================== */
.dash-header {
  background: var(--green-50);
  border-bottom: 1px solid var(--border);
  padding: 24px 0;
}
.dash-header h1 { font-size: 24px; font-weight: 800; color: var(--neutral-900); }
.dash-header .dash-sub { font-size: 15px; color: var(--text-muted); margin-top: 2px; }
.dash-tabs {
  display: flex;
  gap: 4px;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 4px;
  margin: 24px 0;
  overflow-x: auto;
}
.dash-tab {
  padding: 10px 16px;
  border-radius: 6px;
  font-weight: 600;
  font-size: 14px;
  color: var(--neutral-500);
  cursor: pointer;
  border: none;
  background: transparent;
  white-space: nowrap;
  transition: .2s;
}
.dash-tab.active { background: var(--green-600); color: #fff; }

.dash-stats { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; margin-bottom: 24px; }
.stat-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  padding: 18px 16px;
  text-align: center;
}
.stat-card .stat-num { font-size: 28px; font-weight: 800; color: var(--green-700); }
.stat-card .stat-label { font-size: 13px; color: var(--text-muted); margin-top: 2px; }

/* Request cards */
.request-card {
  background: #fff;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 20px;
  margin-bottom: 16px;
  box-shadow: var(--shadow-sm);
}
.request-card .req-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 10px; }
.request-card h3 { font-size: 18px; font-weight: 700; color: var(--neutral-900); }
.request-card .req-meta { font-size: 14px; color: var(--text-muted); margin-bottom: 12px; }
.request-card .req-meta div { padding: 3px 0; }
.workflow-request{overflow:hidden;padding:0;border-color:#dfe6e1;border-radius:12px;box-shadow:0 3px 14px rgba(31,41,55,.05)}.workflow-request-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 18px;border-bottom:1px solid #edf1ee}.workflow-request-title{min-width:0}.workflow-eyebrow{display:block;margin-bottom:5px;color:#15803d;font-size:10px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.workflow-request-title h3{margin:0;color:#1f2937;font-size:20px;line-height:1.35}.workflow-request-title p{margin:4px 0 0;color:#6b7280;font-size:13px}.workflow-request-title p strong{color:#374151;font-weight:650}.workflow-request-title p span{display:block;margin-top:1px}.workflow-detail-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;padding:6px 24px 10px}.workflow-detail-grid>div{min-width:0;padding:14px 18px 14px 0}.workflow-detail-grid>div:not(:nth-child(3n+1)){padding-left:18px;border-left:1px solid #edf1ee}.workflow-detail-grid span,.workflow-note>span{display:block;margin-bottom:3px;color:#8a938d;font-size:10px;font-weight:750;letter-spacing:.045em;text-transform:uppercase}.workflow-detail-grid strong{display:block;overflow-wrap:anywhere;color:#29332d;font-size:14px;font-weight:650}.workflow-platform{display:flex!important;align-items:center;min-height:24px}.workflow-note{margin:0 24px 18px;padding:12px 14px;border:1px solid #e3e9e5;border-radius:8px;background:#f8faf9}.workflow-note p{margin:0;color:#4b5563;font-size:13px;line-height:1.5}.workflow-actions{display:flex;align-items:center;gap:9px;padding:16px 24px;border-top:1px solid #edf1ee;background:#fbfcfb}.workflow-actions .btn{min-height:42px}.workflow-request .status-badge{margin-top:2px;padding:5px 10px;font-size:11px;text-transform:capitalize}
@media(max-width:760px){.workflow-detail-grid{grid-template-columns:1fr 1fr}.workflow-detail-grid>div:not(:nth-child(3n+1)){padding-left:0;border-left:0}.workflow-detail-grid>div:nth-child(even){padding-left:16px;border-left:1px solid #edf1ee}.workflow-detail-grid>div{padding-right:12px}}
@media(max-width:520px){.workflow-request-head{padding:18px 16px 15px}.workflow-request-title h3{font-size:18px}.workflow-detail-grid{grid-template-columns:1fr;padding:5px 16px 9px}.workflow-detail-grid>div,.workflow-detail-grid>div:nth-child(even){padding:11px 0;border-left:0;border-bottom:1px solid #edf1ee}.workflow-detail-grid>div:last-child{border-bottom:0}.workflow-note{margin:0 16px 15px}.workflow-actions{padding:14px 16px}.workflow-actions .btn{width:100%}}

/* Status badges */
.status-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
}
.status-pending   { background: #fffbeb; color: #a16207; }
.status-submitted { background: var(--blue-50);  color: var(--blue-500); }
.status-review    { background: #ede9fe; color: #7c3aed; }
.status-approved  { background: var(--green-100); color: var(--green-700); }
.status-rejected  { background: var(--red-50);   color: var(--red-500); }
.status-paid      { background: var(--green-100); color: var(--green-700); }
.status-unpaid    { background: #fffbeb; color: #a16207; }

/* =========================== PROGRESS BAR =========================== */
.progress-wrap { margin-bottom: 28px; }
.progress-bar-bg {
  width: 100%;
  height: 8px;
  background: var(--neutral-200);
  border-radius: 100px;
  overflow: hidden;
}
.progress-bar-fill {
  height: 100%;
  background: linear-gradient(90deg, var(--green-500), var(--green-600));
  border-radius: 100px;
  transition: width .4s ease;
  width: 0;
}
.progress-steps {
  display: flex;
  justify-content: space-between;
  margin-top: 10px;
  font-size: 12px;
}
.progress-step-label { color: var(--neutral-400); text-align: center; flex: 1; }
.progress-step-label.active { color: var(--green-700); font-weight: 600; }
.progress-step-label.done { color: var(--green-600); }

/* =========================== FORM STEPS =========================== */
.form-step { display: none; }
.form-step.active { display: block; }
.step-nav { display: flex; gap: 12px; margin-top: 28px; }
.step-nav .btn { flex: 1; }

/* Signature pad */
.sig-wrap {
  border: 2px dashed var(--neutral-300);
  border-radius: var(--radius-sm);
  background: var(--neutral-50);
  padding: 8px;
  position: relative;
}
#signature-pad { display: block; width: 100%; height: 180px; border-radius: 6px; background: #fff; cursor: crosshair; touch-action: none; }
.sig-hint { text-align: center; font-size: 13px; color: var(--neutral-400); padding: 8px; }
.sig-clear {
  position: absolute;
  top: 14px;
  right: 14px;
  font-size: 13px;
  color: var(--red-500);
  background: none;
  border: none;
  cursor: pointer;
  font-weight: 600;
}

/* File upload */
.upload-zone {
  border: 2px dashed var(--neutral-300);
  border-radius: var(--radius-sm);
  padding: 28px 20px;
  text-align: center;
  background: var(--neutral-50);
  cursor: pointer;
  transition: .2s;
}
.upload-zone:hover { border-color: var(--green-500); background: var(--green-50); }
.upload-zone .upload-icon { font-size: 36px; margin-bottom: 8px; }
.upload-zone .upload-text { font-size: 15px; font-weight: 600; color: var(--neutral-700); }
.upload-zone .upload-sub { font-size: 13px; color: var(--neutral-400); margin-top: 4px; }
.upload-preview { margin-top: 14px; position: relative; border-radius: var(--radius-sm); overflow: hidden; }
.upload-preview img { width: 100%; border-radius: var(--radius-sm); }
.upload-preview .remove-btn {
  position: absolute; top: 8px; right: 8px;
  background: rgba(0,0,0,.6); color: #fff;
  border: none; border-radius: 6px; padding: 6px 12px;
  font-size: 13px; cursor: pointer;
}

/* Photo capture buttons */
.photo-buttons { display: flex; gap: 12px; margin-top: 14px; }
.photo-buttons .btn { flex: 1; }

/* =========================== PAYMENT =========================== */
.payment-summary {
  background: var(--green-50);
  border: 1px solid var(--green-100);
  border-radius: var(--radius);
  padding: 20px;
  margin-bottom: 24px;
}
.payment-summary .ps-row { display: flex; justify-content: space-between; padding: 6px 0; font-size: 15px; }
.payment-summary .ps-total { border-top: 1px solid var(--green-100); margin-top: 8px; padding-top: 12px; font-size: 19px; font-weight: 800; color: var(--green-700); }
.payment-gateway { display: flex; gap: 12px; margin-bottom: 20px; }
.gateway-option {
  flex: 1;
  border: 2px solid var(--neutral-200);
  border-radius: var(--radius-sm);
  padding: 16px;
  text-align: center;
  cursor: pointer;
  transition: .2s;
}
.gateway-option.selected { border-color: var(--green-500); background: var(--green-50); }
.gateway-option .gw-name { font-weight: 700; font-size: 15px; }
.gateway-option .gw-icon { font-size: 28px; margin-bottom: 6px; }

.secure-notice {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  background: var(--blue-50);
  border-radius: var(--radius-sm);
  font-size: 13px;
  color: var(--neutral-700);
  margin-bottom: 20px;
}
.secure-notice .lock { font-size: 20px; }

/* =========================== REVIEW PAGE =========================== */
.review-section { margin-bottom: 24px; }
.review-section h4 {
  font-size: 15px;
  font-weight: 700;
  color: var(--green-700);
  text-transform: uppercase;
  letter-spacing: .5px;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--neutral-100);
}
.review-field { display: flex; justify-content: space-between; gap: 16px; padding: 8px 0; font-size: 15px; }
.review-field .rf-label { color: var(--text-muted); flex-shrink: 0; }
.review-field .rf-value { font-weight: 600; text-align: right; color: var(--neutral-900); word-break: break-word; }

.review-actions { display: flex; gap: 12px; margin-top: 24px; }
.review-actions .btn { flex: 1; }

/* Activity log */
.activity-item {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--neutral-100);
  font-size: 14px;
}
.activity-item:last-child { border-bottom: none; }
.activity-dot {
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--green-500);
  flex-shrink: 0;
  margin-top: 5px;
}
.activity-time { color: var(--neutral-400); font-size: 12px; }

/* =========================== ALERTS =========================== */
.alert {
  padding: 14px 18px;
  border-radius: var(--radius-sm);
  font-size: 14px;
  margin-bottom: 18px;
  display: flex;
  gap: 10px;
  align-items: flex-start;
}
.alert-success { background: var(--green-50); color: var(--green-700); border: 1px solid var(--green-100); }
.alert-info    { background: var(--blue-50);  color: var(--blue-500); border: 1px solid #bfdbfe; }
.alert-warning { background: var(--amber-50); color: #92400e; border: 1px solid #fde68a; }
.alert-error   { background: var(--red-50);   color: var(--red-500); border: 1px solid #fecaca; }

/* =========================== CTA SECTION =========================== */
.cta-section {
  background: var(--green-700);
  color: #fff;
  text-align: center;
  padding: 52px 20px;
  border-radius: 0;
}
.cta-section h2 { font-size: 26px; font-weight: 800; margin-bottom: 12px; }
.cta-section p { font-size: 16px; opacity: .9; margin-bottom: 26px; }
.cta-section .hero-cta { margin: 0; }
.cta-section .cta-action-btn {
  width: 236px;
  min-height: 58px;
  color: #fff;
  background: transparent;
  border: 1.5px solid rgba(255,255,255,.9);
  border-radius: 6px;
  box-shadow: none;
}
.cta-section .cta-action-btn:hover {
  color: var(--green-700);
  background: #fff;
  border-color: #fff;
  box-shadow: 0 10px 24px rgba(20,83,45,.2);
}
@media (max-width: 640px) {
  .cta-section .cta-action-btn { width: 100%; }
}

/* =========================== FOOTER =========================== */
.site-footer {
  background: var(--neutral-900);
  color: var(--neutral-400);
  padding: 48px 0 24px;
  margin-top: auto;
}
.footer-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 32px 20px;
  margin-bottom: 32px;
}
.footer-brand { grid-column: 1 / -1; }
.footer-brand .logo { color: #fff; margin-bottom: 12px; }
.footer-brand p { font-size: 14px; max-width: 400px; }
.footer-col h5 { color: #fff; font-size: 15px; font-weight: 700; margin-bottom: 14px; }
.footer-col a { display: block; color: var(--neutral-400); font-size: 14px; padding: 5px 0; }
.footer-col a:hover { color: var(--green-500); text-decoration: none; }
.footer-bottom {
  border-top: 1px solid var(--neutral-800);
  padding-top: 20px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  font-size: 13px;
  text-align: center;
}
.footer-bottom .footer-legal { display: flex; flex-direction: column; gap: 4px; }

/* =========================== LEGAL PAGES =========================== */
.legal-content { max-width: 760px; margin: 0 auto; }
.legal-content h1 { font-size: 28px; font-weight: 800; margin-bottom: 8px; color: var(--neutral-900); }
.legal-content .updated { font-size: 14px; color: var(--text-muted); margin-bottom: 28px; }
.legal-content h2 { font-size: 20px; font-weight: 700; margin: 28px 0 10px; color: var(--neutral-900); }
.legal-content h3 { font-size: 17px; font-weight: 700; margin: 20px 0 8px; color: var(--neutral-800); }
.legal-content p { font-size: 15px; margin-bottom: 14px; color: var(--neutral-700); }
.legal-content ul { padding-left: 20px; margin-bottom: 14px; }
.legal-content li { font-size: 15px; margin-bottom: 8px; color: var(--neutral-700); }

/* =========================== ROLE SELECTOR =========================== */
.role-selector {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  margin-bottom: 24px;
}
.role-card {
  border: 2px solid var(--border);
  border-radius: var(--radius);
  padding: 20px 16px;
  text-align: center;
  cursor: pointer;
  transition: all .2s ease;
  background: #fff;
  position: relative;
}
.role-card:hover { border-color: var(--green-500); }
.role-card.selected {
  border-color: var(--green-600);
  background: var(--green-50);
  box-shadow: 0 0 0 3px rgba(22,163,74,.12);
}
.role-card-icon {
  width: 48px;
  height: 48px;
  margin: 0 auto 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--green-600);
  background: var(--green-50);
  border-radius: 12px;
  padding: 10px;
}
.role-card-icon svg {
  width: 100%;
  height: 100%;
}
.role-card-title {
  font-size: 16px;
  font-weight: 700;
  color: var(--neutral-900);
  margin-bottom: 4px;
}
.role-card-desc {
  font-size: 12px;
  color: var(--text-muted);
  line-height: 1.4;
}
.role-card-check {
  position: absolute;
  top: 10px;
  right: 10px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--green-600);
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 12px;
}
.role-card.selected .role-card-check { display: flex; }

/* =========================== PROFILE PAGE =========================== */
.profile-header {
  background: linear-gradient(165deg, var(--green-50) 0%, #fff 100%);
  padding: 32px 0;
  text-align: center;
}
.profile-avatar-wrap {
  position: relative;
  width: 100px;
  height: 100px;
  margin: 0 auto 16px;
}
.profile-avatar {
  width: 100px;
  height: 100px;
  border-radius: 50%;
  background: var(--green-100);
  color: var(--green-700);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 38px;
  font-weight: 800;
  border: 4px solid #fff;
  box-shadow: var(--shadow);
  overflow: hidden;
  margin: 0 auto;
  object-fit: cover;
}
.profile-avatar img { width: 100%; height: 100%; object-fit: cover; }
.profile-avatar-upload {
  position: absolute;
  bottom: 0;
  right: 0;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: var(--green-600);
  color: #fff;
  border: 3px solid #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
}
.profile-name { font-size: 24px; font-weight: 800; color: var(--neutral-900); margin-bottom: 4px; }
.profile-email { font-size: 15px; color: var(--text-muted); margin-bottom: 10px; }
.profile-role-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 14px;
  border-radius: 100px;
  font-size: 13px;
  font-weight: 600;
}
.profile-role-badge.landlord { background: var(--green-100); color: var(--green-700); }
.profile-role-badge.renter { background: var(--blue-50); color: var(--blue-500); }
.profile-verified-badge {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 13px;
  font-weight: 600;
  color: var(--green-700);
  margin-top: 8px;
}
.profile-body { display: grid; grid-template-columns: 1fr; gap: 20px; margin-top: 24px; }
.profile-section { background: #fff; border: 1px solid var(--border); border-radius: var(--radius); padding: 24px; box-shadow: var(--shadow-sm); }
.profile-section h3 { font-size: 18px; font-weight: 700; margin-bottom: 16px; color: var(--neutral-900); display: flex; align-items: center; gap: 8px; }
.profile-field { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--neutral-100); }
.profile-field:last-child { border-bottom: none; }
.profile-field .pf-label { color: var(--text-muted); font-size: 14px; flex-shrink: 0; }
.profile-field .pf-value { font-weight: 600; font-size: 15px; color: var(--neutral-900); text-align: right; word-break: break-word; }
.profile-field .pf-edit-input {
  flex: 1;
  padding: 8px 12px;
  border: 2px solid var(--green-500);
  border-radius: 6px;
  font-size: 15px;
  text-align: right;
  max-width: 220px;
}
.profile-edit-btn { margin-left: auto; display: block; }
.profile-stat-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 12px; }
.profile-stat { text-align: center; padding: 16px 8px; background: var(--neutral-50); border-radius: var(--radius-sm); }
.profile-stat .ps-num { font-size: 24px; font-weight: 800; color: var(--green-700); }
.profile-stat .ps-label { font-size: 12px; color: var(--text-muted); margin-top: 2px; }
.profile-side-actions { display: flex; flex-direction: column; gap: 10px; }
.profile-edit-mode .profile-field .pf-value { display: none; }
.profile-edit-mode .profile-field .pf-edit-input { display: block; }
.profile-field .pf-edit-input { display: none; }

/* Logged-in nav state */
.nav-logged-out { display: flex; align-items: center; gap: 10px; }
.nav-logged-in { display: none; align-items: center; gap: 10px; }
body.auth-active .nav-logged-out { display: none; }
body.auth-active .nav-logged-in { display: flex; }
.nav-user-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 14px 6px 6px;
  background: var(--green-50);
  border-radius: 100px;
  font-size: 14px;
  font-weight: 600;
  color: var(--green-700);
  text-decoration: none;
  border: 1px solid var(--green-100);
}
.nav-user-chip:hover { text-decoration: none; background: var(--green-100); }
.nav-user-avatar {
  width: 28px; height: 28px;
  border-radius: 50%;
  background: var(--green-600);
  color: #fff;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700;
  overflow: hidden;
}
.nav-user-avatar img { width:100%; height:100%; object-fit:cover; }

/* =========================== MISC =========================== */
.text-green { color: var(--green-700); }
.text-muted { color: var(--text-muted); }
.mb-0 { margin-bottom: 0; }
.mb-2 { margin-bottom: 8px; }
.mb-4 { margin-bottom: 16px; }
.mt-4 { margin-top: 16px; }
.mt-6 { margin-top: 24px; }
.hidden { display: none !important; }
.badge-secure {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 600;
  color: var(--green-700);
}

.empty-state { text-align: center; padding: 48px 20px; color: var(--text-muted); }
.empty-state .es-icon { font-size: 48px; margin-bottom: 12px; }
.empty-state h3 { font-size: 18px; font-weight: 700; color: var(--neutral-700); margin-bottom: 6px; }
.empty-state p { font-size: 15px; }

/* Modal */
.modal-overlay {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.5);
  z-index: 200;
  align-items: center;
  justify-content: center;
  padding: 20px;
}
.modal-overlay.open { display: flex; }
.modal {
  background: #fff;
  border-radius: var(--radius-lg);
  padding: 28px 24px;
  max-width: 440px;
  width: 100%;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: var(--shadow-lg);
}
.modal h3 { font-size: 20px; font-weight: 800; margin-bottom: 8px; }
.modal p { font-size: 15px; color: var(--text-muted); margin-bottom: 20px; }
.modal-close {
  float: right;
  font-size: 24px;
  background: none;
  border: none;
  cursor: pointer;
  color: var(--neutral-400);
  line-height: 1;
}

/* =========================== RESPONSIVE =========================== */
@media (min-width: 640px) {
  .hero h1 { font-size: 38px; }
  .hero-cta { flex-direction: row; justify-content: center; }
  .hero-cta .btn { width: auto; }
  .dash-stats { grid-template-columns: repeat(4,1fr); }
  .grid-4 { grid-template-columns: repeat(4, 1fr); }
  .footer-bottom { flex-direction: row; justify-content: space-between; text-align: left; }
  .footer-bottom .footer-legal { flex-direction: row; gap: 20px; }
  .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .footer-brand { grid-column: 1; }
}

@media (min-width: 768px) {
  .container, .container-lg { padding: 0 32px; }
  .section { padding: 72px 0; }
  .section-title { font-size: 32px; }
  .hero { padding: 72px 0 80px; }
  .hero h1 { font-size: 44px; }
  .hero-subtitle { font-size: 18px; }
  .grid-2 { grid-template-columns: 1fr 1fr; }
  .grid-3 { grid-template-columns: repeat(3, 1fr); }
  .hamburger { display: none; }
  .nav-desktop { display: flex; }
  .cta-section h2 { font-size: 32px; }
  .form-row { gap: 16px; }
  .step-nav .btn { flex: 0 0 auto; min-width: 140px; }
}

@media (min-width: 1024px) {
  .hero h1 { font-size: 50px; }
}

/* ================================================================
   APPOINTGREEN ENTERPRISE SIGNING THEME
   Original design language inspired by modern agreement platforms.
   ================================================================ */
:root {
  --brand-ink: #171a1f;
  --brand-paper: #f7f7f4;
  --brand-lime: #b7f36b;
  --radius-sm: 5px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 2px rgba(16,24,40,.05);
  --shadow: 0 18px 50px rgba(20,28,24,.09);
}
html { scroll-behavior: smooth; }
body {
  color: var(--brand-ink);
  background: #fff;
  font-family: "Aptos", "Segoe UI", Helvetica, Arial, sans-serif;
  font-size: 16px;
  letter-spacing: -.01em;
}
h1,h2,h3,h4,h5 { color: var(--brand-ink); letter-spacing: -.035em; }
.site-header { height: 74px; background: rgba(255,255,255,.96); border-bottom: 1px solid #deded8; box-shadow: none; }
.header-inner { height: 74px; max-width: 1320px; }
.logo img { width: 230px; max-height: 56px; object-fit: contain; }
.nav-desktop { gap: 28px; }
.nav-desktop > a { color: #25272b; font-size: 15px; font-weight: 650; }
.nav-desktop > a:not(.btn):hover { color: var(--green-700); }
.btn { min-height: 46px; border-radius: 4px; font-size: 15px; font-weight: 750; letter-spacing: -.01em; box-shadow: none; }
.btn-sm { min-height: 40px; padding: 9px 18px; }
.btn-lg { min-height: 54px; padding: 15px 26px; }
.btn-primary { background: #16a34a; border-color: #16a34a; }
.btn-primary:hover { background: #12813d; border-color: #12813d; transform: translateY(-1px); }
.btn-outline { color: #202226; background: #fff; border: 1.5px solid #202226; }
.btn-outline:hover { color: #fff; background: #202226; border-color: #202226; }
.hero { position: relative; overflow: hidden; padding: 104px 0 112px; background: #171a1f; }
.hero::before { content:""; position:absolute; width:680px; height:680px; right:-220px; top:-280px; border:1px solid rgba(183,243,107,.26); border-radius:50%; box-shadow:0 0 0 95px rgba(183,243,107,.04),0 0 0 190px rgba(183,243,107,.025); }
.hero::after { content:"✓"; position:absolute; right:8%; bottom:-75px; color:rgba(183,243,107,.12); font-size:360px; font-weight:900; line-height:1; }
.hero .container { position: relative; z-index: 1; max-width: 1120px; text-align: left; margin-left: max(24px, calc((100vw - 1320px)/2)); }
.hero-badge { color: #d8ffab; background: rgba(183,243,107,.09); border: 1px solid rgba(183,243,107,.24); border-radius: 3px; text-transform: uppercase; letter-spacing: .08em; font-size: 12px; }
.hero h1 { max-width: 890px; margin: 22px 0 24px; color: #fff; font-size: clamp(44px,6vw,76px); font-weight: 650; line-height: 1.02; }
.hero-subtitle { max-width: 760px; margin: 0 0 34px; color: #d2d5d9; font-size: 20px; line-height: 1.55; }
.hero-cta { justify-content: flex-start; }
.hero .btn-primary { color:#182012; background:var(--brand-lime); border-color:var(--brand-lime); }
.hero .btn-primary:hover { background:#c7ff82; border-color:#c7ff82; }
.hero .btn-outline { color:#fff; background:transparent; border-color:#fff; }
.hero .btn-outline:hover { color:#171a1f; background:#fff; }
.hero-trust { justify-content: flex-start; gap: 28px; margin-top: 30px; color: #b9bec5; font-size: 13px; }
.section { padding: 92px 0; }
.section:nth-of-type(even) { background: var(--brand-paper); }
.section-title { font-size: clamp(32px,4vw,52px); font-weight: 650; line-height: 1.08; }
.section-subtitle { margin-top: 14px; color: #62666d; font-size: 18px; line-height: 1.6; }
.card,.role-column,.review-card,.stat-card,.request-card,.auth-card,.feedback-dialog { border: 1px solid #deded8; border-radius: 10px; box-shadow: none; }
.card,.role-column { padding: 34px; }
.card:hover,.role-column:hover,.review-card:hover { border-color: #aeb2aa; box-shadow: 0 12px 34px rgba(20,28,24,.07); transform: translateY(-2px); }
.card-icon { border-radius: 4px; background: #e9fbd9; }
.feature-list li { padding: 16px 0; border-color: #e5e5df; }
.feature-list .check { border-radius: 3px; background: #e9fbd9; }
.role-column.landlord,.role-column.renter { border-top-width: 1px; }
.role-column.landlord::before,.role-column.renter::before { content:""; display:block; width:54px; height:4px; margin:-35px 0 28px; background:#16a34a; }
.role-column.renter::before { background:#2563eb; }
.proof-stat { border-radius: 7px; box-shadow: none; }
.proof-stat strong { font-size: 30px; }
.rating-summary,.global-trust { border-radius: 10px; }
.global-trust { background:#171a1f; }
.trust-strip span { border-radius: 5px; }
.cta-section { padding: 88px 24px; background:#16a34a; }
.cta-section h2 { font-size: 46px; letter-spacing:-.04em; }
.site-footer { background:#111317; }
.dash-header { padding: 48px 0 38px; background:#171a1f; }
.dash-header h1 { color:#fff; font-size:40px; }
.dash-header .dash-sub { color:#c9cdd2; }
.dash-tab { border-radius: 3px; }
.dash-tab.active { color:#fff; background:#171a1f; }
.form-input,.form-select,.form-textarea { border-width:1px; border-radius:4px; background:#fff; }
.form-input:focus,.form-select:focus,.form-textarea:focus { border-color:#16a34a; box-shadow:0 0 0 3px rgba(22,163,74,.13); }
.status-badge,.badge-secure,.placeholder-badge { border-radius: 3px; }
@media (max-width: 767px) {
  .site-header,.header-inner { height:64px; }.logo img{width:184px}.hero{padding:72px 0 78px}.hero .container{margin-left:0;text-align:left}.hero h1{font-size:42px}.hero-subtitle{font-size:18px}.hero-cta{align-items:stretch}.hero-cta .btn{width:100%}.hero-trust{display:grid;gap:10px}.section{padding:64px 0}.section-title{font-size:36px}.card,.role-column{padding:26px}.cta-section h2{font-size:36px}
}

/* Unified outlined action-button treatment */
.btn-primary,
.btn-secondary,
.btn-white,
.btn-outline,
.hero .btn-primary,
.hero .btn-outline,
.cta-section .btn,
.role-column .btn {
  color: #292c31;
  background: #f7f7f7;
  border: 1.5px solid #777b80;
  box-shadow: none;
}
.btn-primary:hover,
.btn-secondary:hover,
.btn-white:hover,
.btn-outline:hover,
.hero .btn-primary:hover,
.hero .btn-outline:hover,
.cta-section .btn:hover,
.role-column .btn:hover {
  color: #171a1f;
  background: #e8e8e8;
  border-color: #55595f;
  box-shadow: none;
  transform: translateY(-1px);
}
.btn:not(.btn-danger) {
  position: relative;
  overflow: hidden;
  transition: background-color .22s ease, border-color .22s ease, color .22s ease, box-shadow .22s ease, transform .22s cubic-bezier(.2,.8,.2,1);
}
.btn:not(.btn-danger)::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 22%, rgba(255,255,255,.7) 50%, transparent 78%);
  transform: translateX(-130%);
  transition: transform .42s ease;
  pointer-events: none;
}
.btn:not(.btn-danger):hover::after { transform: translateX(130%); }
.btn:not(.btn-danger):active {
  transform: translateY(0) scale(.985);
  transition-duration: .08s;
}
.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-white:focus-visible,
.btn-outline:focus-visible {
  outline: 3px solid rgba(22,163,74,.24);
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  .btn:not(.btn-danger), .btn:not(.btn-danger)::after { transition: none; }
  .btn:not(.btn-danger):hover, .btn:not(.btn-danger):active { transform: none; }
}

/* AppointGreen logo-green action buttons */
.btn:not(.btn-danger),
.hero .btn:not(.btn-danger),
.cta-section .btn:not(.btn-danger),
.role-column .btn:not(.btn-danger) {
  color: #ffffff;
  background: #16a34a;
  border-color: #16a34a;
}
.btn:not(.btn-danger):hover,
.hero .btn:not(.btn-danger):hover,
.cta-section .btn:not(.btn-danger):hover,
.role-column .btn:not(.btn-danger):hover {
  color: #ffffff;
  background: #12813d;
  border-color: #12813d;
  box-shadow: 0 8px 20px rgba(22,163,74,.22);
}
.btn:not(.btn-danger):focus-visible {
  outline: 3px solid rgba(22,163,74,.28);
  outline-offset: 3px;
}

/* Professional dashboard workspace */
.dashboard-page { background:#f4f6f5; }
.dashboard-page .site-header { position:sticky; top:0; z-index:1000; }
.dashboard-page .dash-header { position:relative; overflow:hidden; padding:54px 0 48px; background:linear-gradient(120deg,#151a17 0%,#1c2821 68%,#153c27 100%); }
.dashboard-page .dash-header::after { content:""; position:absolute; right:-80px; top:-155px; width:430px; height:430px; border:1px solid rgba(74,222,128,.19); border-radius:50%; box-shadow:0 0 0 70px rgba(74,222,128,.025),0 0 0 140px rgba(74,222,128,.018); }
.dashboard-page .dash-header .container-lg { position:relative; z-index:1; }
.dash-eyebrow { display:block; margin-bottom:10px; color:#86efac; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.dashboard-page .dash-header h1 { margin:0; font-size:clamp(32px,4vw,46px); }
.dashboard-page .dash-header .dash-sub { max-width:660px; margin-top:10px; font-size:16px; }
.dashboard-page > main > .container-lg { padding-bottom:72px; }
.dashboard-page .dash-stats { gap:16px; margin-top:-24px !important; position:relative; z-index:2; }
.dashboard-page .stat-card { position:relative; overflow:hidden; min-height:128px; padding:24px; background:#fff; border:1px solid #dde3df; box-shadow:none; text-align:left; }
.dashboard-page .stat-card::after { position:absolute; top:20px; right:20px; display:grid; place-items:center; width:38px; height:38px; border-radius:9px; background:#ecfdf3; color:#15803d; font-size:18px; }
.dashboard-page .stat-card:nth-child(1)::after { content:"▦"; }.dashboard-page .stat-card:nth-child(2)::after { content:"◷"; }.dashboard-page .stat-card:nth-child(3)::after { content:"◎"; }.dashboard-page .stat-card:nth-child(4)::after { content:"✓"; }
.dashboard-page .stat-num { color:#17251d; font-size:34px; font-weight:750; line-height:1; }
.dashboard-page .stat-label { margin-top:12px; color:#68726c; font-size:13px; font-weight:700; text-transform:uppercase; letter-spacing:.05em; }
.dash-actionbar { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:28px 0 20px; padding:22px 24px; border:1px solid #dde3df; border-radius:12px; background:#fff; }
.dash-actionbar h2 { margin:0 0 4px; font-size:20px; }.dash-actionbar p { margin:0; color:var(--text-muted); font-size:14px; }.dash-actionbar-buttons { display:flex; gap:10px; flex-wrap:wrap; }
.dashboard-page .dash-tabs { display:flex; gap:5px; margin:0; padding:7px; overflow-x:auto; border:1px solid #dde3df; border-radius:10px 10px 0 0; background:#fff; scrollbar-width:thin; }
.dashboard-page .dash-tab { flex:0 0 auto; min-height:42px; padding:10px 16px; color:#5d665f; background:transparent; border:0; font-size:13px; font-weight:750; }
.dashboard-page .dash-tab:hover { background:#f1f5f2; color:#17251d; }
.dashboard-page .dash-tab.active { color:#fff; background:#16a34a; box-shadow:0 5px 12px rgba(22,163,74,.18); }
.dashboard-page .dash-panel { min-height:310px; margin:0 0 36px; padding:28px; border:1px solid #dde3df; border-top:0; border-radius:0 0 12px 12px; background:#fff; }
.dashboard-page .clean-account-empty,.dashboard-page .empty-state { display:grid; place-items:center; min-height:250px; padding:32px; text-align:center; border:1px dashed #cbd5ce; border-radius:10px; background:#fafcfb; }
.dashboard-page .empty-icon { display:grid; place-items:center; width:62px; height:62px; margin-bottom:14px; border-radius:16px; background:#eaf9ef; font-size:28px; }
.dashboard-page .empty-state h3 { margin-bottom:7px; font-size:19px; }.dashboard-page .empty-state p { max-width:500px; color:#707a73; line-height:1.6; }
.dashboard-page .request-card { padding:22px; border-color:#dde3df; background:#fff; box-shadow:0 7px 20px rgba(22,40,29,.05); }
.dashboard-page .request-card:hover { border-color:#a9b5ad; }
.dashboard-page .modal-content { border-radius:14px; border:1px solid #d9e0db; box-shadow:0 24px 70px rgba(10,22,14,.2); }
.admin-dashboard-content { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(330px,.9fr); gap:24px; align-items:start; }
.admin-dashboard-content > .card { margin-top:0 !important; padding:28px; background:#fff; }
.admin-dashboard-content > .card h2 { font-size:22px; }
@media(max-width:900px){.admin-dashboard-content{grid-template-columns:1fr}.dashboard-page .dash-stats{grid-template-columns:1fr 1fr}.dash-actionbar{align-items:flex-start;flex-direction:column}.dash-actionbar-buttons,.dash-actionbar .btn{width:100%}}
@media(max-width:560px){.dashboard-page .dash-stats{grid-template-columns:1fr 1fr;gap:10px}.dashboard-page .stat-card{min-height:108px;padding:18px}.dashboard-page .stat-card::after{width:32px;height:32px;top:14px;right:14px}.dashboard-page .stat-num{font-size:28px}.dashboard-page .stat-label{font-size:11px}.dashboard-page .dash-panel{padding:16px}.dashboard-page .dash-header{padding:40px 0 42px}.dash-actionbar{padding:18px}}

/* Minimal professional profile settings */
.profile-settings-page { background:#f6f7f5; }
.profile-settings-page .profile-header { padding:42px 0 34px; background:#fff; border-bottom:1px solid #dfe3df; }
.profile-settings-page .profile-avatar { width:86px; height:86px; border:1px solid #d5dbd7; background:#eef7f1; color:#16a34a; box-shadow:none; }
.profile-settings-page .profile-name { margin-top:12px; color:#1f2937; font-size:28px; }.profile-settings-page .profile-email{color:#6b7280}.profile-settings-page .profile-role-badge,.profile-settings-page .profile-verified-badge{border-radius:3px}
.profile-settings-page .profile-stat-row { display:none; }
.profile-settings-page .profile-body { grid-template-columns:minmax(0,2fr) minmax(280px,.8fr); gap:28px; }
.profile-settings-page .profile-section { margin:0 0 24px; padding:30px 32px; border:1px solid #dfe3df; border-radius:2px; background:#fff; box-shadow:none; }
.profile-settings-page .profile-section h3 { margin:0 0 26px; padding:0 0 16px; border-bottom:1px solid #e5e7eb; color:#30363d; font-size:20px; font-weight:650; letter-spacing:0; }
.profile-settings-page .profile-field { position:relative; display:grid; grid-template-columns:minmax(150px,.7fr) minmax(0,1.3fr) auto; align-items:center; gap:18px; min-height:84px; padding:17px 0; border-bottom:1px solid #e5e7eb; }
.profile-settings-page .profile-field:last-of-type { border-bottom:0; }
.profile-settings-page .pf-label { color:#6b7280; font-size:16px; font-weight:500; }
.profile-settings-page .pf-value { color:#374151; font-size:15px; text-align:left; }
.profile-settings-page .pf-edit-input { grid-column:2 / 4; width:100%; border:1px solid #9ca3af; border-radius:2px; }
.profile-asset-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; margin-bottom:18px; }
.profile-asset-grid label { display:block; min-height:44px; margin-bottom:8px; color:#4b5563; font-size:16px; line-height:1.4; }
.profile-asset-box { display:grid; place-items:center; min-height:142px; padding:22px; border:1px dashed #9ca3af; background:#fff; text-align:center; }
.profile-asset-box .btn { max-width:100%; white-space:normal; }
.profile-asset-saved { display:grid; gap:6px; place-items:center; color:#374151; }.profile-asset-saved strong{font-family:"Segoe Script","Brush Script MT",cursive;font-size:24px;color:#1f2937}.profile-asset-saved span{color:#6b7280;font-size:13px}
.profile-image-field { min-height:110px !important; }
.profile-image-mini { display:grid; place-items:center; width:72px; height:72px; border:1px solid #d1d5db; border-radius:50%; background:#eef6ff; color:#7aa7c7; font-size:20px; font-weight:700; overflow:hidden; }
.profile-image-mini img { width:100%; height:100%; object-fit:cover; }
.profile-text-action { justify-self:end; padding:4px 0; border:0; border-bottom:1px solid #22708d; color:#22708d; background:transparent; font-size:14px; cursor:pointer; }
.profile-settings-page .profile-side-actions { gap:10px; }.profile-settings-page .profile-side-actions .btn { justify-content:flex-start; }
.profile-settings-page #passwordForm { padding-top:4px; }.profile-settings-page #passwordForm .form-input { background:#fafafa; }
.profile-settings-page .activity-list { border:0; }.profile-settings-page .activity-item { border-bottom:1px solid #e5e7eb; }
@media(max-width:900px){.profile-settings-page .profile-body{grid-template-columns:1fr}.profile-asset-grid{grid-template-columns:1fr}}
@media(max-width:600px){.profile-settings-page .profile-section{padding:24px 20px}.profile-settings-page .profile-field{grid-template-columns:1fr;gap:7px;padding:18px 0}.profile-settings-page .pf-edit-input{grid-column:1}.profile-text-action{justify-self:start}.profile-image-field{grid-template-columns:1fr auto}.profile-image-field .pf-label{grid-column:1/-1}.profile-asset-box{min-height:126px}}

/* Simple, dependable profile layout */
.profile-simple-page { background:#f5f7f5; }
.profile-simple-page .profile-header { padding:36px 0; background:#fff; border-bottom:1px solid #dde3df; text-align:left; }
.profile-simple-page .profile-header .container { display:grid; grid-template-columns:96px minmax(0,1fr) auto; grid-template-rows:auto auto auto; align-items:center; column-gap:22px; max-width:1080px; }
.profile-simple-page .profile-avatar-wrap { grid-row:1 / 4; grid-column:1; margin:0; }
.profile-simple-page .profile-avatar { width:88px; height:88px; border:1px solid #d4ddd7; background:#eaf8ef; color:#15803d; box-shadow:none; }
.profile-simple-page .profile-name { grid-column:2; margin:0; color:#1f2937; font-size:28px; text-align:left; }
.profile-simple-page .profile-email { grid-column:2; margin:3px 0 8px; color:#6b7280; text-align:left; }
.profile-simple-page .profile-role-badge { grid-column:2; justify-self:start; border-radius:4px; }
.profile-simple-page .profile-verified-badge { grid-column:3; grid-row:1 / 4; align-self:center; margin:0; padding:9px 12px; border:1px solid #bbf7d0; border-radius:5px; background:#f0fdf4; color:#15803d; font-size:12px; }
.profile-simple-page .profile-member-badge { grid-column:3; grid-row:1 / 4; align-self:center; margin:0; padding:9px 12px; border:1px solid #d1d5db; border-radius:5px; background:#f9fafb; color:#6b7280; font-size:12px; }
.profile-simple-page .profile-stat-row { display:none; }
.profile-simple-page .profile-body { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(270px,.75fr); gap:24px; max-width:1080px; margin:24px auto 0; }
.profile-simple-page .profile-section { margin:0 0 20px; padding:26px; border:1px solid #dde3df; border-radius:10px; background:#fff; box-shadow:0 5px 18px rgba(26,45,33,.04); }
.profile-simple-page .profile-section h3 { display:block; margin:0 0 18px; padding-bottom:14px; border-bottom:1px solid #e5e7eb; color:#26312a; font-size:18px; font-weight:750; }
.profile-simple-page .profile-field { display:grid; grid-template-columns:150px minmax(0,1fr); gap:18px; align-items:center; min-height:60px; padding:12px 0; border-bottom:1px solid #edf0ee; }
.profile-simple-page .profile-field:last-of-type { border-bottom:0; }
.profile-simple-page .pf-label { color:#6b7280; font-size:14px; font-weight:650; }.profile-simple-page .pf-value{color:#26312a;font-size:15px;text-align:left}.profile-simple-page .pf-edit-input{grid-column:2;width:100%;border:1px solid #aeb8b1;border-radius:5px}
.profile-simple-page .profile-side-actions { display:grid; gap:10px; }.profile-simple-page .profile-side-actions .btn{justify-content:center}.profile-simple-page #passwordForm{padding-top:4px}.profile-simple-page #profileActivity:empty::after{content:"No recent account activity.";display:block;padding:22px;color:#6b7280;text-align:center;background:#fafbfa;border:1px dashed #d6ddd8;border-radius:6px}
.profile-simple-page .btn-ghost { color:#374151; background:#fff; border:1px solid #d1d5db; }
@media(max-width:820px){.profile-simple-page .profile-body{grid-template-columns:1fr}.profile-simple-page .profile-member-badge{grid-column:2;grid-row:auto;justify-self:start;margin-top:8px}.profile-simple-page .profile-header .container{grid-template-columns:82px 1fr}.profile-simple-page .profile-avatar{width:74px;height:74px}}
@media(max-width:560px){.profile-simple-page .profile-header .container{display:block;text-align:center}.profile-simple-page .profile-avatar-wrap{margin:0 auto 14px}.profile-simple-page .profile-name,.profile-simple-page .profile-email{text-align:center}.profile-simple-page .profile-role-badge,.profile-simple-page .profile-member-badge{display:table;margin:8px auto}.profile-simple-page .profile-section{padding:20px 18px}.profile-simple-page .profile-field{grid-template-columns:1fr;gap:5px;padding:15px 0}.profile-simple-page .pf-edit-input{grid-column:1}}

/* Rearranged profile workspace */
.profile-simple-page .profile-header { padding:42px 0; background:linear-gradient(120deg,#17211b,#203329); }
.profile-simple-page .profile-header .container { display:flex; align-items:center; justify-content:space-between; gap:24px; max-width:1120px; }
.profile-page-kicker { display:block; margin-bottom:7px; color:#86efac; font-size:12px; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.profile-simple-page .profile-header h1 { margin:0; color:#fff; font-size:38px; }.profile-simple-page .profile-header p{margin:8px 0 0;color:#cbd5ce;font-size:15px}
.profile-simple-page .profile-body { grid-template-columns:300px minmax(0,1fr); max-width:1120px; align-items:start; }
.profile-simple-page .profile-body > div:first-child { grid-column:2; }.profile-simple-page .profile-body > div:last-child { grid-column:1; grid-row:1; }
.profile-summary-card { padding:28px !important; text-align:center; }
.profile-summary-card .profile-avatar-wrap { margin:0 auto 16px; }.profile-summary-card .profile-avatar{width:92px;height:92px;margin:auto;border:1px solid #d5ddd7;background:#eaf8ef;color:#15803d;box-shadow:none}.profile-summary-card .profile-avatar-upload{display:grid;place-items:center;width:30px;height:30px;right:0;bottom:2px;border:2px solid #fff;border-radius:50%;background:#16a34a;color:#fff;cursor:pointer}.profile-summary-card .profile-name{margin:0;color:#1f2937;font-size:22px;text-align:center}.profile-summary-card .profile-email{margin:5px 0 12px;color:#6b7280;text-align:center;word-break:break-word}.profile-summary-card .profile-role-badge{display:table;margin:0 auto 14px}.profile-summary-card .profile-member-badge{display:block;margin:0;padding-top:14px;border-top:1px solid #e5e7eb;color:#6b7280;font-size:12px}
.profile-simple-page .profile-body > div:last-child { position:sticky; top:94px; }
.profile-simple-page .profile-section h3 { font-size:17px; }.profile-simple-page .profile-field{grid-template-columns:165px 1fr}.profile-simple-page #profileInfoCard{padding:30px}.profile-simple-page #profileInfoCard>div:last-child{padding-top:8px}
@media(max-width:900px){.profile-simple-page .profile-body{grid-template-columns:1fr}.profile-simple-page .profile-body>div:first-child,.profile-simple-page .profile-body>div:last-child{grid-column:1;grid-row:auto}.profile-simple-page .profile-body>div:last-child{position:static}.profile-summary-card{display:grid;grid-template-columns:auto 1fr;column-gap:18px;text-align:left}.profile-summary-card .profile-avatar-wrap{grid-row:1/5;margin:0}.profile-summary-card .profile-name,.profile-summary-card .profile-email{text-align:left}.profile-summary-card .profile-role-badge{margin:0}.profile-summary-card .profile-member-badge{grid-column:1/-1;margin-top:16px}}
@media(max-width:600px){.profile-simple-page .profile-header .container{align-items:flex-start;flex-direction:column}.profile-simple-page .profile-header .btn{width:100%}.profile-simple-page .profile-field{grid-template-columns:1fr}.profile-simple-page .pf-edit-input{grid-column:1}.profile-summary-card{display:block;text-align:center}.profile-summary-card .profile-avatar-wrap{margin:0 auto 16px}.profile-summary-card .profile-name,.profile-summary-card .profile-email{text-align:center}.profile-summary-card .profile-role-badge{margin:0 auto}}

/* Fresh minimal profile */
.profile-fresh-page{background:#f4f6f5}.fresh-profile-heading{padding:44px 0;background:#17211b}.fresh-profile-heading .container{display:flex;align-items:center;justify-content:space-between;gap:24px;max-width:1080px}.fresh-profile-heading span{color:#86efac;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.fresh-profile-heading h1{margin:5px 0 4px;color:#fff;font-size:38px}.fresh-profile-heading p{margin:0;color:#cbd5ce}.fresh-profile-wrap{max-width:1080px;padding-top:30px;padding-bottom:70px}.fresh-profile-card{display:grid;grid-template-columns:280px minmax(0,1fr);overflow:hidden;border:1px solid #dce2de;border-radius:12px;background:#fff;box-shadow:0 14px 40px rgba(22,40,29,.07)}
.fresh-profile-identity{padding:34px 28px;border-right:1px solid #e4e8e5;background:#fafcfb;text-align:center}.fresh-profile-identity .profile-avatar-wrap{margin:0 auto 18px}.fresh-profile-identity .profile-avatar{width:94px;height:94px;margin:auto;border:1px solid #d4ddd7;background:#eaf8ef;color:#15803d;box-shadow:none}.fresh-profile-identity .profile-avatar-upload{display:grid;place-items:center;width:31px;height:31px;right:0;bottom:1px;border:2px solid #fff;border-radius:50%;background:#16a34a;color:#fff;cursor:pointer}.fresh-profile-identity h2{margin:0;color:#1f2937;font-size:22px}.fresh-profile-identity>p{margin:6px 0 12px;color:#6b7280;word-break:break-word}.fresh-profile-identity .profile-role-badge{display:table;margin:0 auto 17px}.fresh-profile-identity>small{display:block;margin-bottom:24px;color:#7a817c}.fresh-profile-identity .fresh-logout{display:inline-block;margin-top:17px;color:#5f6862;font-size:14px;text-decoration:underline}
.fresh-profile-details{padding:34px 38px}.fresh-section-title{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:12px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.fresh-section-title h3{margin:0 0 5px;color:#26312a;font-size:21px}.fresh-section-title p{margin:0;color:#6b7280;font-size:14px}.fresh-field{display:grid!important;grid-template-columns:170px minmax(0,1fr);align-items:center;gap:18px;min-height:69px;padding:13px 0;border-bottom:1px solid #edf0ee}.fresh-field label{color:#69736c;font-size:14px;font-weight:650}.fresh-field .pf-value{color:#26312a;font-size:15px;text-align:left}.fresh-field .pf-edit-input{grid-column:2;width:100%;border:1px solid #aeb8b1;border-radius:5px}.fresh-profile-actions{display:flex;gap:10px;margin-top:24px}.profile-fresh-page .profile-edit-mode .fresh-section-title #editProfileBtn{display:none}.fresh-active-status{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border:1px solid #bbf7d0;border-radius:999px;background:#f0fdf4;color:#15803d;font-size:13px;font-weight:750}.fresh-active-status i{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.13)}
@media(max-width:800px){.fresh-profile-card{grid-template-columns:1fr}.fresh-profile-identity{border-right:0;border-bottom:1px solid #e4e8e5}.fresh-profile-heading .container{align-items:flex-start;flex-direction:column}.fresh-profile-heading .btn{width:100%}}
@media(max-width:560px){.fresh-profile-details{padding:25px 20px}.fresh-field{grid-template-columns:1fr;gap:6px;padding:16px 0}.fresh-field .pf-edit-input{grid-column:1}.fresh-section-title{align-items:flex-start;flex-direction:column}.fresh-section-title .btn{width:100%}.fresh-profile-actions{flex-direction:column}.fresh-profile-actions .btn{width:100%}}
.profile-id-field{align-items:start!important;padding:17px 0!important}.profile-id-value{display:flex;align-items:center;gap:10px;min-width:0}.profile-id-value code{display:inline-block;min-width:0;padding:8px 10px;border:1px solid #cce8d5;border-radius:6px;background:#f0fdf4;color:#166534;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:13px;font-weight:800;letter-spacing:.035em;overflow-wrap:anywhere}.profile-id-copy{min-height:36px;padding:7px 11px;border:1px solid #bbd9c5;border-radius:6px;background:#fff;color:#15803d;font-size:12px;font-weight:750;white-space:nowrap;cursor:pointer}.profile-id-copy:hover{border-color:#16a34a;background:#f0fdf4}.profile-id-copy:disabled{cursor:not-allowed;opacity:.55}.profile-id-copy.copied{border-color:#86efac;background:#dcfce7;color:#166534}.profile-id-help{grid-column:2;color:#6b7280;font-size:11px;line-height:1.45}.profile-fresh-page .profile-edit-mode .profile-id-field .pf-value{display:flex}.renter-id-request-field .form-input{text-transform:uppercase;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;letter-spacing:.035em}@media(max-width:560px){.profile-id-value{align-items:stretch;flex-direction:column}.profile-id-copy{width:100%;min-height:42px}.profile-id-help{grid-column:1}}
.request-recipient-selector{margin:20px 0;padding:0;border:0}.request-recipient-selector legend{margin-bottom:9px;color:#374151;font-size:13px;font-weight:750}.request-recipient-options{display:grid;grid-template-columns:1fr 1fr;gap:10px}.request-recipient-options label{position:relative;display:flex;align-items:center;min-height:72px;padding:13px 14px;border:1px solid #d8e0da;border-radius:9px;background:#fff;cursor:pointer;transition:border-color .18s,background-color .18s,box-shadow .18s}.request-recipient-options label:hover{border-color:#9fd2af;background:#f8fcf9}.request-recipient-options input{position:absolute;opacity:0;pointer-events:none}.request-recipient-options span{display:grid;gap:3px;padding-left:29px}.request-recipient-options span:before{content:'';position:absolute;left:14px;top:50%;width:17px;height:17px;border:1.5px solid #aab5ad;border-radius:50%;background:#fff;transform:translateY(-50%)}.request-recipient-options label:has(input:checked){border-color:#16a34a;background:#f0fdf4;box-shadow:0 0 0 2px rgba(22,163,74,.09)}.request-recipient-options label:has(input:checked) span:before{border:5px solid #16a34a}.request-recipient-options strong{color:#25322a;font-size:14px}.request-recipient-options small{color:#6b7280;font-size:11px;line-height:1.35}@media(max-width:560px){.request-recipient-options{grid-template-columns:1fr}.request-recipient-options label{min-height:68px}}

/* Logged-in notification center */
.notification-button{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;border:1px solid #d7ddd9;border-radius:50%;background:#fff;color:#26312a;font-size:18px;cursor:pointer;transition:.2s}.notification-button:hover,.notification-button[aria-expanded="true"]{border-color:#16a34a;background:#effbf3;transform:translateY(-1px)}
.mobile-notification-button{display:flex;align-items:center;gap:10px;width:100%;padding:13px 20px;border:0;border-bottom:1px solid #e5e7eb;background:#fff;color:#26312a;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.notification-panel{position:fixed;z-index:2500;top:82px;right:24px;width:min(380px,calc(100vw - 32px));overflow:hidden;border:1px solid #d9e0db;border-radius:12px;background:#fff;box-shadow:0 24px 70px rgba(16,32,22,.2);opacity:0;visibility:hidden;transform:translateY(-10px) scale(.98);transform-origin:top right;transition:opacity .2s,transform .2s,visibility .2s}.notification-panel.open{opacity:1;visibility:visible;transform:none}.notification-panel-head{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border-bottom:1px solid #e5e7eb}.notification-panel-head strong,.notification-panel-head span{display:block}.notification-panel-head strong{color:#1f2937;font-size:17px}.notification-panel-head span{margin-top:2px;color:#6b7280;font-size:12px}.notification-panel-head button{border:0;background:transparent;color:#6b7280;font-size:26px;cursor:pointer}.notification-empty{display:grid;place-items:center;padding:42px 28px;text-align:center}.notification-empty>span{display:grid;place-items:center;width:54px;height:54px;margin-bottom:13px;border-radius:50%;background:#ecfdf3;font-size:23px}.notification-empty strong{color:#26312a}.notification-empty p{max-width:280px;margin:6px 0 0;color:#6b7280;font-size:14px;line-height:1.5}
@media(min-width:768px){.mobile-notification-button{display:none}}@media(max-width:767px){.notification-panel{top:72px;right:16px}.notification-button{display:none}}
.notification-button{position:relative}.notification-dot{position:absolute;top:6px;right:6px;width:9px;height:9px;border:2px solid #fff;border-radius:50%;background:#ef4444}.notification-list{max-height:420px;overflow:auto}.notification-item{padding:15px 18px;border-bottom:1px solid #edf0ee}.notification-item.unread{background:#f0fdf4}.notification-item strong,.notification-item span{display:block}.notification-item strong{color:#26312a;font-size:14px}.notification-item p{margin:4px 0 7px;color:#59635d;font-size:13px;line-height:1.45}.notification-item span{color:#8a938d;font-size:11px}
.logged-in-notification-bar{display:block;width:100%;padding:0;border:0;border-bottom:1px solid #dce8df;background:#f8fcf9;color:#1f2937;text-align:left;cursor:pointer;transition:background .18s,border-color .18s}.notification-bar-inner{display:flex;align-items:center;gap:10px;width:min(1180px,calc(100% - 40px));min-height:44px;margin:auto}.notification-bar-icon{position:relative;display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border-radius:50%;background:#e7f8ed;font-size:13px}.notification-bar-copy{display:flex;align-items:baseline;gap:8px;min-width:0}.notification-bar-copy strong{font-size:13px}.notification-bar-copy small{overflow:hidden;color:#647067;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.notification-bar-status{margin-left:auto;padding:4px 8px;border:1px solid #d9eee0;border-radius:999px;background:#fff;color:#15803d;font-size:10px;font-weight:750;white-space:nowrap}.notification-bar-arrow{color:#15803d;font-size:20px;line-height:1}.logged-in-notification-bar.has-unread{border-bottom-color:#fed7aa;background:#fffaf4}.logged-in-notification-bar.has-unread .notification-bar-icon{background:#ffedd5}.logged-in-notification-bar.has-unread .notification-bar-icon:after{content:'';position:absolute;top:1px;right:1px;width:7px;height:7px;border:2px solid #fff;border-radius:50%;background:#f97316}.logged-in-notification-bar.has-unread .notification-bar-status{border-color:#fed7aa;background:#fff7ed;color:#c2410c}.logged-in-notification-bar:hover{background:#f0fdf4}.logged-in-notification-bar:focus-visible{outline:3px solid rgba(22,163,74,.24);outline-offset:-3px}@media(max-width:600px){.notification-bar-inner{width:calc(100% - 24px);min-height:46px;gap:8px}.notification-bar-copy{display:block}.notification-bar-copy small{display:none}.notification-bar-status{padding:4px 7px}.notification-bar-arrow{font-size:18px}}

/* Compact responsive footer bar */
.site-footer {
  padding: 32px 0 26px;
  background: #111317;
}
.site-footer .footer-bottom {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  width: 100%;
  padding-top: 26px !important;
  border-top: 1px solid #292c32 !important;
  color: #a9afb8;
  font-size: 14px;
  line-height: 1.45;
  text-align: left;
}
.site-footer .footer-bottom .footer-legal {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;
  gap: 28px;
  white-space: nowrap;
}
.site-footer .footer-bottom .footer-legal a {
  color: #188c45;
  font-weight: 500;
}
.site-footer .footer-bottom .footer-legal a:hover {
  color: #4ade80;
  text-decoration: none;
}
@media (max-width: 639px) {
  .site-footer { padding: 24px 0 22px; }
  .site-footer .container-lg { padding-right: 18px; padding-left: 18px; }
  .site-footer .footer-bottom {
    grid-template-columns: minmax(112px, 1fr) auto;
    gap: 12px;
    padding-top: 20px !important;
    font-size: 11px;
  }
  .site-footer .footer-bottom .footer-legal {
    gap: 12px;
    font-size: 12px;
  }
}

/* Hero heading typography supplied in the reference */
.hero h1 {
  font-family: "DSIndigo", Helvetica, Arial, sans-serif;
  font-size: 80px;
  font-weight: 400;
  line-height: 1.02;
  letter-spacing: -0.025em;
}
@media (max-width: 1023px) {
  .hero h1 { font-size: clamp(54px, 7.5vw, 72px); }
}
@media (max-width: 767px) {
  .hero h1 {
    font-size: clamp(42px, 12vw, 58px);
    line-height: 1.04;
  }
}

/* Refined professional header system */
.site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  height: 82px;
  background: rgba(255, 255, 255, .96);
  border-bottom: 1px solid #e2e6e3;
  box-shadow: 0 8px 28px rgba(20, 34, 25, .055);
  backdrop-filter: blur(14px);
}
.header-inner {
  height: 82px;
  max-width: 1400px;
  padding-right: 28px;
  padding-left: 28px;
}
.site-header .logo {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
}
.site-header .logo img {
  width: 226px;
  max-height: 54px;
}
.nav-desktop {
  align-items: center;
  gap: 8px;
}
.nav-desktop > a:not(.btn) {
  position: relative;
  padding: 12px 14px;
  border-radius: 6px;
  color: #303733;
  font-size: 15px;
  font-weight: 650;
  letter-spacing: -.012em;
  transition: color .2s ease, background-color .2s ease;
}
.nav-desktop > a:not(.btn):hover {
  color: #137a39;
  background: #f0faf3;
}
.site-header .nav-logged-out,
.site-header .nav-logged-in {
  align-items: center;
  gap: 10px;
  margin-left: 12px;
}
.site-header .btn-sm {
  min-height: 44px;
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
}
.hero {
  padding-top: 112px;
  padding-bottom: 118px;
}
.hero-badge {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 5px;
  font-weight: 750;
  letter-spacing: .09em;
}
.hero h1 {
  max-width: 980px;
  margin-top: 28px;
  margin-bottom: 26px;
  font-weight: 600;
  text-wrap: balance;
}
.hero-subtitle {
  max-width: 780px;
  color: #c7cdd2;
  font-size: 19px;
  line-height: 1.62;
}
@media (max-width: 767px) {
  .site-header,
  .header-inner { height: 68px; }
  .header-inner { padding-right: 18px; padding-left: 18px; }
  .site-header .logo img { width: 188px; max-height: 46px; }
  .mobile-menu { top: 68px; padding: 14px 18px 22px; }
  .hamburger { width: 42px; height: 42px; padding: 9px; border: 1px solid #dfe5e1; border-radius: 7px; background: #fff; }
  .hero { padding-top: 76px; padding-bottom: 82px; }
  .hero-badge { min-height: 34px; padding: 7px 10px; font-size: 10px; }
  .hero h1 { margin-top: 22px; margin-bottom: 22px; font-weight: 600; }
  .hero-subtitle { font-size: 17px; line-height: 1.58; }
}

/* Dashboard status emphasis */
.dashboard-page .dash-stats .stat-card{transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease}
.dashboard-page .dash-stats .stat-card.stat-alert{border-color:#f6d47b;box-shadow:none}
.dashboard-page .dash-stats .stat-card.stat-alert::after{background:#fffbeb;color:#b45309}
.dashboard-page .dash-stats .stat-card.stat-positive{border-color:#86efac;box-shadow:none}
.dashboard-page .dash-stats .stat-card.stat-positive::after{background:#dcfce7;color:#15803d}
.dashboard-page .dash-stats .stat-card.stat-alert .stat-num{color:#92400e}
.dashboard-page .dash-stats .stat-card.stat-positive .stat-num{color:#15803d}
.dashboard-page .dash-tab[data-panel*="pending"],
.dashboard-page .dash-tab[data-panel*="review"] {
  box-shadow: 0 4px 12px rgba(180, 83, 9, .10);
}
.dashboard-page .dash-tab[data-panel*="submitted"],
.dashboard-page .dash-tab[data-panel*="approved"] {
  box-shadow: 0 5px 14px rgba(22, 163, 74, .15);
}

/* Notification moderation controls */
.notification-panel-actions { display: flex; align-items: center; gap: 8px; }
.notification-panel-head .notification-mark-all {
  min-height: 34px;
  padding: 7px 10px;
  border: 1px solid #bbf7d0;
  border-radius: 6px;
  background: #f0fdf4;
  color: #15803d;
  font-size: 12px;
  font-weight: 750;
}
.notification-panel-head .notification-mark-all:hover { background: #dcfce7; }
.notification-panel-head .notification-mark-all:disabled { cursor: default; opacity: .72; }
.notification-panel-head .notification-close { width: 34px; height: 34px; padding: 0; }

/* Focused residential application flow */
.rental-form-page{background:#f4f7f5}.rental-form-main{padding-bottom:64px}.rental-form-shell{max-width:1080px}.application-banner{padding:42px 0 34px;background:linear-gradient(130deg,#122018,#1b3425);color:#fff}.application-kicker{display:inline-flex;margin-bottom:12px;padding:6px 10px;border:1px solid rgba(134,239,172,.3);border-radius:5px;background:rgba(22,163,74,.13);color:#bbf7d0;font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.application-banner h1{margin:0;font-size:36px;line-height:1.15}.application-banner>div>p{margin:9px 0 25px;color:#cbd5ce;font-size:16px}.property-summary{display:grid;grid-template-columns:2fr repeat(3,1fr);overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.05)}.property-summary>div{display:grid;gap:5px;padding:15px 18px;border-right:1px solid rgba(255,255,255,.12)}.property-summary>div:last-child{border:0}.property-summary small{color:#a8b5ac;font-size:11px;text-transform:uppercase}.property-summary strong{font-size:13px}.rental-form-layout{display:grid;grid-template-columns:245px minmax(0,1fr);gap:28px;align-items:start;padding-top:32px}.application-steps{position:sticky;top:112px;padding:10px;border:1px solid #e1e8e3;border-radius:10px;background:#fff;box-shadow:0 10px 30px rgba(21,43,28,.06)}.application-step{display:flex;align-items:center;gap:11px;padding:12px 10px;border-radius:7px;color:#6b7280;font-size:13px;font-weight:650}.application-step b{display:grid;place-items:center;width:28px;height:28px;flex:0 0 auto;border:1px solid #d1d9d3;border-radius:50%;background:#fff;color:#6b7280}.application-step.active{background:#f0fdf4;color:#166534}.application-step.active b,.application-step.done b{border-color:#16a34a;background:#16a34a;color:#fff}.application-step.done{color:#15803d}.application-progress-head{display:flex;justify-content:space-between;margin:0 2px 9px;color:#647067;font-size:12px;font-weight:750}.application-form-column .progress-bar-bg{height:6px;margin-bottom:18px}.application-form-card{padding:34px;border:1px solid #e1e8e3;border-radius:11px;box-shadow:0 16px 42px rgba(21,43,28,.07)}.form-section-heading{display:flex;align-items:flex-start;gap:14px;margin-bottom:28px;padding-bottom:20px;border-bottom:1px solid #e5e7eb}.form-section-heading>span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border-radius:7px;background:#16a34a;color:#fff;font-weight:800}.form-section-heading h2{margin:0;color:#1f2937;font-size:22px}.form-section-heading p{margin:5px 0 0;color:#6b7280;font-size:14px}.application-form-card .form-input,.application-form-card .form-select,.application-form-card .form-textarea{min-height:48px;border-color:#d7dfd9;border-radius:6px}.application-form-card .form-input:focus,.application-form-card .form-select:focus,.application-form-card .form-textarea:focus{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.1)}.application-form-card .upload-zone{padding:32px 20px;border-radius:8px}.application-form-card [data-photo-upload] input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.optional-label{margin-left:6px;color:#6b7280;font-size:11px;font-weight:500}.review-summary{display:grid;gap:0;margin:18px 0 24px;border:1px solid #e5e7eb;border-radius:8px}.review-summary>div{display:flex;justify-content:space-between;gap:15px;padding:14px 16px;border-bottom:1px solid #e5e7eb}.review-summary>div:last-child{border:0}.review-summary span{color:#6b7280}.review-summary strong{text-align:right}.application-form-column>.secure-notice{margin-top:18px}.application-form-card .step-nav .btn{min-height:48px;border-radius:6px}.application-form-card .step-nav>span{flex:1}
@media(max-width:760px){.application-banner{padding:30px 0 26px}.application-banner h1{font-size:28px}.application-banner>div>p{font-size:15px}.property-summary{grid-template-columns:1fr 1fr}.property-summary>div{border-right:1px solid rgba(255,255,255,.12);border-bottom:1px solid rgba(255,255,255,.12)}.property-summary>div:nth-child(2n){border-right:0}.property-summary>div:nth-last-child(-n+2){border-bottom:0}.rental-form-layout{display:block;padding-top:20px}.application-steps{position:static;display:flex;gap:7px;margin-bottom:18px;padding:8px;overflow-x:auto}.application-step{min-width:auto;padding:5px;background:transparent}.application-step span{display:none}.application-step b{width:32px;height:32px}.application-form-card{padding:22px 16px}.form-section-heading{margin-bottom:22px}.form-section-heading h2{font-size:20px}.application-form-card .form-row{display:block}.application-form-card .step-nav{flex-direction:column-reverse}.application-form-card .step-nav>span{display:none}.application-form-card .step-nav .btn{width:100%}.review-summary>div{align-items:flex-start;flex-direction:column;gap:4px}.review-summary strong{text-align:left}}
.request-readonly{background:#f3f6f4!important;color:#4b5563}.request-summary-preview{display:grid;grid-template-columns:1.6fr repeat(3,1fr);margin:4px 0 20px;overflow:hidden;border:1px solid #dce5df;border-radius:8px;background:#f8fbf9}.request-summary-preview>div{display:grid;gap:4px;padding:12px;border-right:1px solid #dce5df}.request-summary-preview>div:last-child{border:0}.request-summary-preview small{color:#6b7280;font-size:10px;text-transform:uppercase}.request-summary-preview strong{overflow-wrap:anywhere;color:#1f2937;font-size:12px}@media(max-width:600px){.request-summary-preview{grid-template-columns:1fr 1fr}.request-summary-preview>div{border-bottom:1px solid #dce5df}.request-summary-preview>div:nth-child(2n){border-right:0}.request-summary-preview>div:nth-last-child(-n+2){border-bottom:0}}

/* Mobile-first renter workspace */
.renter-workspace .renter-dashboard-intro { justify-content: flex-start; }
@media (max-width: 600px) {
  .renter-workspace .dash-header { padding: 34px 0 58px; }
  .renter-workspace .dash-header h1 { font-size: 32px; }
  .renter-workspace .dash-header .dash-sub { font-size: 15px; line-height: 1.5; }
  .renter-workspace > main > .container-lg { padding-right: 14px; padding-left: 14px; }
  .renter-workspace .dash-stats { gap: 9px; margin-top: -28px !important; }
  .renter-workspace .stat-card { min-height: 104px; padding: 16px 13px; }
  .renter-workspace .stat-card::after { top: 12px; right: 12px; width: 30px; height: 30px; }
  .renter-workspace .stat-num { font-size: 27px; }
  .renter-workspace .stat-label { max-width: 92px; margin-top: 10px; font-size: 10px; line-height: 1.3; }
  .renter-workspace .dash-actionbar { margin: 20px 0 14px; padding: 17px 16px; border-radius: 9px; }
  .renter-workspace .dash-actionbar h2 { font-size: 18px; }
  .renter-workspace .dash-actionbar p { margin-top: 4px; font-size: 13px; line-height: 1.5; }
  .renter-workspace .dash-tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 4px;
    padding: 5px;
    overflow: visible;
  }
  .renter-workspace .dash-tab {
    min-width: 0;
    min-height: 48px;
    padding: 8px 5px;
    white-space: normal;
    font-size: 11px;
    line-height: 1.25;
  }
  .renter-workspace .dash-panel { min-height: 250px; padding: 13px; }
  .renter-workspace .request-card { padding: 16px; border-radius: 9px; }
  .renter-workspace .req-top { align-items: flex-start; flex-direction: column; gap: 10px; }
  .renter-workspace .req-top h3 { font-size: 17px; line-height: 1.35; }
  .renter-workspace .req-meta { display: grid; gap: 8px; font-size: 13px; line-height: 1.45; }
  .renter-workspace .workflow-actions,
  .renter-workspace .workflow-actions .btn { width: 100%; }
  .renter-workspace .alert { align-items: flex-start; padding: 14px; font-size: 13px; line-height: 1.5; }
  .notification-panel-head { align-items: flex-start; padding: 15px; }
  .notification-panel-actions { align-items: flex-end; flex-direction: column-reverse; }
  .notification-panel-head .notification-mark-all { min-height: 32px; padding: 6px 8px; font-size: 11px; }
}

/* Application personal details */
.phone-field { display:grid; grid-template-columns:108px minmax(0,1fr); gap:8px; align-items:stretch; }
.phone-field [data-country-code],.signup-phone-field [data-country-code]{min-width:0;min-height:50px;padding:0 28px 0 13px;border-color:#d7dfd9;background-color:#fff;color:#374151;font-size:15px;font-weight:400;letter-spacing:normal;line-height:1.2}.phone-field input[type="tel"],.signup-phone-field input[type="tel"]{min-width:0;min-height:50px}.phone-field [data-country-code]:focus,.signup-phone-field [data-country-code]:focus{border-color:#16a34a;box-shadow:0 0 0 3px rgba(22,163,74,.1);outline:0}
.choice-row { display:flex; gap:12px; }
.choice-row label { display:flex; align-items:center; gap:8px; min-width:100px; padding:12px 14px; border:1px solid #d7dfd9; border-radius:6px; background:#fff; cursor:pointer; }
.choice-row input { accent-color:#16a34a; }
.application-banner { background:linear-gradient(135deg,#16a34a 0%,#12833d 100%); }
.application-banner>div>p,.application-banner .property-summary small { color:#ecfdf3; }
.application-kicker { border-color:rgba(255,255,255,.4); background:rgba(255,255,255,.14); color:#fff; }
.property-summary { border-color:rgba(255,255,255,.32); background:rgba(9,75,34,.18); box-shadow:0 14px 34px rgba(8,79,34,.16); }
.property-summary>div { border-color:rgba(255,255,255,.25); }
.platform-field{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:54px;padding:10px 12px;border:1px solid #d7dfd9;border-radius:8px;background:#fff;box-shadow:0 2px 7px rgba(31,41,55,.04);color:#6b7280;font-size:13px}.platform-brand{display:flex;min-width:0;align-items:center}.platform-status{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;padding:5px 8px;border-radius:999px;background:#f0fdf4;color:#15803d;font-size:11px;font-weight:750;white-space:nowrap}.platform-status i{display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#16a34a;color:#fff;font-size:9px;font-style:normal}.spareroom-mark{display:inline-flex;align-items:center;width:max-content;padding:5px 9px;border-radius:5px;background:#e63027;color:#fff;font-size:16px;font-weight:850;line-height:1;letter-spacing:-.04em}.spareroom-mark-sm{padding:3px 6px;font-size:12px;letter-spacing:-.03em}.request-summary-preview{grid-template-columns:repeat(3,minmax(0,1fr))}.property-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.property-summary .spareroom-mark{color:#fff}.workflow-request .spareroom-mark{vertical-align:middle}@media(max-width:760px){.property-summary{grid-template-columns:1fr 1fr}.property-summary>div:nth-last-child(-n+2){border-bottom:1px solid rgba(255,255,255,.12)}.property-summary>div:nth-last-child(-n+2):nth-child(n+5){border-bottom:0}}@media(max-width:600px){.request-summary-preview{grid-template-columns:1fr 1fr}.request-summary-preview>div:nth-last-child(-n+2){border-bottom:1px solid #dce5df}.request-summary-preview>div:nth-last-child(-n+2):nth-child(n+5){border-bottom:0}.platform-field{gap:10px}.platform-status{padding:4px 7px}}
.spareroom-logo{display:block;width:138px;max-width:100%;height:28px;object-fit:contain;object-position:left center}.spareroom-logo-sm{display:inline-block;width:86px;height:22px;vertical-align:middle}.property-summary .spareroom-logo{filter:drop-shadow(0 1px 1px rgba(0,0,0,.08))}.workflow-request .spareroom-logo{margin-left:4px}
@media (max-width:480px) { .phone-field{grid-template-columns:100px minmax(0,1fr);gap:7px}.phone-field [data-country-code],.signup-phone-field [data-country-code]{padding-left:10px;padding-right:24px;font-size:14px} .choice-row label{flex:1;min-width:0} }

/* Configurable landlord payment methods */
.payment-page{background:#f4f7f5}.payment-shell{max-width:820px;padding-top:42px;padding-bottom:64px}.payment-heading{margin-bottom:24px}.payment-heading h1{margin:10px 0 7px;font-size:32px}.payment-heading p{color:#6b7280}.payment-config-card{padding:28px}.payment-loading{padding:20px;text-align:center;color:#6b7280}.configured-gateways{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px}.configured-gateways .gateway-option{display:grid;place-items:center;gap:9px;min-height:112px;padding:15px;border:1px solid #dce5df;border-radius:9px;background:#fff;cursor:pointer}.configured-gateways .gateway-option.selected{border:2px solid #16a34a;background:#f0fdf4;box-shadow:0 8px 20px rgba(22,163,74,.12)}.gateway-brand{display:grid;place-items:center;width:46px;height:46px;border-radius:12px;color:#fff;font-size:25px;font-weight:850;line-height:1}.gateway-brand.zelle{background:#6d1ed4}.gateway-brand.paypal{background:#0877d1}.gateway-brand.cashapp{background:#00c244}.gateway-brand.venmo{background:#008cff}.gateway-details{display:grid;grid-template-columns:62px minmax(0,1fr) 180px;gap:18px;align-items:center;margin:12px 0 24px;padding:20px;border:1px solid #cce8d5;border-radius:10px;background:#f6fff8}.gateway-detail-logo{width:56px;height:56px}.gateway-details>div:nth-child(2){display:grid;gap:4px}.gateway-details span{color:#6b7280;font-size:12px}.gateway-details strong{overflow-wrap:anywhere;font-size:17px}.gateway-details p{margin-top:6px;color:#6b7280;font-size:12px;line-height:1.45}.gateway-details img{width:180px;height:180px;object-fit:contain;border:1px solid #e5e7eb;border-radius:8px;background:#fff}.payment-success-card{padding:44px 28px;text-align:center}.success-check{display:grid;place-items:center;width:70px;height:70px;margin:0 auto 18px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:34px;font-weight:900}.payment-success-card h2{margin-bottom:8px}.payment-success-card p{margin-bottom:24px;color:#6b7280}.payment-admin-hero{padding:45px 0;background:linear-gradient(135deg,#16a34a,#12833d);color:#fff}.payment-admin-hero span{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.payment-admin-hero h1{margin:8px 0;font-size:34px}.payment-admin-hero p{max-width:650px;color:#ecfdf5}.payment-admin-shell{padding-top:28px;padding-bottom:60px}.payment-admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.payment-admin-card{padding:22px;border:1px solid #e1e8e3;border-radius:10px;background:#fff;box-shadow:0 10px 28px rgba(21,43,28,.06)}.payment-admin-card-head{display:grid;grid-template-columns:50px 1fr auto;gap:12px;align-items:center;margin-bottom:20px}.payment-admin-card-head h2{font-size:19px}.payment-admin-card-head p{color:#6b7280;font-size:12px}.gateway-switch input{position:absolute;opacity:0}.gateway-switch span{display:block;width:48px;height:27px;padding:3px;border-radius:20px;background:#cbd5e1;cursor:pointer}.gateway-switch span:before{content:'';display:block;width:21px;height:21px;border-radius:50%;background:#fff;transition:.2s}.gateway-switch input:checked+span{background:#16a34a}.gateway-switch input:checked+span:before{transform:translateX(21px)}.qr-upload{display:flex;justify-content:center;padding:15px;border:2px dashed #cfd8d2;border-radius:7px;color:#15803d;font-weight:750;cursor:pointer}.qr-upload input{position:absolute;width:1px;height:1px;opacity:0}.admin-qr-preview{display:block;width:120px;height:120px;margin:12px auto 0;object-fit:contain;border:1px solid #e5e7eb;border-radius:7px}
@media(max-width:700px){.configured-gateways{grid-template-columns:1fr 1fr}.gateway-details{grid-template-columns:52px minmax(0,1fr)}.gateway-details img{grid-column:1/-1;width:min(100%,260px);height:auto;margin:auto}.payment-admin-grid{grid-template-columns:1fr}.payment-config-card{padding:20px 15px}.payment-heading h1{font-size:27px}}
.proof-admin-shell{padding-top:30px;padding-bottom:64px}.proof-admin-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.proof-card{overflow:hidden;border:1px solid #e1e8e3;border-radius:11px;background:#fff;box-shadow:0 12px 32px rgba(21,43,28,.07)}.proof-card>img{width:100%;height:230px;object-fit:contain;background:#f3f6f4;border-bottom:1px solid #e5e7eb}.proof-card-body{padding:20px}.proof-card-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.proof-card-top time{color:#6b7280;font-size:11px}.proof-card h2{margin:15px 0 3px;font-size:19px}.proof-card-body>p{color:#6b7280;font-size:13px;overflow-wrap:anywhere}.proof-card dl{display:grid;gap:10px;margin:17px 0}.proof-card dl>div{display:grid;gap:2px}.proof-card dt{color:#6b7280;font-size:10px;text-transform:uppercase}.proof-card dd{margin:0;color:#1f2937;font-size:13px;font-weight:650}.proof-empty{grid-column:1/-1;padding:50px 25px;text-align:center}.proof-empty>span{font-size:48px;color:#16a34a}.proof-empty p{margin-top:8px;color:#6b7280}@media(max-width:900px){.proof-admin-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.proof-admin-grid{grid-template-columns:1fr}.proof-card>img{height:auto;max-height:360px}}
.proof-admin-grid{display:block}.proof-day{margin-bottom:36px}.proof-day-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px;padding:14px 18px;border:1px solid #dce8df;border-radius:10px;background:#f0fdf4}.proof-day-header>div:first-child{display:grid;gap:2px}.proof-day-header span{color:#647067;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.proof-day-header h2{margin:0;color:#1f2937;font-size:20px}.proof-day-stats{display:grid;grid-template-columns:auto auto auto auto;align-items:baseline;gap:5px 8px}.proof-day-stats strong{color:#15803d;font-size:18px}.proof-day-stats span{margin-right:10px}.proof-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}@media(max-width:900px){.proof-day-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.proof-day-header{align-items:flex-start;flex-direction:column}.proof-day-stats{grid-template-columns:auto auto auto auto}.proof-day-grid{grid-template-columns:1fr}.proof-card>img{height:auto;max-height:360px}}
.payment-loading{display:grid!important;justify-items:center;gap:10px;padding:26px!important;text-align:center;color:#6b7280}.payment-loading strong{color:#1f2937;font-size:17px}.payment-loading p{max-width:480px;line-height:1.5}
.field-invalid,.application-form-card .field-invalid{border-color:#dc2626!important;box-shadow:0 0 0 3px rgba(220,38,38,.12)!important}.confirmation-invalid{border:1px solid #dc2626!important;background:#fef2f2!important;box-shadow:0 0 0 3px rgba(220,38,38,.1)}.confirmation-invalid input{outline:2px solid #dc2626;outline-offset:2px}.configured-gateways .gateway-option small{color:#15803d;font-size:10px;font-weight:750}.configured-gateways .gateway-disabled{cursor:not-allowed;filter:grayscale(.5);opacity:.38;box-shadow:none}.configured-gateways .gateway-disabled small{color:#6b7280}
.payment-proof-block{margin:24px 0}.payment-proof-upload{display:grid;justify-items:center;gap:5px;padding:26px;border:2px dashed #c8d4cc;border-radius:9px;background:#f8fbf9;cursor:pointer}.payment-proof-upload:hover{border-color:#16a34a;background:#f0fdf4}.payment-proof-upload input{position:absolute;width:1px;height:1px;opacity:0}.payment-proof-icon{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:22px}.payment-proof-upload small{color:#6b7280}.payment-proof-preview{display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:center;padding:12px;border:1px solid #bbf7d0;border-radius:9px;background:#f0fdf4}.payment-proof-preview img{width:90px;height:90px;object-fit:cover;border-radius:7px}.payment-proof-preview>div{display:grid;gap:8px}.payment-proof-preview button{justify-self:start;border:0;background:none;color:#dc2626;font-weight:750;cursor:pointer}
.payment-account-row{display:flex!important;align-items:center;gap:8px;min-width:0;margin-top:2px}.payment-account-row>strong{min-width:0;overflow-wrap:anywhere}.payment-copy-button{min-height:34px;padding:6px 10px;border:1px solid #bbd9c5;border-radius:6px;background:#fff;color:#15803d;font-size:11px;font-weight:750;line-height:1;cursor:pointer;transition:.18s}.payment-copy-button:hover{border-color:#16a34a;background:#f0fdf4}.payment-copy-button.copied{border-color:#86efac;background:#dcfce7;color:#166534}@media(max-width:520px){.payment-account-row{align-items:stretch;flex-direction:column}.payment-copy-button{align-self:flex-start;min-height:38px}}
.gateway-payment-info{display:grid;min-width:0;gap:5px}.payment-link-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;width:max-content;min-height:42px;margin-top:8px;padding:9px 14px;border:1px solid #16a34a;border-radius:7px;background:#16a34a;color:#fff;font-size:13px;font-weight:750;text-decoration:none;transition:background-color .18s,border-color .18s,transform .18s}.payment-link-button:hover{border-color:#12813d;background:#12813d;color:#fff;transform:translateY(-1px)}.payment-link-button:focus-visible{outline:3px solid rgba(22,163,74,.22);outline-offset:2px}.form-help{display:block;margin-top:6px;color:#6b7280;font-size:11px;line-height:1.45}.payment-admin-card .form-label small{color:#6b7280;font-weight:500}@media(max-width:520px){.payment-link-button{width:100%;min-height:46px}}
.gateway-details.no-qr{grid-template-columns:62px minmax(0,1fr)}.payment-no-instructions{margin-top:7px;padding:10px 12px;border:1px solid #e5e7eb;border-radius:7px;background:#fff;color:#6b7280;font-size:12px;line-height:1.45}@media(max-width:700px){.gateway-details.no-qr{grid-template-columns:52px minmax(0,1fr)}}
.workflow-showcase{padding:44px 0 46px;border-bottom:1px solid #e5e7eb;background:#fff}.workflow-showcase h2{margin:0 0 32px;color:#075985;font-size:32px;font-weight:700;text-align:center}.workflow-showcase-row{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:20px;align-items:center}.workflow-lockup{display:flex;align-items:center;justify-content:center;gap:9px;min-width:0;color:#1f2937;white-space:nowrap}.workflow-lockup span{display:grid;place-items:center;width:34px;height:34px;flex:0 0 auto;border:2px solid #16a34a;border-radius:9px;color:#16a34a;font-size:19px;font-weight:800}.workflow-lockup strong{font-size:17px;letter-spacing:-.02em}.workflow-lockup:nth-child(2n){color:#075985}.workflow-lockup:nth-child(2n) span{border-color:#0ea5e9;color:#0284c7}@media(max-width:980px){.workflow-showcase-row{grid-template-columns:repeat(3,1fr);row-gap:26px}}@media(max-width:600px){.workflow-showcase{padding:34px 0}.workflow-showcase h2{margin-bottom:26px;font-size:25px}.workflow-showcase-row{grid-template-columns:1fr 1fr;gap:18px 10px}.workflow-lockup{justify-content:flex-start}.workflow-lockup strong{font-size:15px}.workflow-lockup span{width:30px;height:30px;font-size:16px}}
.signup-phone-field{display:grid;grid-template-columns:108px minmax(0,1fr);gap:8px;align-items:stretch}.signup-phone-field .form-select,.signup-phone-field .form-input{min-width:0}@media(max-width:520px){.signup-phone-field{grid-template-columns:100px minmax(0,1fr);gap:7px}.signup-phone-field .form-select{width:100%}}
.profile-phone-edit{display:none;grid-column:2;width:100%}.profile-edit-mode .profile-phone-edit{display:grid}.profile-phone-edit .form-select,.profile-phone-edit .form-input{min-width:0}@media(max-width:560px){.profile-phone-edit{grid-column:1}}
.homepage-trust-message{padding:70px 0;background:linear-gradient(125deg,#102019 0%,#163524 100%);color:#fff}.homepage-trust-inner{display:grid;grid-template-columns:auto minmax(0,1.35fr) minmax(260px,.75fr);gap:34px;align-items:center}.homepage-trust-icon{display:grid;place-items:center;width:82px;height:82px;border:1px solid rgba(134,239,172,.32);border-radius:50%;background:rgba(22,163,74,.13)}.homepage-trust-icon span{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#16a34a;color:#fff;font-size:24px;font-weight:850}.homepage-trust-eyebrow{display:block;margin-bottom:9px;color:#86efac;font-size:12px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.homepage-trust-copy h2{margin:0 0 12px;color:#fff;font-size:38px;line-height:1.12}.homepage-trust-copy p{max-width:720px;margin:0;color:#d5e5da;font-size:17px;line-height:1.7}.homepage-trust-points{display:grid;gap:10px;padding:18px;border:1px solid rgba(255,255,255,.13);border-radius:12px;background:rgba(255,255,255,.05)}.homepage-trust-points span{display:flex;align-items:center;gap:9px;color:#eef8f1;font-size:14px;font-weight:650}.homepage-trust-points span:before{content:'✓';display:grid;place-items:center;width:22px;height:22px;flex:0 0 auto;border-radius:50%;background:rgba(22,163,74,.22);color:#86efac;font-size:12px}@media(max-width:900px){.homepage-trust-inner{grid-template-columns:auto 1fr}.homepage-trust-points{grid-column:1/-1;grid-template-columns:1fr 1fr}}@media(max-width:600px){.homepage-trust-message{padding:48px 0}.homepage-trust-inner{display:block}.homepage-trust-icon{width:64px;height:64px;margin-bottom:22px}.homepage-trust-copy h2{font-size:30px}.homepage-trust-copy p{font-size:16px}.homepage-trust-points{grid-template-columns:1fr;margin-top:26px}}
.landlord-plan{margin:0 0 20px;padding:18px;border:1px solid #bbf7d0;border-radius:9px;background:#f0fdf4}.landlord-plan>div{display:flex;justify-content:space-between;align-items:center}.landlord-plan span{color:#166534;font-weight:800}.landlord-plan strong{color:#15803d;font-size:25px}.landlord-plan small,.subscription-price-card small{font-size:12px;font-weight:600}.landlord-plan p{margin-top:7px;color:#4b5563;font-size:13px}.subscription-price-card{display:grid;gap:6px;margin-bottom:20px;padding:22px;border-radius:10px;background:linear-gradient(135deg,#16a34a,#12833d);color:#fff}.subscription-price-card>span{font-size:12px;font-weight:800;text-transform:uppercase}.subscription-price-card>strong{font-size:34px}.subscription-price-card>p{color:#ecfdf5;font-size:13px}

.signup-otp-input{font-size:30px;letter-spacing:.32em;text-indent:.32em}

/* Professional check icon system */
.feature-list .check,.role-card-check,.success-check,.homepage-trust-icon span,.workflow-lockup:nth-child(6) span{font-size:0}.feature-list .check::before,.role-card-check::before,.success-check::before,.homepage-trust-icon span::before,.workflow-lockup:nth-child(6) span::before,.pro-check::before{content:'';display:block;width:54%;height:54%;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/contain no-repeat}.feature-list .check{border:1px solid rgba(21,128,61,.13);border-radius:7px;background:#ecfdf3}.role-card-check{box-shadow:0 0 0 3px #fff,0 2px 8px rgba(22,163,74,.22)}.success-check{border:1px solid #bbf7d0;background:linear-gradient(145deg,#f0fdf4,#dcfce7);box-shadow:0 8px 22px rgba(22,163,74,.12)}.success-check::before{width:42%;height:42%}.homepage-trust-icon span::before{width:50%;height:50%}.workflow-lockup:nth-child(6) span::before{width:52%;height:52%}.pro-check{display:inline-grid;place-items:center;width:18px;height:18px;flex:0 0 auto;margin-right:6px;border:1px solid rgba(134,239,172,.35);border-radius:5px;background:rgba(22,163,74,.18);color:#86efac;vertical-align:-4px}.pro-check::before{width:68%;height:68%}.dashboard-page .stat-card:nth-child(4)::after{content:'';background-color:#ecfdf3;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%2315803d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:19px}.dashboard-page .dash-stats .stat-card:nth-child(4).stat-positive::after{background-color:#dcfce7;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M5 12.5l4.2 4.2L19 7' fill='none' stroke='%2315803d' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}.hero-trust span{display:inline-flex;align-items:center}

/* Complete application review */
.complete-review{display:grid;gap:14px;margin:0 0 26px}.complete-review-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px;border:1px solid #cce8d5;border-radius:9px;background:#f6fff8}.complete-review-head h3{margin:0;color:#1f2937;font-size:18px}.complete-review-head p{margin:3px 0 0;color:#6b7280;font-size:13px}.complete-review-head>span{padding:5px 9px;border-radius:999px;background:#dcfce7;color:#15803d;font-size:10px;font-weight:800;white-space:nowrap}.review-data-section{overflow:hidden;border:1px solid #e1e8e3;border-radius:9px;background:#fff}.review-data-section>header{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 15px;border-bottom:1px solid #e8ede9;background:#f8faf9}.review-data-section h4{margin:0;color:#27332b;font-size:14px}.review-data-section header button{padding:4px 8px;border:1px solid #cce8d5;border-radius:5px;background:#fff;color:#15803d;font-size:11px;font-weight:750;cursor:pointer}.review-data-section header button:hover{background:#f0fdf4}.review-data-section dl{display:grid;grid-template-columns:1fr 1fr}.review-data-section dl>div{min-width:0;padding:11px 15px;border-bottom:1px solid #edf1ee}.review-data-section dl>div:nth-child(odd){border-right:1px solid #edf1ee}.review-data-section dl>div:nth-last-child(-n+2){border-bottom:0}.review-data-section dt{margin-bottom:2px;color:#7b857e;font-size:10px;font-weight:700;letter-spacing:.035em;text-transform:uppercase}.review-data-section dd{margin:0;overflow-wrap:anywhere;color:#29332d;font-size:13px;font-weight:600;line-height:1.45}@media(max-width:600px){.complete-review-head{align-items:flex-start}.review-data-section dl{grid-template-columns:1fr}.review-data-section dl>div,.review-data-section dl>div:nth-child(odd),.review-data-section dl>div:nth-last-child(-n+2){border-right:0;border-bottom:1px solid #edf1ee}.review-data-section dl>div:last-child{border-bottom:0}}

/* Payments workflow check alignment */
.workflow-lockup:nth-child(6) span::before{width:20px;height:20px;flex:0 0 20px}
@media(max-width:600px){.workflow-lockup:nth-child(6) span::before{width:18px;height:18px;flex-basis:18px}}

/* Homepage trust assurance */
.trust-assurance-section{padding:78px 0;background:linear-gradient(180deg,#f7fbf8 0%,#fff 100%);border-top:1px solid #e4ebe6;border-bottom:1px solid #e4ebe6}.trust-assurance-heading{max-width:760px;margin:0 auto 38px;text-align:center}.trust-assurance-kicker{display:inline-block;margin-bottom:10px;color:#15803d;font-size:11px;font-weight:800;letter-spacing:.11em;text-transform:uppercase}.trust-assurance-heading h2{margin:0;color:#1f2937;font-size:clamp(30px,4vw,42px);line-height:1.15;letter-spacing:-.025em}.trust-assurance-heading p{margin:14px auto 0;color:#667069;font-size:16px;line-height:1.7}.trust-assurance-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.trust-assurance-card{position:relative;min-width:0;padding:25px 22px;border:1px solid #dfe8e2;border-radius:13px;background:#fff;box-shadow:0 8px 25px rgba(21,43,28,.045)}.trust-assurance-card.featured{border-color:#b9dfc6;background:linear-gradient(145deg,#fff 0%,#f2fcf5 100%)}.trust-assurance-icon{display:grid;place-items:center;width:44px;height:44px;margin-bottom:20px;border:1px solid #cce8d5;border-radius:10px;background:#f0fdf4;color:#15803d}.trust-assurance-icon svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.trust-card-label{display:block;margin-bottom:5px;color:#15803d;font-size:10px;font-weight:800;letter-spacing:.065em;text-transform:uppercase}.trust-assurance-card h3{margin:0 0 9px;color:#1f2937;font-size:18px;line-height:1.3}.trust-assurance-card p{margin:0;color:#69736c;font-size:14px;line-height:1.65}.trust-assurance-note{max-width:900px;margin:24px auto 0;padding:13px 16px;border:1px solid #e3e9e5;border-radius:8px;background:#fff;color:#6b7280;font-size:12px;line-height:1.55;text-align:center}.trust-assurance-note strong{color:#374151}@media(max-width:960px){.trust-assurance-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.trust-assurance-section{padding:52px 0}.trust-assurance-heading{margin-bottom:28px;text-align:left}.trust-assurance-heading h2{font-size:29px}.trust-assurance-heading p{font-size:15px}.trust-assurance-grid{grid-template-columns:1fr;gap:12px}.trust-assurance-card{padding:21px 19px}.trust-assurance-icon{margin-bottom:16px}.trust-assurance-note{text-align:left}}

/* Signup confirmation */
body.modal-open{overflow:hidden}.signup-success-modal{position:fixed;inset:0;z-index:2000;display:none;align-items:center;justify-content:center;padding:20px;background:rgba(17,24,39,.62);backdrop-filter:blur(3px)}.signup-success-modal.open{display:flex}.signup-success-dialog{width:min(100%,460px);padding:32px 30px 26px;border:1px solid #dcfce7;border-radius:16px;background:#fff;box-shadow:0 24px 70px rgba(17,24,39,.24);text-align:center;animation:signupModalIn .22s ease-out}.signup-success-icon{display:grid;place-items:center;width:62px;height:62px;margin:0 auto 16px;border-radius:50%;background:#dcfce7;color:#15803d;font-size:28px;font-weight:900}.signup-success-dialog h2{margin:0 0 8px;color:#1f2937;font-size:27px}.signup-success-dialog>p{margin:0 0 22px;color:#6b7280;font-size:16px;line-height:1.55}.signup-success-dialog>p strong{display:block;color:#1f2937;overflow-wrap:anywhere}.signup-otp-form{display:grid;gap:10px;text-align:left}.signup-otp-form label{color:#374151;font-size:13px;font-weight:750}.signup-otp-input{width:100%;height:62px;border:1px solid #cfd8d2;border-radius:9px;background:#f8fbf9;color:#1f2937;font-size:30px;font-weight:800;letter-spacing:.32em;text-align:center;text-indent:.32em;outline:none}.signup-otp-input:focus{border-color:#16a34a;box-shadow:0 0 0 4px rgba(22,163,74,.12);background:#fff}.signup-otp-form small{margin-bottom:4px;color:#6b7280;font-size:12px}.signup-otp-form .alert{margin:2px 0 4px;text-align:left}.signup-otp-resend{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:18px;color:#6b7280;font-size:13px}.signup-otp-resend button,.signup-otp-cancel{border:0;background:none;color:#15803d;font:inherit;font-weight:750;cursor:pointer}.signup-otp-resend button:disabled{color:#9ca3af;cursor:not-allowed}.signup-otp-cancel{margin-top:14px;color:#6b7280;font-size:12px;text-decoration:underline}@keyframes signupModalIn{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.signup-success-dialog{animation:none}}@media(max-width:520px){.signup-success-modal{align-items:flex-end;padding:12px}.signup-success-dialog{padding:28px 20px 22px;border-radius:16px}.signup-success-dialog .btn{min-height:52px}.signup-otp-input{height:58px;font-size:27px}}

/* Matching homepage CTA actions */
.cta-section .cta-action-btn,
.cta-section .cta-action-btn:not(.btn-danger) {
  width: 236px;
  min-height: 58px;
  color: #fff;
  background: transparent;
  border: 1.5px solid rgba(255,255,255,.9);
  border-radius: 6px;
  box-shadow: none;
}
.cta-section .cta-action-btn:hover,
.cta-section .cta-action-btn:not(.btn-danger):hover {
  color: var(--green-700);
  background: #fff;
  border-color: #fff;
  box-shadow: 0 10px 24px rgba(20,83,45,.2);
}
@media(max-width:640px){.cta-section .cta-action-btn,.cta-section .cta-action-btn:not(.btn-danger){width:100%}}
.configured-gateways{grid-template-columns:repeat(auto-fit,minmax(130px,1fr))}.gateway-brand.revolut{background:linear-gradient(135deg,#191c1f,#68717d)}.payment-bank-details{margin:7px 0;padding:12px 14px;border:1px solid #d8e5dc;border-radius:8px;background:#fff;color:#26352c;font-size:13px;font-weight:600;line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.payment-bank-input{min-height:120px;resize:vertical}.payment-no-methods{grid-column:1/-1;display:grid;gap:5px;padding:22px;border:1px solid #e5e7eb;border-radius:10px;background:#f8faf9;text-align:center}.payment-no-methods strong{color:#1f2937}.payment-no-methods span{color:#6b7280;font-size:13px}
.payment-method-note{margin-top:9px;padding:11px 13px;border-left:3px solid #16a34a;border-radius:6px;background:#ecfdf3;color:#33443a;font-size:13px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.payment-note-input{min-height:96px;resize:vertical}
.gateway-brand{overflow:hidden;padding:0;border:1px solid rgba(31,41,55,.08);background:#fff!important}.gateway-brand img{display:block;width:100%;height:100%;object-fit:contain}.gateway-brand.revolut img{padding:9px}.gateway-detail-logo img{width:100%;height:100%;object-fit:contain}.payment-admin-card-head .gateway-brand img{object-fit:contain}
@media(max-width:700px){
  .payment-page{overflow-x:hidden}
  .payment-shell{width:100%;padding:26px 14px 48px}
  .payment-heading{margin-bottom:18px}
  .payment-heading h1{font-size:26px;line-height:1.18}
  .payment-heading p{font-size:15px;line-height:1.55}
  .payment-config-card{width:100%;padding:18px 14px;border-radius:12px}
  .configured-gateways{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .configured-gateways .gateway-option{min-width:0;min-height:108px;padding:13px 8px;touch-action:manipulation}
  .configured-gateways .gateway-option strong{max-width:100%;overflow-wrap:anywhere;font-size:14px}
  .gateway-details,.gateway-details.no-qr{grid-template-columns:46px minmax(0,1fr);gap:12px;padding:16px 13px}
  .gateway-detail-logo{width:46px;height:46px;font-size:21px}
  .gateway-payment-info{min-width:0}
  .payment-account-row{min-width:0;flex-wrap:wrap}
  .payment-account-row strong{min-width:0;overflow-wrap:anywhere}
  .payment-copy-button{min-height:40px;padding:8px 13px}
  .payment-link-button{display:flex;width:100%;min-height:46px;align-items:center;justify-content:center;margin-top:8px;text-align:center}
  .payment-bank-details,.payment-method-note{width:100%;padding:11px;font-size:13px}
  .gateway-details>img{grid-column:1/-1;width:min(100%,240px);height:auto;max-height:240px;margin:4px auto 0}
  .payment-proof-upload{min-height:150px;padding:22px 14px}
  .payment-proof-preview{grid-template-columns:76px minmax(0,1fr);gap:12px}
  .payment-proof-preview img{width:76px;height:76px}
  .payment-config-card>.btn,.payment-success-card .btn{width:100%;min-height:52px}
  .payment-admin-hero{padding:34px 0}
  .payment-admin-hero h1{font-size:28px}
  .payment-admin-shell{padding:20px 14px 48px}
  .payment-admin-grid{grid-template-columns:minmax(0,1fr);gap:14px}
  .payment-admin-card{min-width:0;padding:18px 15px}
  .payment-admin-card-head{grid-template-columns:44px minmax(0,1fr) auto;gap:10px}
  .payment-admin-card-head .gateway-brand{width:42px;height:42px;font-size:21px}
  .payment-admin-card .form-input,.payment-admin-card .form-textarea{width:100%;min-width:0;font-size:16px}
  .payment-bank-input{min-height:130px}.payment-note-input{min-height:110px}
  .qr-upload{min-height:50px;align-items:center}
}
@media(max-width:380px){
  .configured-gateways{grid-template-columns:1fr}
  .configured-gateways .gateway-option{grid-template-columns:44px 1fr auto;justify-items:start;min-height:72px;text-align:left}
  .configured-gateways .gateway-option .gateway-brand{width:42px;height:42px;font-size:21px}
  .gateway-details,.gateway-details.no-qr{grid-template-columns:1fr}
  .gateway-detail-logo{margin-bottom:2px}
}
