:root {
  color-scheme: light;
  --bg: #f3f9f6;
  --bg-soft: #ffffff;
  --ink: #1d1d1f;
  --muted: #6b6b6b;
  --accent: #e72c3c;
  --accent-soft: #ffe2e5;
  --shadow: 0 18px 40px rgba(25, 25, 25, 0.08);
  --radius-lg: 24px;
  --radius-md: 18px;
  --radius-sm: 12px;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: "Space Grotesk", "Helvetica Neue", sans-serif;
  color: var(--ink);
  background: radial-gradient(circle at 12% 10%, #e6f6ff 0%, transparent 42%),
    radial-gradient(circle at 86% 0%, #e8f9ee 0%, transparent 38%),
    radial-gradient(circle at 50% 100%, #edf9f2 0%, transparent 32%),
    var(--bg);
  min-height: 100vh;
}

.page {
  max-width: 1200px;
  margin: 0 auto;
  padding: 32px 28px 72px;
}

.topbar {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 24px;
}

.logo {
  display: flex;
  align-items: center;
  gap: 12px;
  font-weight: 600;
  font-size: 20px;
  text-decoration: none;
  color: inherit;
  justify-self: start;
}

.logo-mark {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, #e4f3ff 0%, #e4f7ea 100%);
  border: 1px solid #cfe2d7;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.atom-grid {
  width: 20px;
  height: 20px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px;
}

.atom-grid i {
  display: block;
  width: 8px;
  height: 8px;
  border-radius: 3px;
  background: #2f6f4f;
}

.atom-grid i:nth-child(2) {
  background: #3a6ea0;
}

.atom-grid i:nth-child(3) {
  background: #74ab4a;
}

.atom-grid i:nth-child(4) {
  background: #2b4f77;
}

.logo-text {
  font-family: "Playfair Display", serif;
  letter-spacing: 0.5px;
}

.top-nav {
  display: flex;
  gap: 24px;
  font-weight: 500;
  justify-self: center;
}

.top-nav a {
  text-decoration: none;
  color: var(--muted);
  padding-bottom: 6px;
  border-bottom: 2px solid transparent;
}

.top-nav a.active {
  color: var(--ink);
  border-color: var(--ink);
}

.top-actions {
  display: flex;
  gap: 12px;
  align-items: center;
  justify-self: end;
}

.auth-stack {
  display: flex;
  gap: 8px;
  align-items: center;
  position: relative;
}

.auth {
  padding: 6px 16px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  background: #fff;
  border: 1px solid #e4e1dc;
  text-decoration: none;
  color: inherit;
  display: inline-block;
}

.auth.signup {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}

.auth.logout {
  background: var(--ink);
  color: #fff;
  border-color: var(--ink);
}

.auth.save {
  background: #e6f4ec;
  color: #2e6b4f;
  border-color: #cce5d7;
}

.auth-status {
  font-size: 12px;
  color: #2e6b4f;
  background: #e6f4ec;
  border: 1px solid #cce5d7;
  border-radius: 999px;
  padding: 6px 12px;
  white-space: nowrap;
  text-decoration: none;
}

.account-menu {
  position: relative;
}

.account-menu summary {
  list-style: none;
}

.account-menu summary::-webkit-details-marker {
  display: none;
}

.account-trigger {
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 13px;
  font-weight: 600;
  background: #e6f4ec;
  border: 1px solid #cce5d7;
  color: #2e6b4f;
  cursor: pointer;
  user-select: none;
  white-space: nowrap;
}

.account-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 150px;
  background: #fff;
  border: 1px solid #dfe7e1;
  border-radius: 12px;
  box-shadow: 0 14px 24px rgba(20, 33, 26, 0.12);
  padding: 6px;
  display: grid;
  gap: 4px;
  z-index: 50;
}

.account-dropdown a {
  text-decoration: none;
  color: #263128;
  font-size: 13px;
  font-weight: 500;
  border-radius: 8px;
  padding: 8px 10px;
}

.account-dropdown a:hover {
  background: #f2f7f4;
}

.account-dropdown .account-feedback-trigger {
  width: 100%;
  text-align: left;
  text-decoration: none;
  color: #263128;
  font-size: 13px;
  font-weight: 500;
  border-radius: 8px;
  padding: 8px 10px;
  background: transparent;
  border: 0;
}

.account-dropdown .account-feedback-trigger:hover {
  background: #f2f7f4;
}

.feedback-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
}

.feedback-modal[hidden] {
  display: none;
}

.feedback-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(21, 34, 28, 0.45);
  backdrop-filter: blur(2px);
}

.feedback-modal-card {
  position: relative;
  width: min(560px, calc(100% - 32px));
  margin: min(12vh, 84px) auto 0;
  background: #fff;
  border: 1px solid #cfe2d7;
  border-radius: 20px;
  padding: 22px 22px 18px;
  box-shadow: 0 26px 50px rgba(20, 33, 26, 0.28);
}

.feedback-modal-card h3 {
  font-size: 30px;
  letter-spacing: -0.02em;
  margin-bottom: 8px;
}

.feedback-modal-card p {
  color: #506057;
  margin-bottom: 14px;
}

.feedback-modal-form textarea {
  width: 100%;
  border: 1px solid #bdd6c8;
  border-radius: 14px;
  padding: 12px 14px;
  font: inherit;
  resize: vertical;
  min-height: 140px;
  background: #f7fbf9;
}

.feedback-modal-form textarea:focus {
  outline: none;
  border-color: #73a78d;
  box-shadow: 0 0 0 3px rgba(90, 149, 121, 0.14);
}

.feedback-modal-actions {
  margin-top: 14px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

button {
  font-family: inherit;
  border: none;
  cursor: pointer;
}

.ghost {
  padding: 10px 16px;
  background: var(--bg-soft);
  border-radius: 999px;
  border: 1px solid #e4e1dc;
}

.icon {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: var(--bg-soft);
  border: 1px solid #ece8e1;
  display: grid;
  place-items: center;
  font-size: 16px;
}

.hero {
  margin-top: 48px;
  display: grid;
  gap: 24px;
  animation: float-in 0.8s ease-out both;
}

.search-hero {
  margin-top: 36px;
}

.hero-copy {
  max-width: 720px;
}

.hero-copy h1 {
  font-family: "Playfair Display", serif;
  font-size: clamp(30px, 3.6vw, 54px);
  line-height: 1.05;
  margin: 12px 0 18px;
}

.hero-copy h1 .nowrap {
  white-space: nowrap;
  display: inline-block;
}

.hero-copy p {
  color: var(--muted);
  font-size: 18px;
}

.about-hero {
  margin-top: 56px;
}

.pill {
  display: inline-flex;
  padding: 6px 12px;
  border-radius: 999px;
  background: #1d1d1f;
  color: #fff;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1.4px;
}

.search {
  display: grid;
  grid-template-columns: repeat(3, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px;
  border-radius: 999px;
  background: var(--bg-soft);
  box-shadow: var(--shadow);
}

.search label {
  display: grid;
  gap: 4px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--muted);
  position: relative;
}

.search input {
  border: none;
  font-size: 16px;
  color: var(--ink);
  outline: none;
  background: transparent;
}

.search select {
  border: none;
  font-size: 16px;
  color: var(--ink);
  outline: none;
  background: transparent;
  font-family: inherit;
  width: 100%;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding-right: 22px;
  line-height: 1.2;
}

.search-select::after {
  content: "▾";
  position: absolute;
  right: 2px;
  bottom: 0;
  font-size: 14px;
  color: #7b7f7d;
  pointer-events: none;
}

.search-btn {
  background: linear-gradient(135deg, #2f8f62 0%, #7cc64b 100%);
  color: #f9fff8;
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 600;
  box-shadow: 0 10px 20px rgba(47, 143, 98, 0.25);
}

.search-btn:hover {
  filter: brightness(1.03);
}

.search-btn:active {
  transform: translateY(1px);
}

.content {
  margin-top: 52px;
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 18px;
}

.section-header h2 {
  font-size: 24px;
  margin-bottom: 6px;
}

.section-header p {
  color: var(--muted);
}

.about-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.about-card {
  background: var(--bg-soft);
  border-radius: var(--radius-md);
  padding: 20px;
  box-shadow: 0 12px 28px rgba(24, 24, 24, 0.08);
}

.about-card h3 {
  font-size: 18px;
  margin-bottom: 8px;
}

.about-card p {
  color: var(--muted);
}

.founders-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 320px));
  justify-content: center;
}

.founder-card {
  min-height: 340px;
  padding: 24px;
}

.founder-photo {
  display: block;
  width: 120px;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  border-radius: var(--radius-md);
  margin: 0 auto 16px;
}

.controls {
  display: flex;
  gap: 10px;
}

.controls .icon {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.content.has-overflow .controls .icon {
  opacity: 1;
  pointer-events: auto;
}

.controls .icon:disabled {
  opacity: 0.35;
}

.card-row {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: clamp(250px, 28vw, 330px);
  gap: 24px;
  overflow-x: auto;
  padding: 0 2px 10px;
  scroll-snap-type: x mandatory;
}

.card-row .card:nth-child(2) {
  animation-delay: 0.05s;
}

.card-row .card:nth-child(3) {
  animation-delay: 0.1s;
}

.card-row .card:nth-child(4) {
  animation-delay: 0.15s;
}

.card-row .card:nth-child(5) {
  animation-delay: 0.2s;
}

.card {
  background: linear-gradient(180deg, #ffffff 0%, #fcfdfc 100%);
  border-radius: 26px;
  border: 1px solid #e3ebe5;
  box-shadow: 0 18px 34px rgba(22, 34, 28, 0.08);
  overflow: hidden;
  scroll-snap-align: start;
  min-width: 0;
  animation: rise 0.6s ease-out both;
  text-decoration: none;
  color: #202425;
  transition: transform 0.24s ease, box-shadow 0.24s ease, border-color 0.24s ease;
}

.card:hover {
  transform: translateY(-3px);
  border-color: #cfddd3;
  box-shadow: 0 24px 40px rgba(24, 42, 31, 0.13);
}

.card * {
  text-decoration: none;
}

.card-media {
  position: relative;
  height: 182px;
}

.card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.badge {
  position: absolute;
  top: 13px;
  left: 13px;
  background: rgba(246, 253, 247, 0.95);
  border: 1px solid #cfe6d2;
  color: #2f6f4f;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.3px;
  text-transform: uppercase;
}

.badge-sold {
  left: auto;
  right: 13px;
  background: rgba(175, 36, 27, 0.96);
  border-color: rgba(255, 220, 216, 0.55);
  color: #fff;
}

.status-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  border: 1px solid transparent;
}

.sba-badge-likely {
  background: #e5f6ea;
  border-color: #b9e0c4;
  color: #246843;
}

.sba-badge-review {
  background: #fff4d6;
  border-color: #ead28a;
  color: #826018;
}

.sba-badge-unlikely {
  background: #fbe2df;
  border-color: #e5b6ae;
  color: #8f342d;
}

.interest-badge {
  background: #e6f0fb;
  border-color: #c8daf4;
  color: #31557b;
}

.card-body {
  padding: 18px 18px 19px;
  display: grid;
  gap: 8px;
}

.card-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.card-body h3 {
  font-size: clamp(19px, 1.5vw, 24px);
  line-height: 1.1;
  font-family: "Space Grotesk", "Helvetica Neue", sans-serif;
  letter-spacing: -0.3px;
}

.card-body p {
  color: #5f6763;
  font-size: 14px;
  line-height: 1.35;
}

.card-body span {
  display: inline-flex;
  width: fit-content;
  font-weight: 600;
  font-size: 13px;
  color: #345f4a;
  background: #edf7f1;
  border: 1px solid #d7e8de;
  border-radius: 999px;
  padding: 5px 10px;
}

.search-results-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 20px;
}

.cta {
  margin-top: 64px;
  background: linear-gradient(135deg, #1d1d1f 0%, #3d3439 100%);
  color: #fff;
  padding: 32px;
  border-radius: var(--radius-lg);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.cta h2 {
  font-family: "Playfair Display", serif;
  font-size: 28px;
  margin-bottom: 8px;
}

.cta p {
  color: rgba(255, 255, 255, 0.72);
}

.primary {
  background: #fff;
  color: #1d1d1f;
  padding: 14px 24px;
  border-radius: 999px;
  font-weight: 600;
}

.login-card {
  max-width: 460px;
  margin: 40px auto 0;
  background: var(--bg-soft);
  border-radius: var(--radius-lg);
  padding: 28px;
  box-shadow: var(--shadow);
}

.login-header h1 {
  font-family: "Playfair Display", serif;
  font-size: 32px;
  margin-bottom: 8px;
}

.login-header p {
  color: var(--muted);
  margin-bottom: 20px;
}

.login-form {
  display: grid;
  gap: 16px;
}

.login-form label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--muted);
}

.required {
  font-size: 11px;
  font-weight: 600;
  color: #d88080;
  margin-left: 6px;
}

.login-form input,
.login-form select {
  border-radius: 12px;
  border: 1px solid #e5e0d8;
  padding: 12px 14px;
  font-size: 16px;
  font-family: inherit;
}

.login-form .field-error {
  border-color: #d88080;
  color: #b14d4d;
}

.login-form select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, var(--muted) 50%),
    linear-gradient(135deg, var(--muted) 50%, transparent 50%);
  background-position: right 14px top 55%, right 8px top 55%;
  background-size: 6px 6px;
  background-repeat: no-repeat;
  cursor: pointer;
}

.field-hint {
  font-size: 11px;
  text-transform: none;
  letter-spacing: 0;
  color: #8d877f;
}

.form-errors {
  background: #fff3f3;
  border: 1px solid #f1c4c4;
  color: #b14d4d;
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 13px;
  text-transform: none;
  letter-spacing: 0;
}

.form-errors p + p {
  margin-top: 6px;
}

.profile-card {
  max-width: 900px;
  width: 100%;
  margin: 40px auto 0;
  background: var(--bg-soft);
  border-radius: var(--radius-lg);
  padding: 28px;
  box-shadow: var(--shadow);
}

.profile-header h1 {
  font-family: "Playfair Display", serif;
  font-size: 30px;
  margin-bottom: 8px;
}

.profile-header {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: start;
}

.profile-header .auth.save {
  align-self: start;
}

.profile-header p {
  color: var(--muted);
  margin-bottom: 20px;
}

.profile-listings {
  margin-top: 28px;
  display: grid;
  gap: 12px;
}

.profile-listings .section-header {
  margin-bottom: 0;
}

.empty-state {
  padding: 16px;
  border-radius: 16px;
  border: 1px dashed #e2ddd5;
  color: var(--muted);
  background: #fffdf9;
}

.listing-thumb-grid {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(240px, 280px);
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 6px;
  scroll-snap-type: x mandatory;
}

.listing-thumb-placeholder {
  height: 100%;
  width: 100%;
  display: grid;
  place-items: center;
  color: #8f8a82;
  font-size: 13px;
}

.listing-thumb-grid .card {
  text-decoration: none;
  color: inherit;
  min-width: 240px;
  scroll-snap-align: start;
}

.thumb-carousel {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 10px;
}

.thumb-arrow {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.2s ease;
}

.thumb-carousel.has-overflow .thumb-arrow {
  opacity: 1;
  pointer-events: auto;
}

.thumb-arrow:disabled {
  opacity: 0.35;
}

.profile-form {
  display: grid;
  gap: 22px;
}

.profile-form textarea {
  border-radius: 12px;
  border: 1px solid #e5e0d8;
  padding: 12px 14px;
  font-size: 16px;
  font-family: inherit;
  resize: none;
  overflow: hidden;
}

.profile-top {
  display: grid;
  grid-template-columns: minmax(220px, 260px) 1fr;
  gap: 24px;
  align-items: start;
}

.avatar-upload {
  display: grid;
  gap: 10px;
  justify-items: center;
  align-content: center;
  justify-self: center;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 1px;
  font-size: 12px;
}

.avatar-upload input[type="file"] {
  display: none;
}

.avatar-circle {
  width: 110px;
  height: 110px;
  border-radius: 50%;
  border: 2px dashed #d7d1c8;
  display: grid;
  place-items: center;
  font-size: 32px;
  color: #8f8a82;
  background: #fffdf9;
  overflow: hidden;
}

.avatar-circle img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.avatar-label {
  text-transform: none;
  letter-spacing: 0;
  font-size: 12px;
  color: #8d877f;
}

.bio-field {
  display: grid;
  gap: 6px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--muted);
}

.profile-actions-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap: 14px;
  align-items: start;
}

.profile-actions-row .primary {
  background: #1d1d1f;
  color: #fff;
  border-color: #1d1d1f;
  text-decoration: none;
  display: inline-flex;
  justify-content: center;
}

.profile-actions-row .primary,
.profile-actions-row .ghost {
  display: inline-flex;
  justify-content: center;
  width: 100%;
  min-height: 50px;
  padding: 12px 18px;
  align-items: center;
  border-radius: 14px;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
}

.profile-actions-row .ghost {
  background: #f1f1f1;
  color: #3a3a3a;
  border-color: #d9d9d9;
}

.profile-actions-row .ghost.is-blue {
  background: #e6f0fb;
  color: #2f4f73;
  border-color: #c9ddf5;
}

.listing-card {
  max-width: 960px;
  background: linear-gradient(180deg, #ffffff 0%, #fbfdfc 100%);
  border: 1px solid #e0e9e3;
}

.listing-form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.listing-form .primary {
  justify-self: start;
  margin-top: 10px;
  background: #1f4f3d;
  color: #fff;
  text-decoration: none;
}

.listing-form-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
  flex-wrap: wrap;
}

.listing-form-actions .primary {
  margin-top: 0;
}

.listing-post-btn {
  flex: 0 1 60%;
  min-width: 320px;
}

.listing-actions-menu {
  position: relative;
  flex: 0 1 20%;
  min-width: 160px;
}

.listing-actions-menu summary {
  list-style: none;
  cursor: pointer;
  width: 100%;
  text-align: center;
}

.listing-actions-menu summary::-webkit-details-marker {
  display: none;
}

.listing-actions-dropdown {
  position: absolute;
  right: 0;
  top: calc(100% + 8px);
  min-width: 240px;
  z-index: 40;
  display: grid;
  gap: 6px;
  padding: 8px;
  background: #fff;
  border: 1px solid #dfe7e1;
  border-radius: 14px;
  box-shadow: 0 14px 24px rgba(20, 33, 26, 0.12);
}

.listing-actions-dropdown .ghost,
.listing-actions-dropdown .danger-btn {
  width: 100%;
  text-align: left;
}

.danger-btn {
  border: 1px solid #e7c8c8;
  background: #fff5f5;
  color: #9d3f3f;
  padding: 12px 18px;
  border-radius: 999px;
  font-weight: 600;
}

.listing-form-header {
  margin-bottom: 4px;
}

.form-block {
  border: 1px solid #e2ebe5;
  background: #ffffff;
  border-radius: 16px;
  padding: 16px;
  display: grid;
  gap: 14px;
}

.form-block h2 {
  font-size: 16px;
  letter-spacing: 0.3px;
}

.anonymous-listing-block {
  background: linear-gradient(180deg, #f7fcf9 0%, #ffffff 100%);
  justify-items: center;
  text-align: center;
}

.anonymous-choice-group {
  display: flex;
  align-items: center;
  margin-bottom: 2px;
  justify-content: center;
}

.anonymous-switch-input {
  position: absolute;
  opacity: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  cursor: pointer;
}

.anonymous-toggle {
  position: relative;
  display: inline-grid;
  grid-template-columns: 1fr 1fr;
  align-items: center;
  min-width: 220px;
  padding: 4px;
  border-radius: 999px;
  border: 1px solid #d3e4d8;
  background: linear-gradient(180deg, #fbfefd 0%, #eef7f1 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.92), 0 8px 18px rgba(36, 66, 53, 0.06);
  cursor: pointer;
}

.anonymous-toggle-option {
  position: relative;
  z-index: 1;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 42px;
  padding: 0 24px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.2px;
  color: #587063;
  transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.anonymous-switch-input:not(:checked) ~ .anonymous-toggle-option-no {
  background: linear-gradient(180deg, #315845 0%, #1d3a2c 100%);
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(23, 52, 39, 0.28);
}

.anonymous-switch-input:checked ~ .anonymous-toggle-option-yes {
  background: linear-gradient(180deg, #39a06f 0%, #267c55 100%);
  color: #ffffff;
  box-shadow: 0 6px 14px rgba(38, 124, 85, 0.24);
}

.anonymous-switch-input:focus-visible ~ .anonymous-toggle-option {
  outline: 2px solid #2f8f62;
  outline-offset: 2px;
}

.anonymous-choice-description {
  margin: 0;
  max-width: 760px;
  line-height: 1.45;
  text-align: center;
}

.listing-grid {
  display: grid;
  gap: 14px;
}

.listing-grid > label {
  min-width: 0;
}

.naics-autocomplete {
  position: relative;
  width: 100%;
}

.naics-autocomplete input {
  width: 100%;
}

.naics-autocomplete-menu {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  z-index: 30;
  max-height: 320px;
  overflow-y: auto;
  background: #fff;
  border: 1px solid #dfe7e1;
  border-radius: 14px;
  box-shadow: 0 18px 32px rgba(20, 33, 26, 0.12);
  padding: 8px;
}

.naics-autocomplete-option {
  display: grid;
  gap: 4px;
  width: 100%;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 10px;
  padding: 10px 12px;
  color: #23312a;
}

.naics-autocomplete-option:hover,
.naics-autocomplete-option.is-active {
  background: #eef7f1;
}

.naics-autocomplete-option strong {
  font-size: 13px;
}

.naics-autocomplete-option span {
  font-size: 12px;
  color: #66756d;
}

.naics-autocomplete-empty {
  padding: 12px;
  font-size: 13px;
  color: #66756d;
}

.naics-field-hint {
  margin-top: -4px;
}

.naics-field-spacer {
  min-height: 1px;
}

.listing-grid.two-up {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.listing-grid.three-up {
  grid-template-columns: repeat(3, 1fr);
}

.listing-grid .full {
  grid-column: 1 / -1;
}

.listing-form textarea {
  min-height: 120px;
}

.upload-block input[type="file"] {
  border: 1px dashed #cbdccf;
  border-radius: 12px;
  padding: 12px;
  background: #f8fcf9;
  width: 100%;
  font-size: 14px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: #44514a;
}

.upload-block small {
  color: #6c736f;
  font-size: 12px;
  text-transform: none;
  letter-spacing: 0;
}

.upload-block {
  align-content: start;
}

.listing-detail {
  display: grid;
  gap: 24px;
}

.listing-sold-banner {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  padding: 10px 18px;
  border-radius: 999px;
  background: linear-gradient(180deg, #c63d34 0%, #a8251d 100%);
  color: #fff;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  box-shadow: 0 14px 28px rgba(168, 37, 29, 0.2);
}

.listing-snapshot-block {
  display: grid;
  gap: 14px;
}

.listing-carousel-wrap {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 12px;
  align-items: center;
}

.listing-carousel {
  display: flex;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  padding-bottom: 6px;
}

.listing-carousel img {
  flex: 0 0 auto;
  width: 400px;
  height: 500px;
  object-fit: cover;
  border-radius: 16px;
  scroll-snap-align: start;
  cursor: zoom-in;
}

.carousel-btn {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid #e2ddd5;
  background: #fff;
  display: grid;
  place-items: center;
  font-size: 18px;
}

.lightbox {
  position: fixed;
  inset: 0;
  background: rgba(8, 12, 10, 0.86);
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
  z-index: 9999;
}

.lightbox.open {
  display: flex;
}

.lightbox-image {
  max-width: min(1100px, 92vw);
  max-height: 88vh;
  width: auto;
  height: auto;
  border-radius: 14px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.35);
}

.lightbox-close {
  position: absolute;
  top: 20px;
  right: 24px;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.15);
  color: #fff;
  font-size: 18px;
  display: grid;
  place-items: center;
}

.lightbox-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  font-size: 24px;
  display: grid;
  place-items: center;
}

.lightbox-prev {
  left: 20px;
}

.lightbox-next {
  right: 20px;
}

.listing-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 24px;
}

.listing-header > div:first-child {
  flex: 1 1 auto;
  min-width: 0;
}

.listing-header h1 {
  font-family: "Playfair Display", serif;
  font-size: 36px;
  margin-bottom: 8px;
}

.listing-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 10px;
}

.listing-header p {
  color: var(--muted);
}

.listing-meta {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
}

.meta-card {
  background: var(--bg-soft);
  border-radius: 16px;
  padding: 16px;
  box-shadow: 0 12px 24px rgba(24, 24, 24, 0.08);
}

.meta-card h3 {
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: 1px;
  color: var(--muted);
  margin-bottom: 6px;
}

.meta-card p {
  line-height: 1.35;
}

.meta-card small {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 12px;
}

.listing-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.heart-form {
  margin: 0;
}

.heart-btn {
  width: 40px;
  height: 40px;
  border-radius: 999px;
  border: 1px solid #e4e1dc;
  background: #fff;
  color: #b14d4d;
  display: grid;
  place-items: center;
  text-decoration: none;
  font-size: 18px;
  line-height: 1;
}

.edit-link {
  text-decoration: none;
  color: inherit;
  min-width: 140px;
  text-align: center;
  padding-inline: 22px;
  font-size: 13px;
  white-space: nowrap;
}

.file-preview-grid {
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.file-preview {
  display: grid;
  gap: 6px;
  justify-items: center;
  font-size: 12px;
  color: var(--muted);
}

.file-preview img {
  width: 100%;
  height: 92px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid #e8e3dc;
}

.photo-delete-btn {
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #e7c8c8;
  background: #fff5f5;
  color: #9d3f3f;
  font-size: 12px;
  font-weight: 600;
}

.file-list {
  margin-top: 10px;
  display: grid;
  gap: 8px;
  max-height: 220px;
  overflow: auto;
  padding-right: 4px;
}

.file-item {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.file-chip {
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px;
  color: #2e6b4f;
  background: #e6f4ec;
  border: 1px solid #cce5d7;
}

.file-name {
  font-size: 13px;
  color: var(--muted);
}

.doc-delete-btn {
  margin-left: auto;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid #e7c8c8;
  background: #fff5f5;
  color: #9d3f3f;
  font-size: 12px;
  font-weight: 600;
}

.doc-checklist {
  margin-top: 10px;
  display: grid;
  gap: 6px;
  border-top: 1px solid #e8eee9;
  padding-top: 10px;
}

.doc-review-results {
  margin-top: 10px;
  display: grid;
  gap: 8px;
}

.doc-upload-status {
  margin-top: 10px;
  border: 1px solid #dce7df;
  border-radius: 12px;
  background: #f8fcfa;
  padding: 10px;
  display: grid;
  gap: 8px;
}

.doc-upload-status-head {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: center;
  font-size: 12px;
  color: #3b4a40;
}

.doc-upload-phase {
  color: #567562;
  font-weight: 600;
}

.doc-upload-progress {
  height: 8px;
  border-radius: 999px;
  background: #e8f0ea;
  overflow: hidden;
}

.doc-upload-progress-bar {
  display: block;
  height: 100%;
  width: 0;
  background: linear-gradient(90deg, #49a5c8, #69bd54);
  transition: width 180ms ease;
}

.doc-upload-steps {
  display: grid;
  gap: 4px;
}

.doc-upload-step {
  font-size: 12px;
  color: #7a847d;
}

.doc-upload-step.is-active {
  color: #2f6e89;
  font-weight: 600;
}

.doc-upload-step.is-complete {
  color: #2f7b55;
  font-weight: 600;
}

.doc-upload-message {
  font-size: 12px;
  color: #526057;
}

.doc-upload-status.is-error {
  border-color: #e7c8c8;
  background: #fff7f7;
}

.doc-upload-status.is-error .doc-upload-phase,
.doc-upload-status.is-error .doc-upload-message {
  color: #9d3f3f;
}

.doc-review-item {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding: 8px 10px;
  border: 1px solid #e5ece6;
  border-radius: 10px;
  background: #fafdfb;
  font-size: 12px;
  color: #4f5952;
  flex-wrap: wrap;
}

.doc-review-item strong {
  color: #263128;
  font-weight: 600;
}

.doc-review-item small {
  width: 100%;
  color: #6a756e;
}

.doc-review-pending {
  font-size: 12px;
  color: #5c6760;
}

.listing-valuation-panel {
  margin-top: 28px;
  display: grid;
  gap: 14px;
}

.listing-checkout-cta {
  margin-top: 28px;
  padding: 24px 26px;
  border-radius: 20px;
  border: 1px solid #d8e5dc;
  background: linear-gradient(135deg, #f7fcf8 0%, #edf8f1 100%);
  box-shadow: 0 14px 28px rgba(22, 42, 29, 0.08);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.listing-checkout-cta h2 {
  font-family: "Playfair Display", serif;
  font-size: 28px;
  margin-bottom: 6px;
}

.listing-checkout-cta p {
  color: #5f6e65;
}

.listing-checkout-btn {
  white-space: nowrap;
}

.checkout-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.9fr);
  gap: 26px;
  align-items: start;
}

.financing-hero {
  margin-bottom: 8px;
}

.financing-hero h1 {
  font-family: "Playfair Display", serif;
  font-size: clamp(34px, 4vw, 52px);
}

.financing-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.9fr);
  gap: 24px;
  align-items: start;
}

.financing-form-shell,
.financing-results-card {
  display: grid;
  gap: 16px;
}

.financing-results-shell {
  display: grid;
  gap: 16px;
}

.financing-summary-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
}

.financing-results-empty .meta-card p {
  color: #516258;
}

.checkout-main,
.checkout-sidebar {
  display: grid;
  gap: 18px;
}

.checkout-hero,
.checkout-summary-card {
  background: #fff;
  border: 1px solid #e2ebe4;
  border-radius: 22px;
  padding: 24px;
  box-shadow: 0 14px 28px rgba(21, 34, 27, 0.08);
}

.checkout-hero {
  display: grid;
  gap: 12px;
}

.checkout-hero h1,
.checkout-summary-card h2 {
  font-family: "Playfair Display", serif;
}

.checkout-summary-card {
  position: sticky;
  top: 24px;
  gap: 14px;
}

.checkout-summary-row {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
  padding-bottom: 10px;
  border-bottom: 1px solid #edf1ee;
  color: #4e5d54;
}

.checkout-summary-row strong {
  color: #243128;
  text-align: right;
}

.checkout-primary-btn {
  width: 100%;
  justify-content: center;
}

.strongest-industries-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px 14px;
}

.strongest-industries-grid .checklist-item {
  margin: 0;
}

.valuation-preview-card,
.valuation-preview-shell {
  display: grid;
  gap: 14px;
}

.valuation-preview-empty {
  border: 1px dashed #d7dfd8;
  border-radius: 14px;
  padding: 16px;
  background: #fbfdfb;
  color: #66736b;
  font-size: 14px;
}

.valuation-preview-kpis {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.valuation-kpi {
  background: linear-gradient(180deg, #f8fcfa, #eef6f1);
  border: 1px solid #dce7df;
  border-radius: 14px;
  padding: 14px;
  display: grid;
  gap: 4px;
}

.valuation-kpi span,
.valuation-signal-grid span {
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: #66736b;
}

.valuation-kpi strong {
  font-size: 24px;
  color: #213128;
}

.valuation-signal-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.valuation-signal-grid > div,
.valuation-adjustment-item {
  background: #fff;
  border: 1px solid #e5ece6;
  border-radius: 12px;
  padding: 12px;
  display: grid;
  gap: 4px;
}

.valuation-signal-grid strong,
.valuation-adjustment-item strong {
  color: #263128;
}

.valuation-adjustments-list {
  display: grid;
  gap: 10px;
}

.valuation-adjustment-item span {
  font-size: 13px;
  color: #5f6e65;
}

.sba-preview-card,
.financial-history-card {
  margin-top: 16px;
  display: grid;
  gap: 12px;
}

.sba-preview-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.sba-preview-head h3,
.financial-history-card h3 {
  font-size: 16px;
  color: #213128;
}

.checklist-card {
  background: #fff;
  border: 1px solid #ece7df;
  border-radius: 14px;
  padding: 14px;
  display: grid;
  gap: 8px;
}

.checklist-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #766f66;
  font-size: 14px;
}

.checklist-item .box {
  width: 14px;
  height: 14px;
  border: 1px solid #cfc7bc;
  border-radius: 4px;
  background: #fff;
}

.checklist-item.checked {
  color: #2e6b4f;
}

.checklist-item.checked .box {
  border-color: #86c6a4;
  background: #dff2e8;
}

.checklist-item small {
  margin-left: auto;
  color: #7a847d;
  font-size: 12px;
}

.form-multicheck-card {
  gap: 10px;
}

.form-multicheck-item {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  text-transform: none;
  letter-spacing: 0;
  color: #425248;
  cursor: pointer;
}

.form-multicheck-item input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.form-multicheck-item .box {
  width: 16px;
  height: 16px;
  border: 1px solid #cfc7bc;
  border-radius: 4px;
  background: #fff;
  flex: 0 0 16px;
}

.form-multicheck-item input[type="checkbox"]:checked + .box {
  border-color: #86c6a4;
  background: #dff2e8;
  box-shadow: inset 0 0 0 3px #2e6b4f;
}

.naics-multiselect {
  position: relative;
  display: grid;
  gap: 8px;
}

.naics-multiselect-selected {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.naics-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 7px 10px;
  border-radius: 999px;
  background: #edf7f1;
  border: 1px solid #d7e8de;
  color: #345f4a;
  font-size: 12px;
  font-weight: 600;
}

.naics-chip-remove {
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  line-height: 1;
  cursor: pointer;
  padding: 0;
}

.naics-multiselect-input {
  width: 100%;
}

.naics-multiselect-menu {
  top: calc(100% + 2px);
}

.contracts-hero,
.contracts-modular,
.evaluations-docs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 28px;
  align-items: center;
}

.evaluations-method > .evaluations-copy {
  grid-column: 1 / -1;
}

.contracts-copy,
.evaluations-copy {
  display: grid;
  gap: 14px;
}

.contracts-copy h1,
.evaluations-copy h1 {
  font-family: "Playfair Display", serif;
  font-size: clamp(30px, 3.2vw, 44px);
  line-height: 1.08;
}

.contracts-copy h2,
.evaluations-copy h2 {
  font-family: "Playfair Display", serif;
  font-size: clamp(26px, 2.8vw, 36px);
}

.contracts-copy p,
.evaluations-copy p {
  color: var(--muted);
}

.contracts-divider span {
  display: block;
  height: 1px;
  width: 100%;
  background: linear-gradient(90deg, transparent, #d8d2c7, transparent);
}

.contracts-illustration,
.evaluations-illustration {
  display: grid;
  place-items: center;
}

.evaluations-hero {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: 28px;
  background: linear-gradient(145deg, #f4f8ef 0%, #e8f4ff 55%, #fef9f0 100%);
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  gap: 28px;
  align-items: center;
  border: 1px solid #dde5d7;
}

.evaluations-bg-glow {
  position: absolute;
  inset: -40% -10% auto auto;
  width: 380px;
  height: 380px;
  background: radial-gradient(circle, rgba(70, 151, 91, 0.2) 0%, rgba(70, 151, 91, 0) 70%);
  pointer-events: none;
}

.paper-stack {
  position: relative;
  width: 280px;
  height: 200px;
}

.paper {
  position: absolute;
  width: 180px;
  height: 130px;
  border-radius: 10px;
  border: 1px solid #e3ddd2;
  background: #fffdfa;
}

.paper.one {
  transform: rotate(-10deg);
  left: 10px;
  top: 34px;
}

.paper.two {
  transform: rotate(-4deg);
  left: 46px;
  top: 24px;
}

.paper.three {
  transform: rotate(3deg);
  left: 82px;
  top: 18px;
}

.paper.four {
  transform: rotate(9deg);
  left: 114px;
  top: 30px;
}

.paper.clip {
  width: 36px;
  height: 56px;
  border-radius: 14px;
  border: 5px solid #d6a85f;
  background: transparent;
  left: 132px;
  top: 4px;
}

.contracts-checklist {
  display: grid;
  place-items: center;
}

.market-card {
  width: min(100%, 390px);
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(6px);
  border: 1px solid #d8e3d4;
  border-radius: 20px;
  padding: 18px;
  box-shadow: 0 20px 42px rgba(35, 71, 48, 0.15);
  animation: float-in 0.9s ease-out both;
}

.market-header,
.market-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.market-footer {
  margin-top: 10px;
  color: #8a847d;
  font-size: 12px;
}

.market-kpi-row {
  margin-top: 14px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.market-kpi {
  background: #ffffff;
  border: 1px solid #e8efe2;
  border-radius: 12px;
  padding: 10px;
  display: grid;
  gap: 3px;
}

.kpi-label {
  font-size: 10px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #77806f;
}

.market-kpi strong {
  font-size: 18px;
  color: #1f3a27;
}

.market-kpi small {
  font-size: 11px;
  color: #6b7365;
}

.pill-tag {
  padding: 6px 11px;
  border-radius: 999px;
  font-size: 11px;
  background: #e8f6ea;
  color: #2f6f4f;
  letter-spacing: 0.4px;
}

.pill-tag.ghost {
  background: #eef3fa;
  color: #4f6787;
}

.market-chart {
  margin-top: 14px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px;
}

.y-axis {
  display: grid;
  align-content: space-between;
  color: #8a847d;
  font-size: 11px;
  min-height: 120px;
  padding: 2px 0 4px;
}

.chart-area {
  position: relative;
  min-height: 120px;
  border-radius: 12px;
  padding: 2px 8px 0 4px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.7) 0%, rgba(244, 250, 241, 0.7) 100%);
  border: 1px solid #e2ecdc;
}

.chart-area svg {
  width: 100%;
  height: 120px;
}

.grid-line {
  position: absolute;
  left: 4px;
  right: 8px;
  height: 1px;
  background: #eee8de;
}

.grid-line:nth-child(1) {
  top: 24px;
}

.grid-line:nth-child(2) {
  top: 58px;
}

.grid-line:nth-child(3) {
  top: 92px;
}

.doodle-card {
  position: relative;
  width: 320px;
  height: 240px;
  filter: drop-shadow(0 18px 26px rgba(24, 35, 22, 0.15));
}

.doodle-paper {
  position: absolute;
  width: 198px;
  height: 146px;
  border: 1px solid #dadfcd;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbf4 100%);
}

.doodle-paper:nth-child(1) {
  left: 24px;
  top: 58px;
  transform: rotate(-9deg);
}

.doodle-paper:nth-child(2) {
  left: 74px;
  top: 42px;
  transform: rotate(-3deg);
}

.doodle-paper:nth-child(3) {
  left: 122px;
  top: 28px;
  transform: rotate(6deg);
}

.doodle-lines {
  position: absolute;
  left: 132px;
  top: 84px;
  width: 142px;
  height: 90px;
  border-radius: 10px;
  background: repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 10px,
    rgba(101, 123, 86, 0.28) 10px,
    rgba(101, 123, 86, 0.28) 12px
  );
  transform: rotate(6deg);
}

.doodle-lines.second {
  left: 80px;
  top: 96px;
  width: 126px;
  opacity: 0.65;
  transform: rotate(-4deg);
}

.doodle-stamp {
  position: absolute;
  left: 148px;
  top: 126px;
  padding: 7px 14px;
  border: 2px solid #de3142;
  color: #de3142;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.7px;
  transform: rotate(-10deg);
  background: rgba(255, 255, 255, 0.72);
}

.doodle-clip {
  position: absolute;
  left: 166px;
  top: 8px;
  width: 36px;
  height: 58px;
  border: 5px solid #5f97c9;
  border-radius: 12px;
}

.docs-checklist-card {
  width: min(100%, 390px);
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #d7e6d8;
  border-radius: 18px;
  padding: 18px;
  box-shadow: 0 18px 34px rgba(32, 60, 41, 0.14);
  display: grid;
  gap: 12px;
}

.docs-checklist-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.docs-checklist-items {
  display: grid;
  gap: 10px;
}

.docs-checklist-item {
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #e3ede4;
  border-radius: 12px;
  padding: 10px 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f5faf4 100%);
  color: #2e4133;
  font-weight: 600;
  font-size: 14px;
}

.docs-check {
  width: 16px;
  height: 16px;
  border-radius: 5px;
  border: 1px solid #95c6a2;
  background: linear-gradient(180deg, #eaf8ee 0%, #dff2e7 100%);
  position: relative;
}

.docs-check::after {
  content: "";
  position: absolute;
  left: 4px;
  top: 1px;
  width: 5px;
  height: 9px;
  border: solid #2f7a55;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.evaluations-cta {
  margin-top: 38px;
}

.buyer-hero {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  padding: 34px;
  background: linear-gradient(135deg, #e8f2ff 0%, #ecfbf2 52%, #fff6ea 100%);
  border: 1px solid #d5e2ef;
  display: grid;
  grid-template-columns: 1.08fr 1fr;
  gap: 34px;
  align-items: center;
  isolation: isolate;
}

.buyer-hero-glow {
  position: absolute;
  width: 520px;
  height: 520px;
  right: -180px;
  top: -230px;
  background: radial-gradient(circle, rgba(77, 136, 201, 0.3) 0%, rgba(77, 136, 201, 0) 72%);
  pointer-events: none;
  z-index: -1;
}

.buyer-hero-grid {
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0.22) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.22) 1px, transparent 1px);
  background-size: 34px 34px;
  mask-image: radial-gradient(circle at 72% 40%, black 15%, transparent 72%);
  pointer-events: none;
  z-index: -1;
}

.buyer-copy {
  display: grid;
  gap: 16px;
}

.buyer-copy h1 {
  font-family: "Playfair Display", serif;
  font-size: clamp(32px, 3.4vw, 50px);
  line-height: 1.04;
  max-width: 12ch;
}

.buyer-copy h2 {
  font-family: "Playfair Display", serif;
  font-size: clamp(26px, 2.8vw, 36px);
}

.buyer-copy p {
  color: var(--muted);
}

.buyer-illustration {
  display: grid;
  place-items: center;
}

.verification-card {
  width: min(100%, 430px);
  padding: 20px;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(8px);
  border: 1px solid #d7e6d6;
  border-radius: 22px;
  box-shadow: 0 24px 56px rgba(18, 47, 27, 0.17);
  position: relative;
}

.verification-head {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  align-items: center;
}

.verification-kpis {
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.kpi-card {
  background: linear-gradient(180deg, #ffffff 0%, #f7fbf5 100%);
  border: 1px solid #e2ece0;
  border-radius: 12px;
  padding: 10px;
  display: grid;
  gap: 2px;
}

.kpi-card span {
  color: #72806f;
  font-size: 11px;
}

.kpi-card strong {
  color: #1f442d;
  font-size: 22px;
  line-height: 1.05;
}

.verification-meter {
  margin-top: 14px;
  display: grid;
  gap: 8px;
}

.meter-labels {
  display: flex;
  justify-content: space-between;
  font-size: 11px;
  color: #6c7565;
}

.meter-track {
  height: 11px;
  border-radius: 999px;
  background: #e8efe6;
  overflow: hidden;
  border: 1px solid #cedcca;
}

.meter-track span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #388d61 0%, #68b657 55%, #86cb4c 100%);
}

.verification-items {
  margin-top: 14px;
  display: grid;
  gap: 8px;
}

.verification-item {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #656d66;
  font-size: 14px;
  background: #fcfdfb;
  border: 1px solid #e8eee8;
  border-radius: 11px;
  padding: 9px 11px;
}

.verification-item .dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #b8c0b3;
}

.verification-item.success {
  color: #2d6b50;
  border-color: #d2e9db;
  background: #f3fbf7;
}

.verification-item.success .dot {
  background: #3f8f63;
}

.buyer-importance {
  display: grid;
  grid-template-columns: 1fr 1.05fr;
  gap: 34px;
  align-items: center;
  background: linear-gradient(180deg, #fffdf9 0%, #fcfaf4 100%);
  border: 1px solid #ece5d9;
  border-radius: 24px;
  padding: 26px;
}

.shield-stack {
  position: relative;
  width: 320px;
  height: 250px;
}

.shield-back {
  position: absolute;
  inset: 34px 24px 28px 24px;
  border-radius: 22px;
  background: linear-gradient(160deg, #d8e7f8 0%, #cee7d7 100%);
  transform: rotate(-8deg);
}

.shield-front {
  position: absolute;
  inset: 14px;
  border-radius: 22px;
  background: #ffffff;
  border: 1px solid #d8e4d9;
  box-shadow: 0 22px 40px rgba(20, 40, 25, 0.16);
  padding: 20px;
  display: grid;
  gap: 11px;
  align-content: start;
}

.shield-front span {
  display: inline-block;
  width: fit-content;
  font-size: 11px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #396a9b;
  background: #ebf3fd;
  border-radius: 999px;
  padding: 5px 10px;
}

.shield-front h3 {
  font-size: 20px;
}

.shield-front p {
  color: var(--muted);
}

.shield-lines {
  height: 70px;
  border-radius: 10px;
  background: repeating-linear-gradient(
    to bottom,
    rgba(112, 126, 114, 0.2) 0,
    rgba(112, 126, 114, 0.2) 2px,
    transparent 2px,
    transparent 12px
  );
}

.buyer-points {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
}

.point-card {
  background: #fff;
  border: 1px solid #e7e2d8;
  border-radius: 16px;
  padding: 13px;
  box-shadow: 0 10px 20px rgba(25, 25, 25, 0.05);
}

.point-card h3 {
  font-size: 15px;
  margin-bottom: 6px;
}

.point-card p {
  font-size: 13px;
}

.buyer-cta {
  margin-top: 40px;
}

.admin-dashboard {
  display: grid;
  gap: 20px;
}

.admin-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.admin-filter-bar {
  border: 1px solid #dbe7df;
  border-radius: 16px;
  background: #fff;
  padding: 12px;
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr 1fr auto;
  gap: 10px;
  align-items: end;
}

.admin-filter-bar label {
  display: grid;
  gap: 6px;
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #67726b;
}

.admin-filter-bar input,
.admin-filter-bar select {
  border: 1px solid #d2dfd7;
  background: #f9fcfa;
  border-radius: 999px;
  padding: 10px 14px;
  font-family: inherit;
  font-size: 15px;
  color: #2e3d34;
}

.admin-filter-bar select {
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #4f6357 50%),
    linear-gradient(135deg, #4f6357 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
  padding-right: 30px;
}

.admin-filter-actions {
  display: flex;
  gap: 8px;
  align-items: center;
}

.admin-map-wrap,
.admin-listings-table-wrap {
  border: 1px solid #dbe7df;
  border-radius: 16px;
  background: #fff;
  padding: 16px;
  display: grid;
  gap: 10px;
}

.admin-map {
  height: 360px;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid #dfe8e2;
}

.admin-listings-table {
  overflow-x: auto;
}

.traffic-explorer {
  display: grid;
  gap: 18px;
}

.traffic-slicers {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
}

.traffic-slicers label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  color: #58655d;
}

.traffic-slicers select {
  border: 1px solid #d9e4dd;
  border-radius: 10px;
  background: #fbfdfc;
  padding: 10px 12px;
  font: inherit;
}

.traffic-chart-card {
  border: 1px solid #e3ebe5;
  border-radius: 16px;
  background: linear-gradient(180deg, #fbfdfc, #f4f9f6);
  padding: 16px;
}

.traffic-chart-head {
  margin-bottom: 12px;
  color: #304039;
}

#traffic-chart {
  width: 100%;
  height: 260px;
  display: block;
}

.traffic-breakdowns {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.admin-listings-table table {
  width: 100%;
  border-collapse: collapse;
  min-width: 640px;
}

.admin-listings-table th,
.admin-listings-table td {
  text-align: left;
  padding: 10px 8px;
  border-bottom: 1px solid #edf2ee;
  font-size: 14px;
}

.admin-listings-table th {
  color: #6a746d;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  font-size: 12px;
}

.admin-role-button,
.admin-role-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  padding: 8px 14px;
  border-radius: 999px;
  border: 1px solid #cbd8d1;
  background: linear-gradient(180deg, #fbfdfc, #f1f6f3);
  color: #22312b;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

.admin-role-button {
  cursor: pointer;
  transition: transform 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.admin-role-button:hover {
  transform: translateY(-1px);
  border-color: #9cb5a6;
  box-shadow: 0 10px 18px rgba(33, 61, 49, 0.08);
}

.admin-role-pill-static {
  opacity: 0.85;
}

.admin-role-note {
  margin-top: 6px;
  max-width: 200px;
  color: #66736c;
  font-size: 11px;
  line-height: 1.4;
}

.role-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  place-items: center;
  padding: 20px;
}

.role-modal[hidden] {
  display: none;
}

.role-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(20, 29, 25, 0.48);
  backdrop-filter: blur(3px);
}

.role-modal-card {
  position: relative;
  z-index: 1;
  width: min(100%, 420px);
  border-radius: 20px;
  border: 1px solid #d7e2db;
  background: #fff;
  box-shadow: 0 24px 64px rgba(20, 29, 25, 0.18);
  padding: 22px;
  display: grid;
  gap: 16px;
}

.role-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.role-modal-header h3 {
  margin: 0;
  font-size: 24px;
}

.role-modal-close {
  width: 38px;
  height: 38px;
  border-radius: 999px;
  border: 1px solid #d5e0d9;
  background: #f7faf8;
  color: #34423c;
  font-size: 24px;
  line-height: 1;
  cursor: pointer;
}

.role-modal-copy {
  margin: 0;
  color: #55635c;
}

.role-modal-form {
  display: grid;
  gap: 14px;
}

.role-modal-form label {
  display: grid;
  gap: 6px;
  color: #4c5b54;
  font-size: 14px;
}

.role-modal-form select {
  width: 100%;
  border: 1px solid #d6e0da;
  border-radius: 14px;
  background: #fbfdfc;
  padding: 12px 14px;
  font: inherit;
}

.role-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.analytics-table table {
  min-width: 0;
}

.missing-file {
  color: #9d3f3f;
  font-weight: 600;
}

@media (max-width: 900px) {
  .listing-form {
    grid-template-columns: 1fr;
  }

  .listing-form .primary {
    justify-self: stretch;
  }

  .listing-form-actions {
    justify-content: stretch;
  }

  .listing-post-btn,
  .listing-actions-menu,
  .listing-form-actions > .ghost {
    flex: 1 1 100%;
    min-width: 0;
  }

  .listing-actions-menu summary,
  .listing-form-actions .ghost,
  .listing-form-actions .primary {
    width: 100%;
  }

  .listing-actions-dropdown {
    left: 0;
    right: 0;
    min-width: 0;
  }

  .listing-grid.two-up,
  .listing-grid.three-up {
    grid-template-columns: 1fr;
  }

  .listing-carousel-wrap {
    grid-template-columns: 1fr;
  }

  .listing-carousel img {
    width: 100%;
    height: min(62vw, 360px);
  }

  .listing-header {
    flex-direction: column;
    gap: 16px;
  }

  .listing-actions {
    width: 100%;
    justify-content: flex-start;
    flex-wrap: wrap;
  }

  .edit-link {
    min-width: 0;
    flex: 1 1 160px;
  }

  .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }

  .carousel-btn {
    justify-self: end;
  }
}

.action-stack {
  display: grid;
  gap: 6px;
  justify-items: stretch;
  text-align: center;
}

.buyer-review-note {
  margin-top: 14px;
  padding: 14px 16px;
  border-radius: 12px;
  border: 1px solid #cfe2d7;
  background: linear-gradient(90deg, #edf8f1 0%, #f4fbf7 100%);
  color: #245b43;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 600;
}

.file-chip.is-good {
  background: #d9efe1;
  color: #2f6f4f;
  border-color: #bcdcc8;
}

.file-chip.is-warn {
  background: #f2f2f2;
  color: #5c5c5c;
  border-color: #dadada;
}

.file-item .file-meta {
  color: #6e6e6e;
  font-size: 12px;
}

.buyer-case-list {
  display: grid;
  gap: 12px;
}

.buyer-case-card {
  border: 1px solid #dfeae2;
  border-radius: 16px;
  background: linear-gradient(180deg, #fcfefd 0%, #f6faf7 100%);
  overflow: hidden;
}

.buyer-case-summary {
  list-style: none;
  cursor: pointer;
  display: grid;
  grid-template-columns: minmax(220px, 1.2fr) 2.8fr;
  gap: 18px;
  align-items: center;
  padding: 14px 16px;
}

.buyer-case-summary::-webkit-details-marker {
  display: none;
}

.buyer-case-summary::before {
  content: "▸";
  display: inline-block;
  margin-right: 10px;
  color: #2f4d3c;
}

.buyer-case-card[open] .buyer-case-summary::before {
  content: "▾";
}

.buyer-case-name {
  font-size: 20px;
  font-weight: 700;
  color: #26352d;
}

.buyer-case-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(120px, 1fr));
  gap: 10px;
  color: #3e4c43;
  font-size: 14px;
}

.buyer-case-body {
  border-top: 1px solid #e8f0ea;
  padding: 14px 16px 16px;
  display: grid;
  gap: 12px;
}

.admin-case-form {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: end;
  padding-top: 4px;
}

.admin-case-form label {
  display: grid;
  gap: 6px;
  font-size: 13px;
  color: #4c5d52;
}

.admin-case-form .admin-check-row {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 2px;
  font-size: 15px;
  color: #2f4538;
}

.admin-case-form input[type="number"] {
  border: 1px solid #cfdcd3;
  background: #fff;
  border-radius: 10px;
  padding: 8px 10px;
  min-width: 220px;
}

.admin-case-form select {
  border: 1px solid #cfdcd3;
  background: #f8fbf9;
  border-radius: 999px;
  padding: 10px 14px;
  min-width: 240px;
  font-family: inherit;
  font-size: 15px;
  color: #2f4538;
  appearance: none;
  background-image: linear-gradient(45deg, transparent 50%, #4f6357 50%),
    linear-gradient(135deg, #4f6357 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(50% - 3px),
    calc(100% - 12px) calc(50% - 3px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

@media (max-width: 1000px) {
  .buyer-case-summary {
    grid-template-columns: 1fr;
  }

  .buyer-case-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .profile-top {
    grid-template-columns: 1fr;
  }

  .profile-actions-row {
    grid-template-columns: 1fr;
  }

  .thumb-carousel {
    grid-template-columns: 1fr;
  }

  .thumb-arrow {
    display: none;
  }
}

.login-form .primary {
  width: 100%;
  border-radius: 999px;
  background: #1d1d1f;
  color: #fff;
}

.login-form .primary:active {
  background: #fff;
  color: #1d1d1f;
  box-shadow: inset 0 0 0 1px #1d1d1f;
}

@keyframes float-in {
  from {
    opacity: 0;
    transform: translateY(24px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(18px) scale(0.98);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero,
  .card {
    animation: none;
  }
}

@media (max-width: 900px) {
  .topbar {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
  }

  .top-nav {
    order: 3;
    flex-wrap: wrap;
    justify-content: center;
  }

  .search {
    grid-template-columns: 1fr;
    border-radius: var(--radius-lg);
  }

  .search-btn {
    width: 100%;
  }

  .cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .contracts-hero,
  .contracts-modular,
  .evaluations-hero,
  .evaluations-docs,
  .buyer-hero,
  .buyer-importance {
    grid-template-columns: 1fr;
  }

  .admin-kpis {
    grid-template-columns: 1fr;
  }

  .admin-filter-bar {
    grid-template-columns: 1fr;
  }

  .admin-filter-actions {
    justify-content: flex-start;
  }

  .evaluations-hero {
    padding: 22px;
  }

  .market-kpi-row {
    grid-template-columns: 1fr;
  }

  .doodle-card {
    width: 280px;
    height: 210px;
  }

  .doodle-paper {
    width: 176px;
    height: 130px;
  }

  .doodle-paper:nth-child(1) {
    left: 20px;
    top: 46px;
  }

  .doodle-paper:nth-child(2) {
    left: 64px;
    top: 34px;
  }

  .doodle-paper:nth-child(3) {
    left: 104px;
    top: 22px;
  }

  .doodle-lines {
    left: 114px;
    top: 74px;
    width: 130px;
    height: 80px;
  }

  .doodle-lines.second {
    left: 74px;
    top: 90px;
    width: 112px;
  }

  .doodle-stamp {
    left: 120px;
    top: 112px;
  }

  .doodle-clip {
    left: 136px;
  }

  .buyer-hero {
    padding: 22px;
  }

  .buyer-points {
    grid-template-columns: 1fr;
  }

  .verification-kpis {
    grid-template-columns: 1fr;
  }

  .buyer-importance {
    padding: 20px;
  }

  .admin-main .section-header {
    gap: 10px;
  }

  .traffic-slicers {
    grid-template-columns: 1fr;
  }

  .traffic-breakdowns {
    grid-template-columns: 1fr;
  }

  .checkout-layout {
    grid-template-columns: 1fr;
  }

  .financing-layout {
    grid-template-columns: 1fr;
  }

  .strongest-industries-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .checkout-summary-card {
    position: static;
  }

  .listing-checkout-cta {
    flex-direction: column;
    align-items: flex-start;
  }

  .traffic-chart-card {
    padding: 14px;
  }

  #traffic-chart {
    height: 220px;
  }

  .admin-map {
    height: 280px;
  }

  .admin-listings-table table {
    min-width: 560px;
  }

  .admin-listings-table th,
  .admin-listings-table td {
    padding: 9px 8px;
    font-size: 13px;
  }

  .analytics-table {
    overflow: visible;
  }

  .analytics-table table,
  .analytics-table thead,
  .analytics-table tbody,
  .analytics-table tr,
  .analytics-table th,
  .analytics-table td {
    display: block;
    width: 100%;
  }

  .analytics-table table {
    min-width: 0;
  }

  .analytics-table thead {
    display: none;
  }

  .analytics-table tbody {
    display: grid;
    gap: 10px;
  }

  .analytics-table tr {
    border: 1px solid #e4ebe6;
    border-radius: 12px;
    background: #fbfdfc;
    padding: 8px 10px;
  }

  .analytics-table td {
    border-bottom: 0;
    padding: 6px 0;
    font-size: 13px;
  }

  .analytics-table td::before {
    content: attr(data-label);
    display: block;
    margin-bottom: 2px;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    color: #6a746d;
  }
}

@media (max-width: 700px) {
  .hero-copy h1 .nowrap {
    white-space: normal;
  }

  .page {
    padding: 24px 16px 56px;
  }

  .listing-header h1 {
    font-size: 30px;
  }

  .listing-meta {
    grid-template-columns: 1fr;
  }

  .listing-checkout-cta {
    padding: 20px;
  }

  .strongest-industries-grid {
    grid-template-columns: 1fr;
  }

  .listing-checkout-cta h2 {
    font-size: 24px;
  }

  .listing-checkout-btn,
  .checkout-primary-btn {
    width: 100%;
  }

  .heart-btn {
    width: 44px;
    height: 44px;
  }

  .admin-kpis {
    grid-template-columns: 1fr;
  }

  .admin-map-wrap,
  .admin-listings-table-wrap,
  .traffic-chart-card {
    padding: 14px;
  }

  .traffic-chart-head {
    margin-bottom: 8px;
  }

  #traffic-chart {
    height: 190px;
  }

  .admin-map {
    height: 220px;
  }

  .admin-listings-table {
    margin-inline: -4px;
  }

  .admin-listings-table table {
    min-width: 520px;
  }

  .admin-listings-table th {
    font-size: 11px;
  }

  .admin-listings-table td {
    font-size: 12px;
  }

  .admin-role-button,
  .admin-role-pill {
    min-width: 108px;
    padding-inline: 12px;
    font-size: 12px;
  }

  .role-modal {
    padding: 14px;
  }

  .role-modal-card {
    padding: 18px;
  }

  .role-modal-actions {
    flex-direction: column-reverse;
  }

  .role-modal-actions .auth,
  .role-modal-actions .auth.save {
    width: 100%;
  }

  .analytics-table {
    margin-inline: 0;
  }

  .analytics-table tr {
    padding: 8px 9px;
  }
}

.admin-layout {
  display: grid;
  grid-template-columns: 240px 1fr;
  gap: 18px;
  align-items: start;
}

.admin-sidebar {
  position: sticky;
  top: 16px;
  border: 1px solid #dbe7df;
  border-radius: 16px;
  background: #fff;
  padding: 10px;
  display: grid;
  gap: 6px;
}

.admin-nav-link {
  display: block;
  text-decoration: none;
  color: #36443a;
  font-weight: 600;
  border-radius: 12px;
  padding: 10px 12px;
}

.admin-nav-link:hover {
  background: #f3f8f4;
}

.admin-nav-link.active {
  background: linear-gradient(135deg, #ebf6ee 0%, #eaf2fb 100%);
  border: 1px solid #d2e4d8;
}

.admin-main {
  min-width: 0;
}

@media (max-width: 1000px) {
  .admin-layout {
    grid-template-columns: 1fr;
  }

  .admin-sidebar {
    position: static;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .admin-sidebar {
    grid-template-columns: 1fr;
  }

  .admin-nav-link {
    text-align: center;
  }
}

/* Valuation-first homepage */
.valuation-home { --valuation-green: #214f3d; }
.valuation-eyebrow { color: #38664e; text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 600; margin-bottom: 20px; }
.valuation-hero { display: grid; grid-template-columns: 1.35fr 1fr; gap: 70px; align-items: center; padding: 88px 0 72px; }
.valuation-hero h1 { font-family: "Playfair Display", serif; font-size: clamp(42px, 5vw, 66px); line-height: 1.12; letter-spacing: -.035em; max-width: 620px; }
.valuation-hero h1 em { color: var(--valuation-green); font-weight: inherit; }
.valuation-lead { font-size: 18px; line-height: 1.75; color: #59665e; margin-top: 26px; max-width: 530px; }
.valuation-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 22px; margin-top: 30px; }
.valuation-button { display: inline-flex; align-items: center; gap: 20px; padding: 17px 24px; border-radius: 10px; background: var(--valuation-green); color: white; text-decoration: none; font-weight: 600; }
.valuation-button:hover { background: #163b2c; }
.valuation-text-link { color: var(--valuation-green); text-underline-offset: 5px; font-size: 14px; font-weight: 500; }
.valuation-note { font-size: 12px; color: #59665e; margin-top: 18px; }
.valuation-story { background: #e4eedf; border: 1px solid #cdddc8; border-radius: 24px; padding: 36px; overflow: hidden; }
.valuation-story-art { display: flex; align-items: flex-end; justify-content: center; gap: 12px; height: 150px; margin: 22px 0 32px; border-bottom: 1px solid #bed1b7; }
.valuation-story-art span { width: 48px; background: #adc59a; border-radius: 24px 24px 0 0; height: 45%; }
.valuation-story-art span:nth-child(2) { height: 62%; background: #87a774; }
.valuation-story-art span:nth-child(3) { height: 80%; background: #608455; }
.valuation-story-art span:nth-child(4) { height: 100%; background: #315a42; }
.valuation-story h2, .valuation-retirement h2, .valuation-process h2, .valuation-matching h2 { font-family: "Playfair Display", serif; font-size: 34px; line-height: 1.25; letter-spacing: -.02em; }
.valuation-story p { color: #4f6151; line-height: 1.7; margin: 18px 0 24px; }
.valuation-story a { color: #214f3d; font-size: 14px; text-underline-offset: 5px; }
.valuation-retirement { padding: 52px 64px; background: #fffaf0; border: 1px solid #ece2cd; border-radius: 20px; }
.valuation-retirement p:last-child { max-width: 740px; font-size: 18px; line-height: 1.75; color: #6b6253; margin-top: 20px; }
.valuation-process { padding: 76px 0; scroll-margin-top: 30px; }
.valuation-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin-top: 36px; }
.valuation-steps article { padding-top: 24px; border-top: 1px solid #ccdacf; }
.valuation-step-number { color: #477052; font-size: 14px; }
.valuation-steps h3 { font-size: 20px; margin: 20px 0 12px; }
.valuation-steps p, .valuation-matching p:not(.valuation-eyebrow) { line-height: 1.8; color: #59665e; }
.valuation-matching { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; border-top: 1px solid #ccdacf; padding-top: 48px; }
.valuation-matching .valuation-text-link { display: inline-block; margin-top: 20px; }
.valuation-cta { background: #214f3d; }
.valuation-cta .primary { text-decoration: none; white-space: nowrap; }
.valuation-home a:focus-visible { outline: 3px solid #427cb1; outline-offset: 5px; }
@media (max-width: 900px) {
  .valuation-hero { gap: 30px; padding: 54px 0; }
  .valuation-story { padding: 24px; }
  .valuation-story h2 { font-size: 28px; }
  .valuation-steps { gap: 22px; }
  .valuation-cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 640px) {
  .valuation-hero, .valuation-steps, .valuation-matching { grid-template-columns: 1fr; }
  .valuation-hero { padding-top: 42px; gap: 36px; }
  .valuation-hero h1 { font-size: 44px; }
  .valuation-retirement { padding: 32px 24px; }
  .valuation-retirement h2, .valuation-process h2, .valuation-matching h2 { font-size: 29px; }
  .valuation-process { padding: 48px 0; }
  .valuation-matching { gap: 20px; }
  .valuation-cta { margin-top: 44px; padding: 26px; }
}

/* Business valuation intake */
.valuation-intake { max-width: 1060px; padding: 36px; box-shadow: 0 12px 40px rgba(32, 70, 48, .05); }
.valuation-intake .listing-form-header { margin-bottom: 30px; text-align: left; }
.valuation-intake .listing-form-header h1 { font-family: "Playfair Display", serif; font-size: clamp(28px, 3.5vw, 40px); line-height: 1.2; }
.valuation-intake .listing-form-header p { max-width: 740px; margin-top: 14px; font-size: 16px; line-height: 1.7; color: #59665e; }
.valuation-intake-form { gap: 24px; }
.valuation-intake .valuation-section { padding: 26px; gap: 24px; }
.valuation-section-heading { display: flex; align-items: flex-start; gap: 14px; }
.valuation-section-number { flex: 0 0 34px; height: 34px; display: grid; place-items: center; border-radius: 50%; color: #315c45; background: #edf4ed; font-size: 12px; font-weight: 600; }
.valuation-intake .valuation-section-heading h2 { font-size: 20px; line-height: 1.35; letter-spacing: -.3px; }
.valuation-section-heading p { color: #59665e; font-size: 14px; line-height: 1.65; margin-top: 7px; }
.valuation-intake .listing-grid { gap: 22px; }
.valuation-field { min-width: 0; display: flex; flex-direction: column; gap: 8px; }
.valuation-intake label { color: #293d31; text-transform: none; letter-spacing: 0; font-size: 14px; font-weight: 500; }
.valuation-intake input:not([type="file"]), .valuation-intake select, .valuation-intake textarea { width: 100%; min-width: 0; min-height: 48px; background-color: #fff; border: 1px solid #cfdad2; border-radius: 9px; font: inherit; font-size: 16px; padding: 12px; color: #23382b; }
.valuation-intake select { padding-right: 32px; }
.valuation-intake textarea { resize: vertical; line-height: 1.6; }
.valuation-intake .field-hint { font-size: 12px; line-height: 1.6; color: #59665e; }
.valuation-upload-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }
.valuation-upload-card { display: grid; gap: 16px; min-width: 0; padding: 22px; border: 1px solid #ccded0; background: #f6faf6; border-radius: 14px; }
.valuation-photo-card { background: #f8fafc; border-color: #d7e0e6; }
.valuation-upload-tag { text-transform: uppercase; letter-spacing: .09em; color: #477052; font-size: 10px; font-weight: 600; }
.valuation-upload-card h3 { font-size: 21px; color: #234231; }
.valuation-upload-card p, .valuation-upload-tips { font-size: 13px; line-height: 1.65; color: #526258; }
.valuation-upload-tips { padding-left: 18px; display: grid; gap: 8px; }
.valuation-upload-callout { background: #e9f2e6; padding: 16px; border-radius: 10px; font-size: 14px; color: #254a33; }
.valuation-upload-callout p { margin-top: 8px; }
.valuation-intake input[type="file"] { min-width: 0; font-size: 12px; padding: 12px; line-height: 1.6; background: white; border-color: #b6cbbb; }
.valuation-intake input::file-selector-button { padding: 9px 12px; background: #214f3d; border: 0; border-radius: 6px; color: white; margin-right: 10px; font-family: inherit; cursor: pointer; }
.valuation-description-guide { padding: 22px; border-radius: 12px; background: #f8f7f1; border: 1px solid #e7e4d6; font-size: 14px; line-height: 1.7; color: #5c5e51; }
.valuation-description-guide strong { color: #373e31; }
.valuation-description-guide ul { padding-left: 20px; margin: 12px 0; display: grid; gap: 8px; }
.valuation-more-details { border-top: 1px solid #e0e7df; padding-top: 20px; min-width: 0; }
.valuation-more-details summary { color: #254a33; cursor: pointer; font-weight: 600; line-height: 1.6; padding: 8px 0; }
.valuation-more-details summary span { display: block; color: #677268; font-size: 12px; font-weight: 400; }
.valuation-more-details > .listing-grid { margin-top: 22px; }
.valuation-save-note { color: #345442; background: #edf4ed; border-radius: 12px; padding: 20px 24px; line-height: 1.7; font-size: 14px; }
.valuation-save-note p { color: #59665e; margin-top: 4px; }
.valuation-intake .listing-form-actions { justify-content: space-between; margin: 0; }
.valuation-intake .listing-form-actions button { cursor: pointer; min-height: 48px; border-radius: 9px; font: inherit; font-size: 14px; }
.valuation-intake .primary { border: 0; }
.valuation-intake .errorlist { list-style: none; font-size: 13px; color: #a12e36; line-height: 1.5; }
.valuation-errors { line-height: 1.7; padding: 22px; }
.valuation-errors ul { padding-left: 20px; }
.valuation-errors a { color: #9b2630; }
.valuation-intake :is(input, select, textarea, button, summary, a):focus-visible { outline: 3px solid #508360; outline-offset: 3px; }
.valuation-intake .file-item, .valuation-intake .doc-review-item { min-width: 0; overflow-wrap: anywhere; }
.valuation-intake .file-name { min-width: 0; overflow-wrap: anywhere; }
.valuation-selected-files { display: grid; gap: 10px; }
.valuation-selected-file { display: flex; align-items: center; gap: 10px; font-size: 12px; color: #385140; padding: 10px; background: white; border: 1px solid #d5e1d8; border-radius: 8px; }
.valuation-selected-file span { min-width: 0; flex: 1; overflow-wrap: anywhere; }
.valuation-selected-file button { border: 1px solid #d5e1d8; border-radius: 6px; background: white; padding: 8px; min-height: 44px; color: #7e3434; cursor: pointer; }
@media (max-width: 760px) {
  .valuation-intake { padding: 20px; }
  .valuation-intake .valuation-section { padding: 20px; }
  .valuation-upload-grid, .valuation-intake .listing-grid { grid-template-columns: minmax(0, 1fr); }
  .valuation-upload-card { padding: 20px; }
  .valuation-intake .listing-form-actions { align-items: stretch; flex-direction: column; }
  .valuation-intake .listing-form-actions button { width: 100%; }
}
@media (max-width: 480px) {
  .valuation-intake { padding: 16px; margin-top: 28px; border-radius: 16px; }
  .valuation-intake .valuation-section { border: 0; border-top: 1px solid #dbe5dd; padding: 24px 0 0; border-radius: 0; background: transparent; }
  .valuation-upload-card { padding: 16px; }
  .valuation-intake .listing-form-header h1 { font-size: 30px; }
  .valuation-intake .valuation-section-heading h2 { font-size: 18px; }
  .valuation-description-guide { padding: 16px; }
  .valuation-intake .doc-upload-steps { grid-template-columns: 1fr; }
}

/* Financial review and submission workspace */
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.business-tabs { display:flex; gap:8px; flex-wrap:wrap; margin-top:32px; border-bottom:1px solid #cdded2; padding-bottom:12px; }
.business-tabs a { padding:10px 16px; color:#486050; text-decoration:none; border-radius:8px; font-size:14px; }
.business-tabs a[aria-current] { background:#214f3d; color:white; }
.financial-workspace { --valuation-green:#214f3d; padding:40px 0; display:grid; gap:24px; min-width:0; }
.financial-workspace h1 { font:600 clamp(30px,4vw,46px)/1.2 "Playfair Display",serif; max-width:850px; }
.financial-workspace h2 { font-size:21px; margin-bottom:12px; }
.financial-workspace p, .financial-workspace li { line-height:1.7; }
.financial-workspace .valuation-eyebrow { margin-bottom:0; }
.financial-lead { max-width:850px; color:#59665e; }
.financial-workspace :is(.financial-guide,.financial-sources,.financial-table-section,.financial-submit,.financial-readiness) { padding:24px; border:1px solid #d9e5db; border-radius:16px; background:#fff; min-width:0; }
.financial-workspace .financial-guide { background:#edf4ed; }
.financial-workspace .financial-readiness { background:#fff9ec; border-color:#e5d6b4; }
.financial-readiness ul, .financial-workspace .form-errors ul { padding-left:22px; }
.financial-notice { background:#e7f3e9; padding:18px; border-radius:10px; color:#244b33; }
.financial-warning { color:#805812; font-size:13px; }
.financial-source-card { margin-top:22px; border-top:1px solid #d9e5db; padding-top:22px; }
.financial-source-card h3 { font-size:16px; overflow-wrap:anywhere; margin-bottom:12px; }
.financial-workspace a { color:#215640; text-underline-offset:3px; }
.financial-workspace .valuation-button { color:white; }
.financial-workspace summary { cursor:pointer; font-weight:600; line-height:1.6; }
.financial-sources > summary { font-size:19px; }
.financial-sources > summary span { display:block; font-size:12px; color:#5c6f61; font-weight:400; }
.financial-period-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:16px 0; }
.financial-period-form label { display:grid; gap:7px; font-size:13px; color:#385340; }
.financial-period-form .full { grid-column:1/-1; }
.financial-workspace :is(input:not([type=checkbox]),select,textarea) { width:100%; min-width:0; border:1px solid #c6d7cb; border-radius:8px; background:white; color:#23392c; font:inherit; font-size:16px; padding:11px; min-height:44px; }
.financial-workspace textarea { resize:vertical; }
.financial-workspace button { min-height:44px; font:inherit; font-size:14px; cursor:pointer; border:1px solid #c6d7cb; border-radius:8px; padding:12px 18px; }
.financial-workspace :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #4e865e; outline-offset:3px; }
.financial-retry-controls { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.financial-workspace small { font-size:12px; line-height:1.5; color:#627267; }
.financial-table-scroll { overflow-x:auto; margin:20px 0 10px; border:1px solid #d7e2d9; border-radius:10px; }
.financial-spread { border-collapse:separate; border-spacing:0; width:100%; font-size:13px; text-align:left; }
.financial-spread th, .financial-spread td { vertical-align:top; padding:16px; border-bottom:1px solid #e1e9e3; border-right:1px solid #e1e9e3; min-width:230px; max-width:320px; }
.financial-spread thead th { background:#eaf1eb; font-size:14px; }
.financial-spread th:first-child { min-width:200px; max-width:240px; background:#f6f9f6; }
.financial-spread thead span { display:block; font-weight:400; font-size:12px; margin-top:7px; }
.financial-spread td input { font-variant-numeric:tabular-nums; }
.financial-spread details { margin-top:10px; font-size:12px; overflow-wrap:anywhere; }
.financial-spread details p { margin:10px 0; }
.financial-spread textarea { margin-top:6px; font-size:14px; }
.financial-cell-warning { background:#fff9ec; }
.financial-corrected { color:#28643d; font-size:11px; }
.financial-check { display:flex !important; align-items:flex-start; gap:12px; line-height:1.6; margin:16px 0; }
.financial-check input { flex:0 0 20px; width:20px; height:20px; margin-top:3px; }
.financial-actions { display:flex; justify-content:space-between; gap:16px; margin-top:24px; flex-wrap:wrap; }
.financial-snapshot > div { display:grid; grid-template-columns:1fr 1fr; gap:24px; padding:14px 0; border-bottom:1px solid #e1e9e3; }
.financial-snapshot dd { text-align:right; font-variant-numeric:tabular-nums; }
.financial-snapshot small { display:block; }
.financial-empty { padding:20px 0; color:#627267; }
@media(max-width:640px) {
 .financial-workspace { padding-top:28px; }
 .financial-workspace :is(.financial-guide,.financial-sources,.financial-table-section,.financial-submit,.financial-readiness) { padding:18px; }
 .financial-period-form { grid-template-columns:1fr; }
 .financial-actions { flex-direction:column; }
 .financial-actions button { width:100%; }
 .business-tabs { gap:2px; }
 .business-tabs a { padding:10px; font-size:12px; }
 .financial-spread th:first-child { min-width:160px; }
 .financial-spread td { min-width:220px; }
 .financial-snapshot > div { gap:12px; font-size:13px; }
}
.financial-review-form { min-width:0; display:grid; gap:24px; }
.financial-spread tbody th { position:sticky; left:0; z-index:1; box-shadow:1px 0 #d7e2d9; }
@media(max-width:640px) {
 .financial-spread th:first-child { min-width:130px; max-width:130px; padding:12px; font-size:12px; }
 .financial-spread td { padding:12px; }
}

/* Unknown amounts and source discrepancies remain visible without blocking missing data. */
.financial-workspace .financial-cell-warning { background:#fff0f0; box-shadow:inset 0 0 0 1px #cf5555; }
.financial-workspace .financial-cell-warning input[data-financial-value] { border-color:#bd3434; color:#9c2424; }
.financial-workspace .financial-cell-warning input::placeholder { color:#9c2424; opacity:1; }
.financial-workspace .financial-warning,
.financial-workspace .financial-calculation-warning,
.financial-workspace .financial-cell-warning .financial-value-status { color:#a42323; }
.financial-value-status { display:block; font-size:12px; margin-top:6px; color:#486050; }
.financial-calculation-warning { display:block; margin-top:8px; font-size:12px; line-height:1.5; }
.financial-calculation-warning[hidden] { display:none; }
.financial-workspace input[readonly] { background:#edf4ed; }

/* Detailed business evaluation */
.evaluation-price { background:#214f3d; color:#fff; padding:32px; border-radius:20px; display:grid; gap:20px; }
.evaluation-price .valuation-eyebrow, .evaluation-price .field-hint { color:#d7e9dc; }
.evaluation-price h2 { font:600 clamp(25px,3.7vw,44px)/1.3 "Playfair Display",serif; overflow-wrap:anywhere; }
.evaluation-price-meta { display:flex; flex-wrap:wrap; gap:12px 28px; font-size:13px; }
.evaluation-jump { display:flex; flex-wrap:wrap; gap:10px; }
.evaluation-jump a { padding:10px 14px; border:1px solid #cdded2; border-radius:8px; color:#214f3d; text-decoration:none; font-size:13px; background:#fff; }
.evaluation-report section { scroll-margin-top:24px; }
.evaluation-report section > p { margin:14px 0; }
.evaluation-math { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:24px 0; }
.evaluation-math > div { border-radius:10px; padding:18px; background:#edf4ed; }
.evaluation-math span { display:block; color:#52645a; font-size:12px; margin-bottom:8px; }
.evaluation-math strong { font-size:24px; }
.evaluation-market-grid, .evaluation-factors { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin:20px 0; }
.evaluation-market-grid article, .evaluation-factors article { min-width:0; padding:20px; border:1px solid #d9e5db; border-radius:12px; overflow-wrap:anywhere; }
.evaluation-report h3 { font-size:17px; line-height:1.45; }
.evaluation-report article p { margin-top:12px; font-size:14px; }
.evaluation-factor-heading { display:flex; flex-wrap:wrap; gap:10px; align-items:center; justify-content:space-between; }
.evaluation-priority { display:inline-block; font-size:11px; border-radius:20px; padding:5px 9px; background:#edf1ef; color:#3c5346; white-space:nowrap; }
.priority-high { background:#f9e9db; color:#7a4020; }
.priority-medium { background:#edf0d9; color:#535c28; }
.priority-low { background:#e7eef7; color:#365674; }
.evaluation-evidence { border-left:3px solid #b9d2c0; padding-left:12px; color:#46594d; max-height:220px; overflow:auto; }
.evaluation-actions { list-style:none; padding:0; margin:20px 0; }
.evaluation-actions li { display:flex; align-items:flex-start; gap:14px; padding:18px 0; border-bottom:1px solid #d9e5db; }
.evaluation-actions li p { font-size:14px; margin-top:6px; }
.evaluation-total { font-weight:700; background:#edf4ed; padding:14px!important; }
@media(max-width:700px) { .evaluation-price { padding:22px; } .evaluation-market-grid,.evaluation-factors { grid-template-columns:1fr; } .evaluation-math { grid-template-columns:repeat(2,minmax(0,1fr)); } .evaluation-price-meta { display:grid; } .evaluation-actions li { gap:10px; } }

/* A concise reading path for the evaluation report. */
.evaluation-compact { gap:18px; padding-top:28px; }
.evaluation-compact .evaluation-heading { display:flex; justify-content:space-between; align-items:end; gap:24px; }
.evaluation-compact .evaluation-heading h1 { font-size:clamp(28px,3.6vw,40px); margin:4px 0 8px; }
.evaluation-report-date { color:#637368; font-size:12px; white-space:nowrap; }
.evaluation-compact .evaluation-price { gap:10px; padding:26px 30px; }
.evaluation-compact .evaluation-price h2 { margin:0; font-size:clamp(25px,3.2vw,40px); }
.evaluation-compact .evaluation-price p { margin:0; line-height:1.5; }
.evaluation-compact .evaluation-price-meta { margin-top:8px; gap:8px; }
.evaluation-compact .evaluation-price-meta span { padding:5px 9px; background:#ffffff20; border-radius:20px; }
.evaluation-compact .evaluation-price-foot { border-top:1px solid #ffffff38; padding-top:12px; font-size:12px; color:#e2eee5; }
.evaluation-compact .financial-table-section { padding:25px; }
.evaluation-section-head { display:flex; align-items:end; justify-content:space-between; gap:14px; flex-wrap:wrap; margin-bottom:16px; }
.evaluation-section-head h2 { margin:3px 0 0!important; }
.evaluation-section-head a { color:#275c40; font-size:13px; }
.evaluation-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.evaluation-steps > div { display:flex; align-items:start; gap:10px; padding:15px; background:#f0f5f0; border-radius:12px; }
.evaluation-step-number { flex:none; background:#214f3d; color:#fff; width:24px; height:24px; border-radius:50%; text-align:center; font-size:13px; line-height:24px; }
.evaluation-steps strong { display:block; font-size:14px; }
.evaluation-steps p { font-size:13px; line-height:1.5!important; margin:6px 0 0!important; color:#506156; }
.evaluation-detail { border-top:1px solid #d9e5db; margin-top:16px; padding-top:14px; }
.evaluation-detail > summary { color:#285a40; font-size:14px; font-weight:600; cursor:pointer; }
.evaluation-detail > p { margin-top:16px; }
.evaluation-next-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.evaluation-next-grid article { background:#f7faf7; border:1px solid #d9e5db; border-radius:12px; padding:16px; }
.evaluation-next-grid h3 { margin:10px 0 6px; }
.evaluation-next-grid p { margin:0!important; font-size:13px; line-height:1.5!important; }
.evaluation-sensitivity { font-size:13px; color:#506156; border-top:1px solid #d9e5db; padding-top:14px; margin:18px 0 0!important; }
.evaluation-intro { font-size:14px; color:#536459; }
.evaluation-factor-group { margin-top:16px; }
.evaluation-factor-group h3 { color:#345843; font-size:14px; margin-bottom:7px; }
.evaluation-factor-item { border-top:1px solid #dde8e0; }
.evaluation-factor-item:last-child { border-bottom:1px solid #dde8e0; }
.evaluation-factor-item > summary { display:flex; align-items:center; justify-content:space-between; gap:12px; cursor:pointer; padding:12px 0; font-weight:600; font-size:14px; list-style:none; }
.evaluation-factor-item > summary::-webkit-details-marker { display:none; }
.evaluation-factor-item > summary::before { content:'+'; color:#557b61; font-size:18px; }
.evaluation-factor-item[open] > summary::before { content:'−'; }
.evaluation-factor-item > summary span:first-child { flex:1; }
.evaluation-factor-effect { color:#65736a; font-size:12px; font-weight:400; text-align:right; }
.evaluation-factor-body { background:#f8faf8; border-radius:10px; padding:10px 16px; margin-bottom:10px; }
.evaluation-factor-body p { font-size:13px; line-height:1.6!important; margin:7px 0!important; }
.evaluation-compact .evaluation-expand { padding:16px 22px!important; }
.evaluation-compact .evaluation-expand > summary { font-size:16px; }
.evaluation-checklist { padding-left:20px; }
.evaluation-checklist li { margin:8px 0; }
.evaluation-checklist li span { display:block; font-size:13px; color:#59665e; }
.evaluation-compact .evaluation-market-grid { margin:12px 0; }
.evaluation-financial-heading { margin-top:10px; }
.evaluation-compact .financial-snapshot { margin-top:10px; }
@media(max-width:800px) { .evaluation-steps,.evaluation-next-grid { grid-template-columns:1fr; } }
@media(max-width:640px) { .evaluation-compact .evaluation-heading { display:block; } .evaluation-report-date { display:block; margin-top:8px; } .evaluation-compact .evaluation-price { padding:20px; } .evaluation-compact .financial-table-section { padding:18px; } .evaluation-compact .evaluation-expand { padding:15px!important; } .evaluation-compact .financial-snapshot > div { grid-template-columns:minmax(0,1fr) auto; } }

/* Compact financial review: quick navigation, short rows, details on demand. */
.financial-review-workspace { gap:16px; padding-top:26px; }
.financial-review-layout { display:grid; grid-template-areas:"main docs"; grid-template-columns:minmax(0,1fr) 56px; align-items:start; gap:16px; min-width:0; }
.financial-review-layout[data-open="true"] { grid-template-areas:"main resize docs"; grid-template-columns:minmax(0,1fr) 16px var(--document-panel-width,370px); gap:8px; }
.financial-document-resizer { display:none; }
.financial-review-layout[data-open="true"] .financial-document-resizer { display:flex; grid-area:resize; align-items:center; justify-content:center; position:sticky; top:16px; height:calc(100vh - 48px); min-height:180px; cursor:col-resize; touch-action:none; color:#547661; border-radius:8px; background:#edf4ed; }
.financial-document-resizer:hover, .financial-document-resizer:focus-visible { background:#d5e6d9; outline:2px solid #547661; outline-offset:1px; }
.financial-review-layout[data-resizing="true"], .financial-review-layout[data-resizing="true"] * { cursor:col-resize!important; user-select:none!important; }
.financial-review-layout[data-resizing="true"] iframe { pointer-events:none; }
.financial-review-main { grid-area:main; display:grid; gap:16px; min-width:0; }
.financial-document-panel { grid-area:docs; position:sticky; top:16px; overflow:hidden; min-width:0; border:1px solid #d9e5db; border-radius:14px; background:#fff; box-shadow:0 8px 30px #153b2410; }
.financial-review-workspace .financial-document-toggle { display:flex; align-items:center; justify-content:center; flex-direction:column; gap:12px; width:100%; min-height:180px; padding:14px 8px; border:0; border-radius:0; background:#edf4ed; color:#214f3d; font-size:13px; font-weight:600; }
.financial-document-toggle span:nth-child(2) { writing-mode:vertical-rl; }
.financial-document-icon { font-size:22px; line-height:1; }
.financial-document-chevron { font-size:24px; line-height:1; }
.financial-review-layout[data-open="true"] .financial-document-toggle { flex-direction:row; justify-content:space-between; min-height:0; padding:13px 16px; }
.financial-review-layout[data-open="true"] .financial-document-toggle span:nth-child(2) { writing-mode:horizontal-tb; margin-right:auto; }
.financial-review-layout[data-open="true"] .financial-document-chevron { transform:rotate(180deg); }
.financial-document-content { padding:14px; max-height:calc(100vh - 90px); overflow:auto; }
.financial-document-content[hidden], .financial-document-viewer [hidden] { display:none!important; }
.financial-document-intro { margin:0 0 10px; color:#5e7064; font-size:12px; }
.financial-document-list { display:grid; gap:5px; max-height:150px; overflow:auto; padding-right:3px; margin-bottom:12px; }
.financial-review-workspace .financial-document-item { display:grid; justify-items:start; gap:2px; width:100%; min-height:0; padding:9px 11px; border:1px solid #dce7df; border-radius:8px; background:#fff; color:#2c4b36; text-align:left; line-height:1.35; }
.financial-review-workspace .financial-document-item:hover, .financial-review-workspace .financial-document-item[aria-pressed="true"] { border-color:#84ab8f; background:#eef6ef; }
.financial-document-item strong { max-width:100%; overflow-wrap:anywhere; font-size:12px; }
.financial-document-item small { font-size:11px; }
.financial-document-viewer { border:1px solid #d9e5db; border-radius:9px; background:#f7f9f7; overflow:hidden; }
.financial-document-placeholder { display:grid; place-items:center; min-height:210px; margin:0; padding:20px; text-align:center; color:#617267; font-size:13px; }
.financial-document-viewer iframe { display:block; width:100%; height:min(56vh,590px); min-height:340px; border:0; background:#fff; }
.financial-document-selected { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:9px 11px; border-top:1px solid #d9e5db; background:#fff; font-size:11px; }
.financial-document-selected span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.financial-document-selected a { flex:none; }
.financial-document-empty { margin:0; padding:14px 0; font-size:13px; }
.financial-review-workspace .financial-review-heading { display:flex; align-items:end; justify-content:space-between; gap:18px; }
.financial-review-heading h1 { margin:4px 0 6px; font-size:clamp(28px,3.5vw,39px); }
.financial-review-heading .financial-lead { margin:0; }
.financial-review-heading .valuation-button { white-space:nowrap; min-height:44px; }
.financial-review-nav { position:sticky; top:0; z-index:8; display:flex; gap:8px; overflow-x:auto; padding:9px 0; background:var(--bg,#f7fbf7); border-bottom:1px solid #d9e5db; scrollbar-width:thin; }
.financial-review-nav a { flex:none; padding:8px 12px; border-radius:20px; background:#fff; border:1px solid #d9e5db; font-size:13px; text-decoration:none; }
.financial-review-workspace [id] { scroll-margin-top:75px; }
.financial-review-hint { display:flex; align-items:center; gap:10px 16px; flex-wrap:wrap; border-radius:12px; padding:13px 17px; background:#edf4ed; font-size:13px; color:#3b5543; }
.financial-review-hint strong { color:#214f3d; }
.financial-review-hint details { margin-left:auto; }
.financial-review-hint summary { font-size:13px; }
.financial-review-hint p { margin:9px 0 0; max-width:780px; }
.financial-issues-link { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:8px; background:#fff7e9; border:1px solid #e6d4b2; border-radius:10px; padding:12px 16px; font-size:13px; text-decoration:none; }
.financial-review-workspace .financial-review-sources { padding:17px 20px; }
.financial-review-sources > summary { display:flex; justify-content:space-between; align-items:center; gap:8px; font-size:16px; }
.financial-review-sources > summary span { display:inline-block; white-space:nowrap; }
.financial-review-sources > p { font-size:13px; margin:10px 0; }
.financial-review-workspace .financial-source-card { margin:0; padding:0; border-top:1px solid #dce7de; }
.financial-source-card > summary { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:5px 15px; padding:11px 0; font-size:14px; list-style:none; }
.financial-source-card > summary::-webkit-details-marker { display:none; }
.financial-source-card > summary::before { content:'+'; color:#4d7659; font-size:18px; }
.financial-source-card[open] > summary::before { content:'−'; }
.financial-source-card > summary span { flex:1; min-width:130px; overflow-wrap:anywhere; }
.financial-source-card > summary small { color:#56685d; }
.financial-source-card > p { margin:0 0 12px; font-size:13px; }
.financial-review-form { gap:16px; }
.financial-review-workspace .financial-review-table-section { padding:18px 20px; }
.financial-table-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap; }
.financial-table-heading h2 { margin:0; }
.financial-review-workspace .financial-rows-toggle { min-height:36px; padding:7px 10px; color:#215640; background:#edf4ed; font-size:12px; }
.financial-review-workspace .financial-table-intro { margin:8px 0 0; color:#647268; font-size:13px; line-height:1.45; }
.financial-review-scroll { margin:13px 0 5px; }
.financial-review-scroll .financial-spread th,
.financial-review-scroll .financial-spread td { padding:10px 12px; min-width:210px; max-width:275px; }
.financial-review-scroll .financial-spread th:first-child { min-width:195px; max-width:225px; }
.financial-review-scroll .financial-spread thead th { font-size:13px; }
.financial-review-scroll .financial-spread thead span { margin-top:3px; font-size:11px; }
.financial-review-scroll .financial-spread tbody th { font-size:13px; line-height:1.4; }
.financial-review-scroll .financial-spread td input[data-financial-value] { min-height:38px; padding:7px 10px; font-size:15px; }
.financial-review-scroll .financial-spread details { margin-top:5px; }
.financial-review-scroll .financial-spread details > summary { color:#426d50; font-size:11px; line-height:1.4; }
.financial-review-scroll .financial-spread tbody[data-view="key"] tr[data-secondary="true"]:not([data-attention="true"]) { display:none; }
.financial-review-scroll .financial-value-status { display:none; }
.financial-review-scroll .financial-value-status:not(:empty) { color:#557b61; font-size:11px; }
.financial-review-scroll td:not(.financial-cell-warning) .financial-value-status:not(:empty) { display:block; margin-top:3px; }
.financial-review-scroll .financial-calculation-warning { margin-top:5px; }
.financial-review-workspace .financial-table-section > .field-hint { margin:6px 0 0; }
.financial-review-submit { padding:20px 24px; }
.financial-review-submit h2 { margin-bottom:5px; }
.financial-review-submit p { margin:0; font-size:13px; }
.financial-review-submit .financial-actions { margin-top:16px; }
@media(max-width:980px) {
 .financial-review-layout[data-open="true"] .financial-document-resizer { display:none; }
 .financial-review-layout, .financial-review-layout[data-open="true"] { grid-template-areas:"docs" "main"; grid-template-columns:minmax(0,1fr); }
 .financial-document-panel { position:static; }
 .financial-review-workspace .financial-document-toggle, .financial-review-layout[data-open="true"] .financial-document-toggle { flex-direction:row; justify-content:flex-start; min-height:0; padding:11px 15px; }
 .financial-document-toggle span:nth-child(2), .financial-review-layout[data-open="true"] .financial-document-toggle span:nth-child(2) { writing-mode:horizontal-tb; margin-right:auto; }
 .financial-document-content { max-height:none; }
 .financial-document-viewer iframe { height:50vh; }
}
@media(max-width:640px) {
 .financial-review-workspace { gap:14px; }
 .financial-review-workspace .financial-review-heading { display:block; }
 .financial-review-heading .valuation-button { margin-top:12px; width:100%; justify-content:center; }
 .financial-review-hint details { margin-left:0; width:100%; }
 .financial-review-workspace .financial-review-table-section { padding:14px; }
 .financial-review-scroll .financial-spread th:first-child { min-width:125px; max-width:125px; padding:9px; font-size:11px; }
 .financial-review-scroll .financial-spread td { min-width:195px; padding:9px; }
 .financial-review-scroll .financial-spread thead th { white-space:normal; }
 .financial-review-workspace .financial-review-sources { padding:14px; }
 .financial-source-card > summary small { width:100%; padding-left:24px; }
}

/* Admin evaluation model editor */
.evaluation-model-admin { margin-top:32px; }
.evaluation-model-admin .admin-main { display:grid; gap:20px; }
.evaluation-model-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; }
.evaluation-model-heading h1 { font:600 clamp(30px,4vw,42px)/1.15 "Playfair Display",serif; color:#1d3828; margin:5px 0 8px; }
.evaluation-model-heading p:not(.valuation-eyebrow) { color:#586a5e; line-height:1.6; }
.evaluation-model-revision { flex:none; border-radius:30px; background:#eaf3eb; color:#27563b; padding:9px 13px; font-size:13px; font-weight:600; }
.evaluation-model-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.evaluation-model-summary article, .evaluation-model-explainer, .evaluation-model-fixed, .evaluation-model-history { border:1px solid #d9e5db; background:#fff; border-radius:14px; padding:20px; }
.evaluation-model-summary article { display:grid; align-content:start; gap:5px; }
.evaluation-model-summary span { color:#607064; font-size:12px; }
.evaluation-model-summary strong { color:#234b34; font-size:23px; }
.evaluation-model-summary small { color:#647267; line-height:1.5; }
.evaluation-model-admin h2 { font-size:19px; color:#253e2e; margin-bottom:8px; }
.evaluation-model-explainer ol { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px 22px; padding-left:23px; margin:16px 0; }
.evaluation-model-explainer li { padding-left:4px; line-height:1.55; font-size:13px; }
.evaluation-model-explainer p, .evaluation-model-fixed p, .evaluation-model-history p { color:#586a5e; font-size:13px; line-height:1.6; }
.evaluation-model-form { display:grid; gap:12px; }
.evaluation-model-section-head { display:flex; justify-content:space-between; align-items:end; gap:12px; margin-top:5px; }
.evaluation-model-section-head p { color:#647267; font-size:13px; }
.evaluation-model-section-head a { color:#215640; font-size:13px; }
.evaluation-model-group { border:1px solid #d7e4d9; background:#fff; border-radius:13px; overflow:hidden; }
.evaluation-model-group > summary { display:flex; justify-content:space-between; align-items:center; gap:12px; cursor:pointer; padding:15px 18px; color:#244b34; font-size:15px; font-weight:600; list-style:none; }
.evaluation-model-group > summary::-webkit-details-marker { display:none; }
.evaluation-model-group > summary::before { content:'+'; font-size:19px; font-weight:400; }
.evaluation-model-group[open] > summary::before { content:'−'; }
.evaluation-model-group > summary span { flex:1; }
.evaluation-model-group > summary small { color:#66796b; font-size:12px; font-weight:400; }
.evaluation-model-group-body { border-top:1px solid #e0e9e1; padding:18px; }
.evaluation-model-group-body > p { margin:0 0 16px; color:#647267; font-size:13px; line-height:1.55; }
.evaluation-model-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.evaluation-model-field { display:grid; align-content:start; gap:6px; padding:14px; border:1px solid #e2ebe3; border-radius:9px; min-width:0; }
.evaluation-model-field label { color:#2b4433; font-size:13px; font-weight:600; }
.evaluation-model-input { display:flex; align-items:center; gap:8px; }
.evaluation-model-input input { width:100%; min-width:0; height:42px; border:1px solid #cbdace; border-radius:7px; padding:8px 10px; background:#fff; color:#223b2a; font:inherit; font-size:15px; font-variant-numeric:tabular-nums; }
.evaluation-model-input span { min-width:38px; color:#52675a; font-size:13px; }
.evaluation-model-field small { color:#607166; font-size:11px; line-height:1.5; }
.evaluation-model-field > :is(input:not([type=checkbox]),select,textarea) { width:100%; min-width:0; padding:10px; border:1px solid #cbdace; border-radius:7px; background:white; color:#223b2a; font:inherit; font-size:15px; }
.evaluation-model-field > input[type=checkbox] { width:20px; height:20px; }
.evaluation-model-field .errorlist, #valuation-basis .errorlist { color:#9b2630; padding-left:18px; font-size:12px; }
.evaluation-model-fixed > ul { margin:14px 0; padding-left:20px; font-size:13px; line-height:1.7; }
.evaluation-model-fixed > details > summary { cursor:pointer; color:#244b34; padding:12px 0; font-weight:600; }
.evaluation-model-error { display:block; color:#9b2630; font-size:12px; }
.evaluation-model-save { display:flex; justify-content:space-between; align-items:end; gap:18px; padding:20px; border:1px solid #bed6c2; border-radius:13px; background:#edf5ee; }
.evaluation-model-save > div { flex:1; }
.evaluation-model-save p { margin-bottom:15px; color:#5d6f63; font-size:13px; }
.evaluation-model-save label { display:block; margin-bottom:6px; color:#294634; font-size:13px; font-weight:600; }
.evaluation-model-save textarea { display:block; width:100%; min-height:72px; border:1px solid #c5d8c8; border-radius:8px; padding:10px; font:inherit; font-size:14px; resize:vertical; }
.evaluation-model-save button { flex:none; min-height:44px; border:0; border-radius:8px; cursor:pointer; }
.evaluation-model-history ol { margin:10px 0 0; padding-left:21px; }
.evaluation-model-history li { margin:8px 0; font-size:13px; }
.evaluation-model-history li p { margin:4px 0 0; }
.evaluation-model-admin :is(input,textarea,button,summary,a):focus-visible { outline:3px solid #4e865e; outline-offset:3px; }
@media(max-width:760px) {
 .evaluation-model-heading, .evaluation-model-section-head, .evaluation-model-save { align-items:stretch; flex-direction:column; }
 .evaluation-model-revision { align-self:start; }
 .evaluation-model-summary, .evaluation-model-explainer ol, .evaluation-model-fields { grid-template-columns:minmax(0,1fr); }
 .evaluation-model-save button { width:100%; }
}
@media(max-width:700px) {
 .evaluation-model-admin .admin-sidebar { display:flex; overflow-x:auto; gap:6px; }
 .evaluation-model-admin .admin-nav-link { flex:none; white-space:nowrap; }
}

/* Simple model administration: catalog, shared rules, and engine-backed scenarios. */
.model-tabs { display:flex; flex-wrap:wrap; gap:6px; margin:20px 0; border-bottom:1px solid #d9e4dc; padding-bottom:10px; }
.model-tabs a { padding:10px 14px; border-radius:8px; color:#375842; text-decoration:none; font-size:14px; }
.model-tabs a[aria-current] { background:#254f39; color:#fff; }
.model-formula { display:flex; flex-wrap:wrap; align-items:center; gap:12px; background:#f0f5f1; border:1px solid #dbe7de; border-radius:12px; padding:17px; color:#34513e; font-size:13px; }
.model-help { margin:16px 0; color:#52675a; font-size:13px; }
.model-help > summary { cursor:pointer; padding:10px 0; color:#254f39; font-weight:600; }
.model-help p { line-height:1.6; }
.model-help .evaluation-model-group { margin:10px 0; }
.model-search { display:flex; align-items:end; gap:12px; margin:20px 0; }
.model-search label { display:grid; gap:6px; font-size:12px; font-weight:600; }
.model-search label:first-of-type { flex:1; }
.model-search input, .model-search select, .evaluation-model-input select { width:100%; min-width:0; padding:11px; border:1px solid #cbdace; border-radius:7px; background:white; color:#223b2a; font:inherit; }
.model-catalog { border:1px solid #dbe5de; border-radius:10px; overflow:hidden; }
.model-catalog-row { display:flex; align-items:center; gap:16px; padding:16px; text-decoration:none; color:#284b35; background:#fff; border-bottom:1px solid #e6ede8; }
.model-catalog-row:last-child { border-bottom:0; }
.model-catalog-row:hover { background:#f2f7f3; }
.model-catalog-row > div:first-child { flex:1; min-width:0; }
.model-catalog-row strong, .model-catalog-row small { display:block; }
.model-catalog-row small { margin-top:5px; color:#627166; font-size:12px; overflow-wrap:anywhere; }
.model-catalog-value { text-align:right; }
.model-catalog-value strong { font-size:22px; }
.model-pagination { display:flex; justify-content:space-between; gap:12px; margin:15px 0; font-size:13px; }
.model-editor { scroll-margin-top:30px; margin-top:22px; }
.model-fieldset { border:0; padding:0; margin:10px 0; min-width:0; }
.model-fieldset legend { font-size:15px; font-weight:600; color:#284b35; margin-bottom:12px; }
.model-preview-result { border:1px solid #b9d3c1; background:#f6faf7; }
.model-preview-result h2 { font-variant-numeric:tabular-nums; }
.evaluation-model-admin .valuation-button { border:0; cursor:pointer; min-height:44px; }
.evaluation-model-admin .evaluation-model-history { overflow-wrap:anywhere; }
@media(max-width:700px) {
 .model-tabs { display:grid; grid-template-columns:1fr 1fr; }
 .model-search { align-items:stretch; flex-direction:column; }
 .model-catalog-row { gap:9px; align-items:flex-start; }
 .model-catalog-value { max-width:110px; }
 .model-formula { flex-direction:column; align-items:flex-start; gap:6px; }
 .model-formula span { display:none; }
}

/* Analytics status and date controls. */
.analytics-quality {
  display: grid;
  gap: 14px;
}
.analytics-quality details {
  color: var(--muted);
}
.analytics-quality summary {
  cursor: pointer;
}
.analytics-quality details p {
  margin-top: 10px;
}
.analytics-reporting {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 18px;
}
.analytics-reporting label {
  display: grid;
  gap: 6px;
  min-width: 200px;
}
.analytics-reporting span {
  flex: 1;
  min-width: 220px;
  color: var(--muted);
}
.admin-dashboard > .section-header {
  display: block;
}
.admin-dashboard > .section-header p {
  margin-top: 10px;
}

.analytics-reporting select {
  padding: 10px 14px;
  border: 1px solid #d8e1dc;
  border-radius: 12px;
  background: #fff;
  font: inherit;
}

/* Review the uploaded return directly; valuation categories remain private. */
.financial-tax-return { margin-top:24px; padding-top:18px; border-top:1px solid #dce7de; }
.financial-tax-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.financial-tax-heading h3 { margin:0; font-size:16px; overflow-wrap:anywhere; }
.financial-tax-heading p { margin:5px 0; color:#647268; font-size:13px; }
.financial-tax-heading button { flex:none; }
.financial-tax-progress { color:#285640; font-size:13px; font-weight:600; }
.financial-tax-lines { min-width:600px; }
.financial-tax-lines th:first-child { min-width:240px; width:48%; white-space:normal; }
.financial-tax-lines td { min-width:160px; }
.financial-tax-line-number { display:block; margin-bottom:4px; color:#547661; font-size:12px; font-weight:500; }
.financial-tax-lines th small { display:block; color:#647268; font-size:11px; font-weight:400; margin-top:4px; }
@media(max-width:640px) { .financial-tax-heading { align-items:start; flex-direction:column; } .financial-tax-lines th:first-child { min-width:200px; } }

/* Focused documents and company-details intake. */
.details-intake { width:min(980px,100%); margin:0 auto; padding:24px 0 48px; }
.details-intake-heading { margin-bottom:18px; }
.details-intake-heading h1 { margin:4px 0 7px; font:600 clamp(28px,4vw,40px)/1.2 "Playfair Display",serif; }
.details-intake-heading > p:last-child { margin:0; color:#607066; }
.details-intake-form { display:grid; gap:14px; }
.details-card { margin:0; padding:22px; border:1px solid #d6e3d9; border-radius:18px; background:#fff; box-shadow:0 8px 28px #173b2410; }
.details-section-heading { display:flex; gap:12px; align-items:flex-start; margin-bottom:18px; }
.details-section-heading > span, .details-operations summary b { display:grid; place-items:center; flex:0 0 27px; width:27px; height:27px; border-radius:50%; background:#214f3d; color:#fff; font-size:13px; }
.details-section-heading h2 { margin:0; font-size:20px; }
.details-section-heading p { margin:4px 0 0; color:#647268; font-size:13px; }
.details-section-heading h2 small { color:#647268; font:500 12px "Space Grotesk",sans-serif; }
.details-field-grid { display:grid; grid-template-columns:1fr 1.4fr 1fr; gap:14px; }
.details-intake .valuation-field { display:grid; align-content:start; gap:7px; }
.details-intake .valuation-field label { color:#2c4837; font-size:13px; font-weight:600; }
.details-intake .valuation-field label span { color:#718078; font-weight:400; }
.details-intake :is(input:not([type=file]),select) { width:100%; min-height:44px; padding:10px 12px; border:1px solid #c8d8cc; border-radius:9px; background:#fff; color:#23392c; font:inherit; font-size:15px; }
.details-intake :is(input,select,button,summary):focus-visible { outline:3px solid #57906a; outline-offset:2px; }
.address-validation-status { margin:0; color:#8a5b20; font-size:12px; }
.address-validation-status.is-valid { color:#21713d; }
.address-validation-status.is-valid::before { content:'✓ '; font-weight:700; }
.address-lookup-field { position:relative; }
.address-suggestions { position:absolute; z-index:30; top:72px; left:0; right:0; overflow:auto; max-height:220px; padding:5px; border:1px solid #b9ccbe; border-radius:10px; background:#fff; box-shadow:0 14px 35px #153b2430; }
.address-suggestions[hidden] { display:none; }
.address-suggestions button { display:block; width:100%; padding:10px 11px; border:0; border-radius:7px; background:#fff; color:#284736; font:inherit; font-size:13px; text-align:left; cursor:pointer; }
.address-suggestions button:hover, .address-suggestions button:focus-visible { background:#edf5ef; }
.details-intake input.gm-err-autocomplete { background-image:none!important; }
.details-dropzone { display:grid; justify-items:center; gap:5px; padding:28px 18px; border:2px dashed #9cb9a4; border-radius:14px; background:#f4f9f5; color:#31543f; text-align:center; cursor:pointer; transition:.15s ease; }
.details-dropzone:hover, .details-dropzone.is-dragging { border-color:#285b40; background:#eaf4ec; transform:translateY(-1px); }
.details-dropzone input { position:absolute; inline-size:1px; block-size:1px; opacity:0; pointer-events:none; }
.details-dropzone-icon { font-size:25px; line-height:1; }
.details-dropzone > span:not(.details-dropzone-icon) { font-size:13px; }
.details-dropzone small { color:#718078; font-size:11px; }
.details-dropzone-secondary { background:#f8faf8; }
.details-selected-files, .details-existing-files { display:grid; gap:7px; margin-top:12px; }
.details-existing-files h3 { margin:5px 0 0; font-size:13px; }
.details-file-row { display:flex; align-items:center; justify-content:space-between; gap:12px; min-width:0; padding:9px 11px; border:1px solid #dae5dc; border-radius:9px; background:#fafcfb; font-size:13px; overflow-wrap:anywhere; }
.details-file-row button, .details-photo button { min-height:0; padding:5px 8px; border:0; background:transparent; color:#a12b2b; font:inherit; font-size:12px; cursor:pointer; }
.details-photo-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:9px; margin-top:12px; }
.details-photo { position:relative; overflow:hidden; min-height:105px; border-radius:10px; background:#edf2ee; }
.details-photo img { width:100%; height:105px; object-fit:cover; }
.details-photo button { position:absolute; right:5px; bottom:5px; border-radius:6px; background:#fff; }
.details-operations { padding:0; }
.details-operations > summary { padding:18px 22px; cursor:pointer; list-style:none; }
.details-operations > summary::-webkit-details-marker { display:none; }
.details-operations > summary > span { display:grid; grid-template-columns:27px auto 1fr; gap:12px; align-items:center; }
.details-operations summary small { justify-self:end; color:#68776e; font-weight:400; }
.details-operations-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:0 22px 22px; border-top:1px solid #e0e8e2; padding-top:18px; }
.details-actions { display:flex; justify-content:flex-end; padding-top:2px; }
@media(max-width:760px) { .details-field-grid { grid-template-columns:1fr; } .details-photo-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:560px) { .details-intake { padding-top:18px; } .details-card { padding:17px; } .details-operations-grid { grid-template-columns:1fr; padding:0 17px 17px; } .details-operations > summary { padding:17px; } .details-operations > summary > span { grid-template-columns:27px 1fr; } .details-operations summary small { grid-column:2; justify-self:start; } .details-actions button { width:100%; } }
