﻿:root {
  --navy: #061640;
  --navy-2: #0f255e;
  --text: #25365f;
  --muted: #647196;
  --border: #dfe7f3;
  --surface: #ffffff;
  --soft: #f6f9ff;
  --teal: #00a8b5;
  --blue: #0a6cff;
  --purple: #7823ff;
  --orange: #ff8a1f;
  --gradient: linear-gradient(90deg, var(--teal), var(--blue) 48%, var(--purple));
  --shadow: 0 18px 55px rgba(8, 26, 71, 0.08);
  --shadow-strong: 0 28px 80px rgba(8, 26, 71, 0.13);
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  color: var(--navy);
  background: #ffffff;
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}

h1,
h2,
h3,
.brand-copy strong,
.button,
.nav-link,
.step-pill,
.profile-form label,
.mode-select select {
  font-family: "Sora", "Inter", "Segoe UI", Arial, sans-serif;
}

img {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input {
  font: inherit;
}

.container {
  width: min(100% - 64px, 1140px);
  margin-inline: auto;
}

/* Header */
.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  background: rgba(248, 251, 255, 0.74);
  border-bottom: 1px solid rgba(224, 232, 246, 0.58);
  backdrop-filter: blur(20px);
}

.header-layout {
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 32px;
}

.brand,
.footer-logo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.brand img,
.footer-logo img {
  width: 45px;
  height: 30px;
  object-fit: contain;
}

.brand-copy {
  display: grid;
  gap: 0;
  line-height: 1;
}

.brand-copy strong {
  color: var(--navy);
  font-size: 24px;
  font-weight: 500;
  letter-spacing: 0.015em;
}

.brand-copy small {
  color: var(--purple);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.06em;
}

.brand-copy small::before,
.brand-copy small::after {
  content: "";
  display: inline-block;
  width: 24px;
  height: 2px;
  margin: 0 6px 3px 0;
  border-radius: 99px;
  background: var(--teal);
}

.brand-copy small::after {
  margin: 0 0 3px 6px;
  background: var(--purple);
}

.site-nav > ul,
.dropdown-menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.site-nav > ul {
  display: flex;
  align-items: center;
  gap: clamp(22px, 3vw, 44px);
}

.nav-item {
  position: relative;
}

.nav-link {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: -0.01em;
  white-space: nowrap;
}

.nav-link i {
  font-size: 11px;
  transition: transform 180ms ease;
}

.nav-link:hover,
.language-switcher:hover {
  color: var(--purple);
}

.has-menu:hover .nav-link i,
.has-menu.open .nav-link i {
  transform: rotate(180deg);
}

.dropdown-menu {
  position: absolute;
  top: calc(100% + 16px);
  left: 0;
  min-width: 210px;
  padding: 10px;
  border: 1px solid #eef2f8;
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: 180ms ease;
}

.has-menu:hover .dropdown-menu,
.has-menu.open .dropdown-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.dropdown-menu a {
  display: block;
  border-radius: 6px;
  padding: 10px 12px;
  color: var(--text);
  font-size: 14px;
  font-weight: 700;
}

.dropdown-menu a:hover {
  background: var(--soft);
  color: var(--purple);
}

.header-actions,
.language-switcher {
  display: flex;
  align-items: center;
}

.header-actions {
  gap: 18px;
}

.language-control {
  position: relative;
}

.language-switcher,
.menu-button {
  border: 0;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
}

.language-switcher {
  gap: 8px;
  font-size: 13px;
  font-weight: 700;
  white-space: nowrap;
  transition: color 180ms ease;
}

.language-switcher .fa-chevron-down {
  font-size: 10px;
  transition: transform 180ms ease;
}

.language-control.open .language-switcher .fa-chevron-down {
  transform: rotate(180deg);
}

.language-menu {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  z-index: 24;
  width: 240px;
  padding: 8px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: #ffffff;
  box-shadow: var(--shadow-strong);
  opacity: 0;
  visibility: hidden;
  transform: translateY(7px);
  transition: 160ms ease;
}

.language-control.open .language-menu {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.language-menu button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 12px;
  border: 0;
  border-radius: 8px;
  color: var(--navy);
  background: var(--soft);
  cursor: pointer;
  text-align: left;
}

.language-menu button span {
  display: grid;
  line-height: 1.25;
}

.language-menu button strong {
  font-size: 14px;
}

.language-menu button small,
.language-menu p {
  color: var(--muted);
  font-size: 11px;
}

.language-menu button i {
  color: var(--teal);
}

.language-menu p {
  margin: 8px 6px 2px;
}

.mobile-menu-backdrop {
  display: none;
}

.menu-button {
  display: none;
  width: 38px;
  height: 38px;
  border: 1px solid var(--border);
  border-radius: 8px;
  place-items: center;
  background: rgba(255, 255, 255, 0.64);
}

/* Hero */
.hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 10% 4%, rgba(0, 168, 181, 0.06), transparent 30%),
    radial-gradient(circle at 78% 12%, rgba(120, 35, 255, 0.08), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 62%);
  padding: 26px 0 32px;
}

.hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(380px, 0.88fr);
  gap: clamp(42px, 5vw, 78px);
  align-items: start;
}

.hero-copy {
  position: relative;
}

.hero-copy::before {
  content: "";
  position: absolute;
  width: 190px;
  height: 190px;
  left: -90px;
  top: 80px;
  border-radius: 50%;
  background: rgba(0, 168, 181, 0.08);
  filter: blur(20px);
  pointer-events: none;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin: 10px 0 20px;
  padding: 7px 15px;
  border-radius: 999px;
  color: #008f9c;
  background: rgba(0, 168, 181, 0.11);
  font-size: 13px;
  font-weight: 800;
}

.hero h1 {
  margin: 0;
  color: var(--navy);
  max-width: 680px;
  font-size: clamp(44px, 4.8vw, 60px);
  line-height: 1.06;
  font-weight: 900;
  letter-spacing: -0.055em;
}

.hero h1 span {
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-text {
  max-width: 560px;
  margin: 18px 0 28px;
  color: var(--text);
  font-size: 18px;
  line-height: 1.76;
  font-weight: 500;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  margin-bottom: 12px;
}

.button {
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border-radius: 10px;
  padding: 0 24px;
  border: 1px solid transparent;
  cursor: pointer;
  font-size: 14px;
  font-weight: 800;
  transition: transform 180ms ease, box-shadow 180ms ease, background 180ms ease;
  position: relative;
  overflow: hidden;
}

.button:hover {
  transform: translateY(-3px);
}

.button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255, 255, 255, 0.26) 38%, transparent 70%);
  transform: translateX(-120%);
  transition: transform 420ms ease;
}

.button:hover::before {
  transform: translateX(120%);
}

.button i,
.button span {
  position: relative;
  z-index: 1;
}

.button-primary {
  color: #ffffff;
  background: var(--gradient);
  box-shadow: 0 18px 36px rgba(74, 82, 255, 0.22);
}

.button-primary:hover {
  box-shadow: 0 22px 46px rgba(74, 82, 255, 0.34);
  filter: saturate(1.12);
}

.button-secondary,
.button-outline {
  color: var(--navy);
  background: #ffffff;
  border-color: #cfd9ea;
}

.button-secondary:hover {
  color: #ffffff;
  border-color: transparent;
  background: var(--navy);
  box-shadow: 0 18px 42px rgba(7, 26, 77, 0.18);
}

.button-outline {
  color: #008f9c;
  border-color: rgba(0, 168, 181, 0.55);
  white-space: nowrap;
}

.network-visual {
  position: relative;
  margin-top: 18px;
  min-height: 250px;
  border: 1px solid rgba(226, 233, 247, 0.8);
  border-radius: 14px;
  overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.84), rgba(246, 249, 255, 0.58));
  box-shadow: 0 18px 46px rgba(8, 26, 71, 0.08);
}

.network-visual img {
  width: 100%;
  height: 250px;
  object-fit: cover;
  object-position: center;
}

.quick-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  align-items: stretch;
  margin-top: 12px;
}

.quick-stats div {
  min-width: 0;
  padding: 0 20px;
  text-align: center;
  border-right: 1px solid #dce5f5;
}

.quick-stats div:last-child {
  border-right: 0;
}

.quick-stats i {
  display: block;
  color: var(--teal);
  font-size: 27px;
  margin-bottom: 8px;
}

.quick-stats div:nth-child(2) i,
.quick-stats div:nth-child(4) i {
  color: var(--purple);
}

.quick-stats strong,
.quick-stats span {
  display: block;
}

.quick-stats strong {
  font-size: 13px;
  font-weight: 800;
}

.quick-stats span {
  color: var(--text);
  font-size: 12px;
}

/* Login card */
.login-card {
  position: relative;
  width: 100%;
  margin-top: 0;
  padding: clamp(28px, 3.6vw, 40px);
  border: 1px solid rgba(226, 232, 245, 0.9);
  border-radius: 16px;
  background:
    radial-gradient(circle at 18% 0, rgba(0, 168, 181, 0.08), transparent 30%),
    radial-gradient(circle at 92% 10%, rgba(120, 35, 255, 0.09), transparent 28%),
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, rgba(0, 168, 181, 0.38), rgba(120, 35, 255, 0.32)) border-box;
  box-shadow: var(--shadow-strong);
  overflow: hidden;
}

.login-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--gradient);
}

.login-icon {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  margin: 0 auto 18px;
  border-radius: 50%;
  color: #ffffff;
  background: var(--gradient);
  font-size: 27px;
  box-shadow: 0 18px 34px rgba(74, 82, 255, 0.22);
}

.login-card h2 {
  margin: 0 0 6px;
  text-align: center;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.045em;
}

.login-card p {
  margin: 0 auto 28px;
  max-width: 310px;
  color: #506083;
  text-align: center;
}

.login-card .login-form .form-error {
  max-width: none;
  margin: 0 0 20px;
  padding: 12px 14px;
  border: 1px solid #fecdd5;
  border-radius: 11px;
  color: #c52242;
  background: #fff0f2;
  text-align: center;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.45;
}

.login-form label {
  display: block;
  margin: 0 0 10px;
  color: var(--navy);
  font-size: 14px;
  font-weight: 700;
}

.input-field {
  position: relative;
  margin-bottom: 24px;
}

.input-field > i,
.icon-button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

.input-field > i {
  left: 17px;
  color: #68789e;
}

.input-field input {
  width: 100%;
  height: 54px;
  padding: 0 54px 0 48px;
  border: 1px solid #cbd7eb;
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.86);
  color: var(--navy);
  outline: 0;
}

.input-field input:hover {
  border-color: #aebddb;
}

.input-field input:focus {
  border-color: var(--purple);
  box-shadow: 0 0 0 4px rgba(120, 35, 255, 0.09);
}

.icon-button {
  right: 12px;
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  color: #65749b;
  cursor: pointer;
}

.forgot-link {
  display: block;
  margin: -8px 0 30px;
  color: var(--purple);
  text-align: right;
  font-size: 13px;
  font-weight: 800;
  transition: color 180ms ease;
}

.forgot-link:hover,
.register-prompt a:hover {
  color: #008f9c;
}

.login-button {
  width: 100%;
}

.divider {
  display: flex;
  align-items: center;
  gap: 20px;
  margin: 30px 0;
}

.divider span {
  height: 1px;
  flex: 1;
  background: #dfe6f2;
}

.divider em {
  color: var(--text);
  font-style: normal;
  font-weight: 600;
}

.register-prompt {
  margin-bottom: 0 !important;
}

.register-prompt a {
  color: var(--purple);
  font-weight: 800;
}

/* Feature cards */
.features {
  padding: 28px 0 24px;
}

.features h2 {
  margin: 0 0 24px;
  text-align: center;
  font-size: clamp(28px, 3.4vw, 34px);
  line-height: 1.2;
}

.features h2::after {
  content: "";
  display: block;
  width: 74px;
  height: 4px;
  margin: 9px auto 0;
  border-radius: 99px;
  background: var(--gradient);
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.feature-card {
  min-height: 232px;
  padding: 32px 24px;
  border: 1px solid #edf2f8;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: 0 16px 45px rgba(11, 32, 88, 0.06);
  text-align: center;
  position: relative;
  overflow: hidden;
  transition: transform 220ms ease, border-color 220ms ease, box-shadow 220ms ease;
}

.feature-card::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(135deg, rgba(0, 168, 181, 0.08), rgba(120, 35, 255, 0.08));
  opacity: 0;
  transition: opacity 220ms ease;
}

.feature-card:hover {
  transform: translateY(-8px);
  border-color: rgba(10, 108, 255, 0.24);
  box-shadow: 0 26px 70px rgba(8, 26, 71, 0.13);
}

.feature-card:hover::before {
  opacity: 1;
}

.feature-card > * {
  position: relative;
  z-index: 1;
}

.feature-card:hover .feature-icon {
  transform: scale(1.08) rotate(-3deg);
}

.feature-icon {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  margin: 0 auto 18px;
  border-radius: 50%;
  font-size: 31px;
  transition: transform 220ms ease;
}

.feature-icon.teal {
  color: var(--teal);
  background: rgba(0, 168, 181, 0.12);
}

.feature-icon.purple {
  color: var(--purple);
  background: rgba(120, 35, 255, 0.12);
}

.feature-icon.orange {
  color: var(--orange);
  background: rgba(255, 138, 31, 0.12);
}

.feature-card h3 {
  margin: 0 0 10px;
  font-size: 18px;
  line-height: 1.35;
}

.feature-card p {
  margin: 0;
  color: var(--text);
  font-size: 14px;
  line-height: 1.75;
}

/* Trust CTA */
.trust-strip {
  padding: 4px 0 12px;
}

.trust-card {
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 42px;
  padding: 30px 62px;
  border: 1px solid #edf2f8;
  border-radius: 11px;
  background:
    radial-gradient(circle at 12% 40%, rgba(0, 168, 181, 0.08), transparent 22%),
    linear-gradient(110deg, #f8fbff 0%, #ffffff 100%);
  box-shadow: 0 16px 45px rgba(11, 32, 88, 0.06);
}

.shield-visual {
  position: relative;
  width: 120px;
  height: 120px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: radial-gradient(circle, rgba(0, 168, 181, 0.18), transparent 64%);
}

.shield-visual::before {
  content: "";
  position: absolute;
  inset: 20px;
  clip-path: polygon(50% 0, 88% 16%, 82% 70%, 50% 96%, 18% 70%, 12% 16%);
  background: var(--teal);
}

.shield-visual i {
  position: relative;
  z-index: 1;
  font-size: 36px;
}

.trust-card span {
  color: #008f9c;
  font-size: 14px;
  font-weight: 800;
}

.trust-card h2 {
  max-width: 520px;
  margin: 8px 0 3px;
  font-size: clamp(24px, 3vw, 30px);
  line-height: 1.08;
}

.trust-card p {
  margin: 0;
  color: var(--text);
}

/* Footer */
.site-footer {
  margin-top: 0;
  color: #ffffff;
  background:
    radial-gradient(circle at 5% 0, rgba(0, 168, 181, 0.32), transparent 31%),
    radial-gradient(circle at 92% 12%, rgba(120, 35, 255, 0.18), transparent 24%),
    linear-gradient(135deg, #031a42 0%, #02122d 100%);
  width: 100%;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.55fr repeat(4, 1fr);
  gap: 56px;
  padding: 44px 0 30px;
}

.footer-brand img {
  width: 45px;
  height: 30px;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.footer-logo {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 4px;
  width: 100%;
  margin: 0 auto 18px;
  text-align: center;
}

.footer-logo img {
  width: 58px;
  height: auto;
  margin-inline: auto;
}

.footer-logo .brand-copy strong {
  color: #ffffff;
  font-size: 29px;
  font-weight: 700;
  letter-spacing: -0.035em;
  text-align: center;
}

.footer-logo .brand-copy small {
  color: #b9b7ff;
  font-size: 11px;
  text-align: center;
}

.footer-brand p {
  max-width: 310px;
  margin: 14px auto 22px;
  color: rgba(255, 255, 255, 0.85);
  font-size: 14px;
  line-height: 1.62;
}

.social-links {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 16px;
  width: fit-content;
  margin: 0 auto;
}

.social-links a {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: rgba(255, 255, 255, 0.12);
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.social-links a:hover {
  transform: translateY(-4px);
  background: var(--gradient);
  box-shadow: 0 14px 28px rgba(0, 168, 181, 0.22);
}

.footer-grid h3 {
  margin: 0 0 12px;
  color: #00d5de;
  font-size: 14px;
}

.footer-grid a {
  display: block;
  margin-bottom: 8px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  transition: color 180ms ease, transform 180ms ease;
}

.footer-grid > div:not(.footer-brand) a:hover {
  color: #ffffff;
  transform: translateX(4px);
}

.footer-brand .social-links a {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  margin: 0;
  border-radius: 50%;
  font-size: 17px;
}

.copyright {
  width: min(100% - 64px, 1140px);
  margin: 0 auto;
  padding: 20px 0 24px;
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.78);
  text-align: center;
  font-size: 13px;
}

/* Registration page */
.register-hero {
  overflow: hidden;
  background:
    radial-gradient(circle at 4% 10%, rgba(0, 168, 181, 0.08), transparent 30%),
    radial-gradient(circle at 84% 8%, rgba(120, 35, 255, 0.08), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #ffffff 72%);
  padding: 34px 0 28px;
}

.register-grid {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(520px, 1.2fr);
  gap: clamp(44px, 5vw, 80px);
  align-items: start;
}

.register-copy {
  position: relative;
  padding-top: 22px;
}

.register-copy h1 {
  margin: 0;
  color: var(--navy);
  font-size: clamp(40px, 4.7vw, 58px);
  line-height: 1.14;
  font-weight: 900;
  letter-spacing: -0.055em;
}

.register-copy h1 span {
  background: var(--gradient);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.accent-line {
  display: block;
  width: 46px;
  height: 3px;
  margin: 24px 0;
  border-radius: 99px;
  background: var(--teal);
}

.register-copy > p {
  max-width: 420px;
  margin: 0 0 32px;
  color: var(--text);
  font-size: 18px;
  line-height: 1.7;
  font-weight: 500;
}

.benefit-list {
  display: grid;
  gap: 24px;
  margin-bottom: 28px;
}

.benefit-list article {
  display: grid;
  grid-template-columns: 58px 1fr;
  gap: 18px;
  align-items: center;
}

.benefit-list article > span {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--teal);
  background: #ffffff;
  box-shadow: 0 15px 35px rgba(8, 26, 71, 0.09);
  font-size: 24px;
}

.benefit-list article:nth-child(2) > span {
  color: var(--purple);
}

.benefit-list h2 {
  margin: 0 0 4px;
  font-size: 16px;
  line-height: 1.35;
}

.benefit-list p {
  margin: 0;
  color: var(--text);
  font-size: 14px;
}

.register-map {
  max-width: 540px;
  margin-top: 10px;
  opacity: 0.62;
}

.register-map img {
  width: 100%;
  border-radius: 14px;
  mask-image: linear-gradient(180deg, #000 30%, transparent 100%);
}

.registration-card {
  position: relative;
  padding: clamp(30px, 4vw, 48px);
  border: 1px solid rgba(226, 232, 245, 0.9);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.94);
  box-shadow: var(--shadow-strong);
  overflow: hidden;
}

.registration-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--gradient);
}

.registration-card h2 {
  margin: 0 0 8px;
  text-align: center;
  font-size: clamp(28px, 3vw, 34px);
  line-height: 1.2;
  letter-spacing: -0.045em;
}

.registration-card > p {
  margin: 0 auto 28px;
  max-width: 580px;
  color: #506083;
  text-align: center;
}

.registration-form label,
.account-type legend {
  color: var(--navy);
  font-size: 14px;
  font-weight: 700;
}

.form-note {
  margin: -12px 0 22px;
  color: #65749b;
  font-size: 13px;
}

.form-two-col {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.account-type {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
  padding: 0;
  margin: 0 0 18px;
  border: 0;
}

.account-type legend {
  grid-column: 1 / -1;
  margin-bottom: 10px;
}

.type-option {
  position: relative;
  min-height: 92px;
  display: grid;
  grid-template-columns: 28px 58px 1fr;
  align-items: center;
  column-gap: 14px;
  padding: 18px;
  border: 1px solid #cbd7eb;
  border-radius: 10px;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.type-option:hover,
.type-option.selected {
  border-color: var(--teal);
  box-shadow: 0 18px 45px rgba(8, 26, 71, 0.08);
  transform: translateY(-2px);
}

.type-option input {
  position: absolute;
  opacity: 0;
}

.choice-dot {
  width: 18px;
  height: 18px;
  border: 2px solid #9fb0d0;
  border-radius: 50%;
}

.type-option.selected .choice-dot {
  border: 6px solid var(--teal);
}

.type-option i {
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: var(--teal);
  background: rgba(0, 168, 181, 0.1);
  font-size: 22px;
}

.type-option:nth-of-type(2) i {
  color: var(--purple);
  background: rgba(120, 35, 255, 0.1);
}

.type-option strong,
.type-option small {
  grid-column: 3;
}

.type-option strong {
  margin-bottom: 3px;
  font-size: 15px;
}

.type-option small {
  color: #506083;
  font-size: 13px;
}

.terms-row {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 10px 0 20px;
  color: #506083;
  font-size: 14px;
}

.terms-row input {
  accent-color: var(--teal);
  margin-top: 4px;
}

.terms-row a {
  color: var(--purple);
  font-weight: 800;
}

.register-submit {
  width: 100%;
}

.secure-note {
  margin: 14px 0 0;
  color: #506083;
  text-align: center;
  font-size: 13px;
}

.secure-note i {
  color: var(--blue);
  margin-right: 7px;
}

/* Profile completion app */
.app-body {
  background: #f8fbff;
}

.app-topbar {
  min-height: 76px;
  display: grid;
  grid-template-columns: 230px minmax(260px, 620px) auto;
  align-items: center;
  gap: 28px;
  padding: 0 34px;
  border-bottom: 1px solid #e7edf7;
  background: rgba(255, 255, 255, 0.94);
  position: sticky;
  top: 0;
  z-index: 30;
  backdrop-filter: blur(18px);
}

.app-search {
  height: 48px;
  display: grid;
  grid-template-columns: 24px 1fr 24px;
  align-items: center;
  gap: 10px;
  padding: 0 16px;
  border: 1px solid #d7e0ef;
  border-radius: 8px;
  background: #ffffff;
  color: #637194;
}

.app-search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: var(--navy);
}

.app-search > button{width:26px;height:26px;padding:0;display:grid;place-items:center;border:0;border-radius:8px;color:#6030df;background:transparent;cursor:pointer}.app-search > button:hover{background:#eee9ff}

.app-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 18px;
}

.app-actions button {
  position: relative;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--navy);
  cursor: pointer;
  font-size: 20px;
}

.app-actions button span {
  position: absolute;
  top: 0;
  right: 0;
  width: 18px;
  height: 18px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: var(--purple);
  font-size: 10px;
  font-weight: 800;
}

.user-chip {
  display: grid;
  grid-template-columns: 44px auto 14px;
  align-items: center;
  gap: 10px;
  color: var(--navy);
  text-decoration: none;
  white-space: nowrap;
}

.user-chip img {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  object-fit: cover;
}

.user-chip strong,
.user-chip small {
  display: block;
}

.user-chip strong {
  font-size: 13px;
}

.user-chip small {
  color: #617094;
  font-size: 12px;
}

.app-shell {
  display: grid;
  grid-template-columns: 250px 1fr;
  min-height: calc(100vh - 76px);
}

.app-sidebar {
  padding: 28px 18px;
  border-right: 1px solid #e7edf7;
  background:
    radial-gradient(circle at 0 0, rgba(0, 168, 181, 0.04), transparent 28%),
    #ffffff;
}

.app-sidebar nav {
  display: grid;
  gap: 12px;
}

.sidebar-section-title {
  margin: 14px 10px 4px;
  color: #8a96aa;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.sidebar-section-title:first-child {
  margin-top: 0;
}

.app-sidebar nav a {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: center;
  padding: 14px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--navy);
  font-weight: 800;
  font-size: 15px;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.app-sidebar nav a:hover,
.app-sidebar nav a.active {
  background: linear-gradient(135deg, #f7fbff, #ffffff);
  border-color: #e9eff8;
  box-shadow: 0 16px 38px rgba(8, 26, 71, 0.06);
  transform: translateX(3px);
}

.app-sidebar nav i {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--navy-2);
  background: rgba(6, 22, 64, 0.04);
  font-size: 19px;
}

.app-sidebar nav a.active i {
  color: #ffffff;
  background: var(--gradient);
}

.sidebar-group {
  border: 1px solid transparent;
  border-radius: 14px;
}

.sidebar-summary {
  display: grid;
  grid-template-columns: 42px 1fr 14px;
  gap: 14px;
  align-items: center;
  padding: 14px 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: var(--navy);
  cursor: pointer;
  font-weight: 800;
  font-size: 15px;
  list-style: none;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

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

.sidebar-summary:hover,
.sidebar-summary.active,
.sidebar-group[open] .sidebar-summary {
  background: linear-gradient(135deg, #f7fbff, #ffffff);
  border-color: #e9eff8;
  box-shadow: 0 16px 38px rgba(8, 26, 71, 0.06);
}

.sidebar-summary > i:first-child {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: var(--navy-2);
  background: rgba(6, 22, 64, 0.04);
  font-size: 19px;
}

.sidebar-summary.active > i:first-child,
.sidebar-group[open] .sidebar-summary > i:first-child {
  color: #ffffff;
  background: var(--gradient);
}

.menu-caret {
  color: #7b879d;
  font-size: 11px;
  transition: transform 180ms ease;
}

.sidebar-group[open] .menu-caret {
  transform: rotate(180deg);
}

.sidebar-submenu {
  display: grid;
  gap: 6px;
  padding: 8px 8px 4px 62px;
}

.app-sidebar nav .sidebar-submenu a {
  display: flex;
  min-height: 34px;
  padding: 8px 12px;
  border-radius: 10px;
  color: #536587;
  font-size: 13px;
  font-weight: 800;
}

.app-sidebar nav .sidebar-submenu a:hover,
.app-sidebar nav .sidebar-submenu a.active {
  color: #3f17d9;
  background: #f3efff;
  border-color: transparent;
  box-shadow: none;
  transform: none;
}

.app-sidebar small {
  display: block;
  color: #536587;
  font-size: 12px;
  font-weight: 500;
}

.post-opportunity {
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin: 28px 0 20px;
  border-radius: 8px;
  color: #ffffff;
  background: var(--gradient);
  font-weight: 800;
  box-shadow: 0 18px 36px rgba(74, 82, 255, 0.2);
}

.network-card {
  padding: 20px;
  border: 1px solid #e7edf7;
  border-radius: 12px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.network-card h3 {
  margin: 0 0 8px;
  font-size: 16px;
}

.network-card p {
  margin: 0 0 16px;
  color: var(--text);
  font-size: 13px;
}

.network-card a {
  height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid #d7e0ef;
  border-radius: 8px;
  color: var(--blue);
  font-weight: 800;
  font-size: 13px;
}

.network-card > i {
  display: block;
  margin-top: 16px;
  color: rgba(74, 82, 255, 0.28);
  text-align: center;
  font-size: 46px;
}

.profile-main {
  padding: 30px 36px 48px;
  background:
    radial-gradient(circle at 18% 0, rgba(0, 168, 181, 0.05), transparent 28%),
    radial-gradient(circle at 82% 12%, rgba(120, 35, 255, 0.05), transparent 26%),
    #f8fbff;
}

.profile-heading h1 {
  margin: 0 0 4px;
  font-size: 25px;
  letter-spacing: -0.03em;
}

.profile-heading p {
  margin: 0;
  color: var(--text);
}

.setup-progress {
  display: flex;
  align-items: center;
  gap: 18px;
  margin: 30px 0;
  overflow-x: auto;
}

.step-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 0;
  background: transparent;
  color: #607094;
  cursor: pointer;
  white-space: nowrap;
  font-weight: 800;
  font-size: 13px;
}

.step-pill span {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #e4e9f2;
  color: #5d6982;
}

.step-pill.active,
.step-pill.complete {
  color: var(--purple);
}

.step-pill.active span,
.step-pill.complete span {
  color: #ffffff;
  background: var(--purple);
}

.profile-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 250px;
  gap: 24px;
  align-items: start;
}

.profile-workspace,
.help-card {
  border: 1px solid #e4ebf6;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 15px 45px rgba(8, 26, 71, 0.04);
}

.profile-panel-title {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 26px;
  border-bottom: 1px solid #e8eef7;
}

.profile-panel-title h2 {
  margin: 0 0 4px;
  font-size: 25px;
  letter-spacing: -0.035em;
}

.profile-panel-title p {
  margin: 0;
  color: var(--text);
}

.mode-select {
  display: flex;
  align-items: center;
  gap: 12px;
  color: #667594;
  font-size: 13px;
  font-weight: 800;
  white-space: nowrap;
}

.mode-select select {
  height: 50px;
  min-width: 260px;
  border: 1px solid #d7deec;
  border-radius: 12px;
  color: var(--navy);
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, rgba(0, 168, 181, 0.18), rgba(120, 35, 255, 0.14)) border-box;
  font-weight: 800;
  font-size: 15px;
  padding: 0 18px;
  box-shadow: 0 14px 34px rgba(8, 26, 71, 0.06);
}

.profile-form {
  padding: 0 20px 20px;
}

.setup-step {
  display: none;
}

.setup-step.active {
  display: block;
}

.form-section {
  margin-top: 16px;
  padding: 22px;
  border: 1px solid #e4ebf6;
  border-radius: 14px;
  background:
    linear-gradient(#ffffff, #ffffff) padding-box,
    linear-gradient(135deg, rgba(0, 168, 181, 0.08), rgba(120, 35, 255, 0.06)) border-box;
  box-shadow: 0 15px 42px rgba(8, 26, 71, 0.04);
}

.form-section h3 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 18px;
  font-size: 15px;
}

.form-section h3 i {
  width: 26px;
  height: 26px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  color: var(--purple);
  background: rgba(120, 35, 255, 0.09);
}

.form-grid {
  display: grid;
  gap: 18px;
}

.form-grid.two {
  grid-template-columns: repeat(2, 1fr);
}

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

.profile-form label {
  display: grid;
  gap: 8px;
  color: var(--navy);
  font-size: 13px;
  font-weight: 800;
  position: relative;
}

.profile-form label:has([required])::after {
  content: "*";
  position: absolute;
  top: -3px;
  right: 0;
  width: 14px;
  height: 14px;
  display: inline-grid;
  place-items: center;
  padding: 0;
  border-radius: 50%;
  color: #ffffff;
  background: #ef4444;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.profile-form input,
.profile-form select,
.profile-form textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #d7e0ef;
  border-radius: 10px;
  color: var(--navy);
  background: #ffffff;
  padding: 0 14px;
  outline: 0;
}

.profile-form input:focus,
.profile-form select:focus,
.profile-form textarea:focus {
  border-color: rgba(120, 35, 255, 0.6);
  box-shadow: 0 0 0 4px rgba(120, 35, 255, 0.08);
}

.profile-form textarea {
  min-height: 138px;
  padding: 14px;
  resize: vertical;
}

.upload-grid {
  display: grid;
  grid-template-columns: 0.75fr 1.25fr;
  gap: 22px;
  margin: 18px 0;
}

.upload-box {
  min-height: 120px;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 6px;
  border: 1px dashed #becae0;
  border-radius: 9px;
  color: #617094;
  text-align: center;
}

.upload-box i {
  color: var(--blue);
  font-size: 22px;
}

.upload-box strong {
  color: var(--navy);
}

.upload-box span {
  font-size: 12px;
}

.settings-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 18px;
  margin-top: 14px;
}

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

.settings-grid label,
.toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 72px;
  padding: 18px 20px;
  border: 1px solid #e4ebf6;
  border-radius: 12px;
  background:
    radial-gradient(circle at 0 0, rgba(120, 35, 255, 0.05), transparent 35%),
    #ffffff;
  box-shadow: 0 14px 32px rgba(8, 26, 71, 0.04);
  font-size: 14px;
}

.profile-form input[type="checkbox"] {
  width: 24px;
  min-height: 24px;
  accent-color: var(--purple);
}

.mini-action {
  float: right;
  margin: -48px 0 12px;
  min-height: 38px;
  border: 1px solid var(--purple);
  border-radius: 8px;
  color: var(--purple);
  background: #ffffff;
  cursor: pointer;
  font-weight: 800;
  padding: 0 16px;
}

.empty-table,
.data-table {
  clear: both;
  border: 1px solid #e4ebf6;
  border-radius: 9px;
  background: #fbfdff;
}

.empty-table {
  min-height: 130px;
  display: grid;
  place-items: center;
  color: #6b7896;
  text-align: center;
}

.empty-table i {
  color: rgba(120, 35, 255, 0.24);
  font-size: 44px;
}

.marketplace-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
}

.data-table {
  display: grid;
  overflow: hidden;
}

.data-table div {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr 0.8fr;
  gap: 14px;
  padding: 14px;
  border-bottom: 1px solid #e4ebf6;
}

.data-table div:last-child {
  border-bottom: 0;
}

.data-table em {
  width: fit-content;
  padding: 4px 9px;
  border-radius: 999px;
  color: var(--purple);
  background: rgba(120, 35, 255, 0.1);
  font-size: 12px;
  font-style: normal;
  font-weight: 800;
}

.wizard-actions {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-top: 18px;
}

.wizard-actions > div {
  display: flex;
  gap: 12px;
}

.profile-help {
  display: grid;
  gap: 18px;
}

.help-card {
  padding: 22px;
  position: relative;
  overflow: hidden;
}

.help-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  background: var(--gradient);
}

.help-card h3 {
  margin: 0 0 20px;
  font-size: 18px;
  letter-spacing: -0.03em;
}

.help-card ul {
  display: grid;
  gap: 18px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.help-card li {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: start;
  color: #536587;
  font-size: 13px;
  line-height: 1.55;
  padding: 12px;
  border-radius: 12px;
  background: linear-gradient(135deg, #fbfdff, #ffffff);
  border: 1px solid #eef3fb;
}

.help-card li i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: var(--purple);
  background: rgba(120, 35, 255, 0.09);
}

.help-card strong,
.help-card span {
  display: block;
}

.help-card strong {
  color: var(--navy);
  margin-bottom: 3px;
}

.tips-list li {
  grid-template-columns: 26px 1fr;
}

.tips-list li i {
  width: 22px;
  height: 22px;
  color: #11b88a;
  background: transparent;
}

.individual-mode .business-only,
.business-mode .individual-only {
  display: none;
}

.app-footer {
  margin-left: 0;
}

/* Profile setup refinement: denser, cleaner inside-page layout */
.app-shell {
  grid-template-columns: 228px minmax(0, 1fr);
}

.app-sidebar {
  padding: 22px 14px;
}

.app-sidebar nav {
  gap: 5px;
}

.app-sidebar nav a {
  grid-template-columns: 34px 1fr;
  gap: 12px;
  padding: 10px 10px;
  border-radius: 10px;
  font-size: 14px;
}

.app-sidebar nav i {
  width: 30px;
  height: 30px;
  border-radius: 8px;
  background: transparent;
  font-size: 18px;
}

.app-sidebar nav a:hover,
.app-sidebar nav a.active {
  background: #f6f9ff;
  box-shadow: none;
  transform: none;
}

.app-sidebar small {
  font-size: 12px;
}

.post-opportunity {
  height: 42px;
  margin: 22px 0 16px;
}

.network-card {
  padding: 16px;
}

.profile-main {
  padding: 24px 26px 36px;
}

.setup-progress {
  margin: 22px 0;
}

.profile-layout {
  grid-template-columns: minmax(0, 1fr) 318px;
  gap: 18px;
}

.profile-panel-title {
  padding: 18px 20px;
}

.profile-panel-title h2 {
  font-size: 23px;
}

.mode-select {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
}

.mode-select select {
  height: 44px;
  min-width: 238px;
  border-radius: 10px;
  font-size: 14px;
  box-shadow: none;
}

.profile-form {
  padding: 0 16px 16px;
}

.form-section {
  margin-top: 12px;
  padding: 18px;
  border-radius: 11px;
  box-shadow: none;
}

.profile-form label {
  font-family: "Inter", "Segoe UI", Arial, sans-serif;
  font-size: 12px;
  letter-spacing: 0;
}

.profile-form label:has([required])::after {
  content: "*";
  position: absolute;
  top: -3px;
  right: 0;
  display: inline-grid;
  place-items: center;
  width: 14px;
  height: 14px;
  margin-left: 0;
  padding: 0;
  border-radius: 50%;
  color: #ffffff;
  background: #ef4444;
  font-family: "Inter", sans-serif;
  font-size: 11px;
  font-weight: 900;
  line-height: 1;
}

.profile-form input,
.profile-form select,
.profile-form textarea {
  min-height: 42px;
  border-radius: 8px;
}

.settings-grid {
  gap: 12px;
}

.settings-grid label,
.toggle-row {
  min-height: 54px;
  padding: 12px 14px;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: none;
  font-size: 13px;
}

.profile-form input[type="checkbox"] {
  width: 20px;
  min-height: 20px;
}

.profile-help {
  gap: 14px;
}

.help-card {
  padding: 18px;
  border-radius: 12px;
  box-shadow: none;
}

.help-card::before {
  display: none;
}

.help-card h3 {
  margin-bottom: 14px;
  font-size: 18px;
}

.help-card ul {
  gap: 10px;
}

.help-card li {
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  padding: 10px;
  border: 0;
  background: #fbfdff;
}

.help-card li i {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  font-size: 15px;
}

.help-card strong {
  margin-bottom: 2px;
  font-size: 13px;
}

.help-card span,
.tips-list li {
  font-size: 12px;
  line-height: 1.45;
}

.app-footer .container {
  width: min(100% - 56px, 1440px);
}

.app-footer .footer-grid {
  grid-template-columns: 1.35fr repeat(4, 1fr);
  gap: clamp(34px, 5vw, 76px);
  padding: 34px 0 24px;
}

.app-footer .footer-brand {
  align-items: flex-start;
  text-align: left;
}

.app-footer .footer-logo {
  flex-direction: row;
  justify-content: flex-start;
  width: auto;
  margin: 0 0 12px;
  text-align: left;
}

.app-footer .footer-logo img {
  width: 48px;
}

.app-footer .footer-logo .brand-copy strong {
  font-size: 24px;
}

.app-footer .footer-logo .brand-copy small {
  font-size: 9px;
}

.app-footer .footer-brand p {
  max-width: 330px;
  margin: 0 0 16px;
  text-align: left;
}

.app-footer .social-links {
  margin: 0;
}

/* Responsive layout */
@media (max-width: 1080px) {
  .container {
    width: min(100% - 44px, 960px);
  }

  .brand img {
    width: 42px;
    height: 28px;
  }

  .brand-copy strong {
    font-size: 22px;
  }

  .hero-grid {
    grid-template-columns: 1fr;
  }

  .login-card {
    max-width: 520px;
    margin: 10px auto 0;
  }

  .feature-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 16px;
  }

  .trust-card {
    grid-template-columns: auto 1fr;
  }

  .trust-card .button {
    grid-column: 2;
    justify-self: start;
  }

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

  .footer-brand {
    grid-column: 1 / -1;
  }

  .register-grid {
    grid-template-columns: 1fr;
  }

  .register-copy {
    max-width: 680px;
  }

  .registration-card {
    max-width: 820px;
  }

  .app-topbar {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 16px 22px;
  }

  .app-actions {
    justify-content: flex-start;
  }

  .app-shell {
    grid-template-columns: 1fr;
  }

  .app-sidebar {
    display: none;
  }

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

  .profile-help {
    grid-template-columns: repeat(2, 1fr);
  }

  .app-footer {
    margin-left: 0;
  }
}

@media (max-width: 880px) {
  .header-layout {
    min-height: 56px;
  }

  .site-nav {
    position: fixed;
    top: 56px;
    right: 0;
    width: min(86vw, 340px);
    height: calc(100vh - 56px);
    padding: 24px;
    border-left: 1px solid #edf2f8;
    background: #ffffff;
    box-shadow: -20px 0 50px rgba(7, 26, 77, 0.12);
    transform: translateX(105%);
    transition: transform 220ms ease;
    z-index: 23;
  }

  .site-nav.open {
    transform: translateX(0);
  }

  .site-nav > ul {
    align-items: stretch;
    flex-direction: column;
    gap: 10px;
  }

  .nav-link {
    width: 100%;
    justify-content: space-between;
    padding: 12px 0;
    font-size: 15px;
  }

  .dropdown-menu {
    position: static;
    display: none;
    min-width: 0;
    border: 0;
    box-shadow: none;
    opacity: 1;
    visibility: visible;
    transform: none;
    padding: 0 0 0 14px;
  }

  .has-menu.open .dropdown-menu {
    display: block;
  }

  .menu-button {
    display: grid;
  }

  .language-switcher span {
    display: none;
  }

  .language-menu {
    position: fixed;
    top: 64px;
    right: 16px;
  }

  .mobile-menu-backdrop {
    position: fixed;
    inset: 56px 0 0;
    z-index: 22;
    display: block;
    border: 0;
    background: rgba(6, 22, 64, 0.34);
    backdrop-filter: blur(2px);
  }
}

@media (max-width: 680px) {
  .container {
    width: min(100% - 28px, 560px);
  }

  .brand img {
    width: 39px;
    height: 26px;
  }

  .brand-copy strong {
    font-size: 20px;
  }

  .brand-copy small {
    font-size: 9px;
  }

  .hero {
    padding-top: 28px;
  }

  .eyebrow {
    font-size: 12px;
  }

  .hero h1 {
    font-size: 38px;
    letter-spacing: -0.04em;
  }

  .hero-text {
    font-size: 16px;
  }

  .hero-actions .button {
    width: 100%;
  }

  .network-visual {
    min-height: 196px;
  }

  .quick-stats {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px 0;
  }

  .quick-stats div:nth-child(2) {
    border-right: 0;
  }

  .feature-grid,
  .trust-card,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .trust-card {
    gap: 18px;
    padding: 28px 24px;
    text-align: center;
  }

  .trust-card .button {
    grid-column: auto;
    justify-self: stretch;
    white-space: normal;
  }

  .shield-visual {
    margin: 0 auto;
  }

  .footer-brand,
  .footer-grid {
    grid-column: auto;
  }

  .register-hero {
    padding-top: 28px;
  }

  .register-copy {
    padding-top: 0;
  }

  .register-copy h1 {
    font-size: 38px;
    letter-spacing: -0.04em;
  }

  .register-copy > p {
    font-size: 16px;
  }

  .form-two-col,
  .account-type {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .type-option {
    margin-bottom: 16px;
  }

  .profile-main {
    padding: 24px 14px 34px;
  }

  .profile-panel-title {
    flex-direction: column;
  }

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

  .mode-select select {
    width: 100%;
  }

  .form-grid.two,
  .form-grid.three,
  .upload-grid,
  .marketplace-grid,
  .settings-grid,
  .settings-grid.three,
  .profile-help {
    grid-template-columns: 1fr;
  }

  .wizard-actions,
  .wizard-actions > div {
    flex-direction: column;
  }

  .wizard-actions .button {
    width: 100%;
  }

  .data-table div {
    grid-template-columns: 1fr;
  }

  .user-chip div {
    display: none;
  }

  .copyright {
    width: min(100% - 28px, 560px);
  }
}

@media (max-width: 420px) {
  .hero h1 {
    font-size: 33px;
  }

  .login-card {
    padding: 24px 18px;
  }

  .quick-stats div {
    padding: 0 12px;
  }

  .registration-card {
    padding: 26px 18px;
  }

  .benefit-list article {
    grid-template-columns: 50px 1fr;
  }

  .benefit-list article > span {
    width: 50px;
    height: 50px;
  }

  .type-option {
    grid-template-columns: 24px 48px 1fr;
    padding: 16px 14px;
  }

  .type-option i {
    width: 46px;
    height: 46px;
  }

  .app-topbar {
    padding: 14px;
  }

  .app-actions {
    gap: 10px;
  }

  .profile-panel-title,
  .profile-form {
    padding-inline: 14px;
  }

  .form-section {
    padding: 16px 14px;
  }
}

/* Authenticated account dropdown */
.account-menu {
  position: relative;
}

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

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

.account-menu[open] .account-menu-chevron {
  transform: rotate(180deg);
}

.account-menu-chevron {
  transition: transform 0.18s ease;
}

.account-menu-panel {
  position: absolute;
  top: calc(100% + 14px);
  right: 0;
  z-index: 80;
  width: 240px;
  padding: 8px;
  border: 1px solid #e1e8f3;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: 0 18px 45px rgba(17, 38, 78, 0.16);
}

.account-menu-heading {
  padding: 10px 12px 12px;
  margin-bottom: 4px;
  border-bottom: 1px solid #edf1f7;
}

.account-menu-heading strong,
.account-menu-heading small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.account-menu-heading strong {
  color: var(--navy);
  font-size: 14px;
}

.account-menu-heading small {
  margin-top: 2px;
  color: #687695;
  font-size: 12px;
}

.account-menu-panel > a,
.account-menu-panel .account-logout {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 10px 12px;
  border: 0;
  border-radius: 7px;
  background: transparent;
  color: var(--navy);
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
}

.account-menu-panel > a:hover,
.account-menu-panel .account-logout:hover {
  background: #f4f6ff;
  color: var(--purple);
}

.account-menu-panel form {
  padding-top: 4px;
  margin-top: 4px;
  border-top: 1px solid #edf1f7;
}

.account-menu-panel .account-logout {
  color: #c73737;
}

.account-menu-panel .account-logout:hover {
  background: #fff2f2;
  color: #a91f1f;
}

.account-login-link > i:first-child {
  font-size: 36px;
  color: var(--purple);
}

/* Profile form readability and interactive media controls */
.profile-setup-v2 .setup-v2-form input:not([type="checkbox"]):not([type="file"]),
.profile-setup-v2 .setup-v2-form select,
.profile-setup-v2 .setup-v2-form textarea {
  font-family: "Outfit", sans-serif;
  font-weight: 400;
}

.profile-setup-v2 .setup-v2-form input::placeholder,
.profile-setup-v2 .setup-v2-form textarea::placeholder {
  color: #7a859c;
  font-weight: 400;
}

.profile-setup-v2 .upload-box-control {
  position: relative;
  margin: 0;
  padding: 14px;
  cursor: pointer;
  overflow: hidden;
  font-weight: 400;
}

.profile-setup-v2 .upload-box-control:hover,
.profile-setup-v2 .upload-box-control:focus-within {
  border-color: var(--purple);
  background: #faf8ff;
  box-shadow: 0 0 0 4px rgba(120, 35, 255, 0.08);
}

.profile-setup-v2 .upload-file-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  opacity: 0;
  pointer-events: none;
}

.profile-setup-v2 .upload-box-control em {
  margin-top: 2px;
  padding: 5px 10px;
  border-radius: 6px;
  color: var(--purple);
  background: #f0eaff;
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
}

.profile-setup-v2 .upload-preview {
  width: 42px;
  height: 42px;
  border-radius: 9px;
  object-fit: cover;
}

.profile-setup-v2 .upload-box-control {
  min-height: 154px;
  padding: 18px;
  gap: 7px;
  border: 1px dashed #b9c8df;
  border-radius: 14px;
  background:
    radial-gradient(circle at 100% 0, rgba(120, 35, 255, 0.07), transparent 34%),
    linear-gradient(145deg, #ffffff, #f8fbff);
}

.profile-setup-v2 .upload-box-control strong {
  color: #101c3d;
  font-size: 14px;
  font-weight: 700;
}

.profile-setup-v2 .upload-box-control > span:not(.upload-box-icon) {
  max-width: 360px;
  color: #69758e;
  font-size: 12px;
  font-weight: 400;
  line-height: 1.45;
}

.profile-setup-v2 .upload-box-icon {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border: 1px solid #dce5f4;
  border-radius: 14px;
  color: #5630d8;
  background: #f2eeff;
  box-shadow: 0 8px 20px rgba(42, 30, 105, 0.08);
}

.profile-setup-v2 .upload-box-icon i {
  color: inherit;
  font-size: 21px;
}

.profile-setup-v2 .upload-box-logo .upload-preview,
.profile-setup-v2 .upload-box-photo .upload-preview {
  width: 72px;
  height: 72px;
  border: 3px solid #ffffff;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(15, 31, 68, 0.15);
}

.profile-setup-v2 .upload-box-photo .upload-preview {
  border-radius: 50%;
}

.profile-setup-v2 .upload-box-banner .upload-preview {
  width: min(100%, 440px);
  height: 88px;
  border: 3px solid #ffffff;
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(15, 31, 68, 0.13);
}

.profile-setup-v2 .upload-box-document {
  min-height: 166px;
}

.profile-setup-v2 .upload-box-document .upload-box-icon {
  color: #007e89;
  background: #e9fafb;
}

.profile-setup-v2 .trust-upload-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.profile-setup-v2 .trust-file-note {
  margin: -3px 0 16px;
  padding: 10px 12px;
  border: 1px solid #e4eaf4;
  border-radius: 9px;
  color: #68758d;
  background: #f8fafc;
  font-size: 12px;
  line-height: 1.5;
}

.profile-setup-v2 .trust-file-note i {
  margin-right: 6px;
  color: #5630d8;
}

@media (max-width: 700px) {
  .profile-setup-v2 .upload-grid,
  .profile-setup-v2 .trust-upload-grid {
    grid-template-columns: 1fr;
  }
}

/* Keep desktop app navigation visible without a separate sidebar scrollbar. */
@media (min-width: 921px) {
  .prototype-profile-page .app-sidebar {
    position: sticky;
    top: 76px;
    height: calc(100vh - 76px);
    min-height: 0;
    align-self: start;
    overflow: hidden;
  }
}

@media (min-width: 921px) and (max-height: 850px) {
  .prototype-profile-page .app-sidebar {
    padding-block: 10px;
  }

  .prototype-profile-page .app-sidebar nav {
    gap: 1px;
  }

  .prototype-profile-page .app-sidebar nav a {
    padding: 5px 8px;
  }

  .prototype-profile-page .app-sidebar nav a small,
  .prototype-profile-page .network-card {
    display: none;
  }

  .prototype-profile-page .sidebar-section-title {
    margin-block: 7px 2px;
  }

  .prototype-profile-page .post-opportunity {
    margin-top: 8px;
  }
}

/* Profile setup v3: compact professional dashboard */
body {
  font-family: "Outfit", "Segoe UI", Arial, sans-serif;
}

body.app-body {
  color: #0b1739;
  background: #f3f6fb;
}

h1,
h2,
h3,
.brand-copy strong,
.button,
.nav-link,
.step-pill,
.profile-form label,
.mode-select select {
  font-family: "Outfit", "Segoe UI", Arial, sans-serif;
}

.app-topbar {
  min-height: 68px;
  grid-template-columns: 220px minmax(360px, 620px) 1fr;
  padding: 0 28px;
  background: #ffffff;
  box-shadow: 0 1px 0 #e7edf7;
}

.app-search {
  height: 44px;
  border-radius: 12px;
  background: #f8fafc;
}

.app-shell {
  grid-template-columns: 220px minmax(0, 1fr);
}

.app-sidebar {
  padding: 18px 14px;
  background: #ffffff;
}

.app-sidebar nav {
  gap: 4px;
}

.app-sidebar nav a {
  grid-template-columns: 30px 1fr;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 10px;
  font-size: 13px;
  line-height: 1.2;
}

.app-sidebar nav i {
  width: 28px;
  height: 28px;
  border-radius: 8px;
  font-size: 16px;
}

.app-sidebar small {
  margin-top: 3px;
  font-size: 11px;
}

.app-sidebar nav a.active {
  background: #eef4ff;
}

.app-sidebar nav a.active i {
  background: #092766;
}

.post-opportunity {
  height: 40px;
  margin: 18px 0 14px;
  border-radius: 10px;
  font-size: 13px;
}

.network-card {
  padding: 14px;
  border-radius: 12px;
  background: #fbfdff;
}

.network-card h3 {
  font-size: 14px;
}

.network-card p {
  font-size: 12px;
}

.network-card > i {
  display: none;
}

.profile-main {
  padding: 22px 24px 32px;
  background: #f5f7fb;
}

.profile-heading h1 {
  font-size: 24px;
  letter-spacing: -0.02em;
}

.setup-progress {
  gap: 10px;
  margin: 20px 0;
}

.step-pill {
  gap: 8px;
  color: #64708c;
  font-size: 12px;
}

.step-pill span {
  width: 24px;
  height: 24px;
}

.profile-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 16px;
}

.profile-workspace,
.help-card {
  border-color: #e3e9f3;
  border-radius: 14px;
  box-shadow: none;
}

.profile-panel-title {
  align-items: center;
  padding: 18px 20px;
  background: linear-gradient(180deg, #ffffff, #fbfdff);
}

.profile-panel-title h2 {
  font-size: 22px;
  letter-spacing: -0.025em;
}

.profile-panel-title p {
  font-size: 13px;
}

.mode-select {
  gap: 10px;
  color: #6b7489;
  font-size: 12px;
}

.mode-select select {
  min-width: 240px;
  height: 42px;
  border-radius: 10px;
  background: #ffffff;
  font-size: 14px;
  box-shadow: none;
}

.profile-form {
  padding: 0 16px 16px;
}

.form-section {
  margin-top: 12px;
  padding: 16px;
  border-color: #e4ebf5;
  border-radius: 12px;
  background: #ffffff;
  box-shadow: none;
}

.form-section h3 {
  margin-bottom: 14px;
  font-size: 14px;
}

.form-section h3 i {
  width: 24px;
  height: 24px;
}

.form-grid {
  gap: 14px;
}

.profile-form label {
  display: block;
  color: #152044;
  font-size: 12px;
  font-weight: 700;
}

.profile-form label:has([required])::after {
  content: none;
}

.req {
  color: #dc2626;
  font-size: 15px;
  font-weight: 900;
  margin-left: 3px;
}

.profile-form input,
.profile-form select,
.profile-form textarea {
  min-height: 40px;
  margin-top: 7px;
  border-color: #d9e2ef;
  border-radius: 9px;
  background: #ffffff;
  font-size: 13px;
}

.profile-form textarea {
  min-height: 116px;
}

.upload-grid {
  gap: 14px;
  margin: 14px 0;
}

.upload-box {
  min-height: 104px;
  border-radius: 10px;
}

.settings-grid {
  gap: 12px;
}

.settings-grid label,
.toggle-row {
  min-height: 48px;
  padding: 11px 13px;
  border-radius: 10px;
  background: #ffffff;
  box-shadow: none;
  font-size: 13px;
}

.profile-form input[type="checkbox"] {
  width: 18px;
  min-height: 18px;
  margin: 0;
}

.profile-help {
  gap: 12px;
}

.help-card {
  padding: 18px;
  background: #ffffff;
}

.help-card::before {
  display: none;
}

.help-card h3 {
  margin-bottom: 14px;
  color: #0b1739;
  font-size: 18px;
}

.help-card ul {
  gap: 10px;
}

.help-card li {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  padding: 10px;
  border: 1px solid #edf2f8;
  border-radius: 12px;
  background: #fbfdff;
  color: #5d667a;
  line-height: 1.45;
}

.help-card li i {
  width: 38px;
  height: 38px;
  border-radius: 11px;
  font-size: 15px;
}

.help-card strong {
  color: #101a3a;
  font-size: 13px;
}

.help-card span,
.tips-list li {
  font-size: 12px;
}

.app-footer {
  width: 100%;
  margin-left: 0;
}

.app-footer .container {
  width: min(100% - 56px, 1480px);
}

.app-footer .footer-grid {
  grid-template-columns: minmax(260px, 1.35fr) repeat(4, minmax(130px, 1fr));
  gap: clamp(32px, 5vw, 82px);
  padding: 34px 0 22px;
}

.app-footer .footer-brand {
  align-items: flex-start;
  text-align: left;
}

.app-footer .footer-logo {
  width: auto;
  flex-direction: row;
  justify-content: flex-start;
  margin: 0 0 12px;
}

.app-footer .footer-logo img {
  width: 46px;
}

.app-footer .footer-logo .brand-copy strong {
  font-size: 24px;
}

.app-footer .footer-logo .brand-copy small {
  font-size: 9px;
}

.app-footer .footer-brand p {
  max-width: 340px;
  margin: 0 0 16px;
  text-align: left;
}

.app-footer .social-links {
  margin: 0;
}

@media (max-width: 1080px) {
  .app-topbar,
  .app-shell,
  .profile-layout {
    grid-template-columns: 1fr;
  }

  .app-sidebar {
    display: none;
  }

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

@media (max-width: 680px) {
  .profile-help,
  .form-grid.two,
  .form-grid.three,
  .upload-grid,
  .settings-grid,
  .settings-grid.three,
  .app-footer .footer-grid {
    grid-template-columns: 1fr;
  }

  .profile-panel-title {
    align-items: stretch;
  }
}

/* Profile setup v4: simplified onboarding layout */
body.app-body {
  color: #17213c;
  background: #f7f9fd;
}

.app-topbar {
  background: rgba(255, 255, 255, 0.96);
}

.profile-main {
  padding: 24px 28px 36px;
  background:
    radial-gradient(circle at 20% 0, rgba(0, 168, 181, 0.05), transparent 28%),
    #f7f9fd;
}

.profile-heading {
  max-width: 1180px;
  margin: 0 auto;
}

.profile-heading h1 {
  color: #101a36;
  font-size: 26px;
  font-weight: 800;
}

.profile-heading p {
  color: #667085;
  font-size: 14px;
}

.setup-progress {
  max-width: 1180px;
  margin: 18px auto 18px;
  padding: 10px;
  border: 1px solid #e6edf7;
  border-radius: 14px;
  background: #ffffff;
}

.step-pill {
  flex: 1;
  justify-content: center;
  min-width: 150px;
  padding: 8px 10px;
  border-radius: 10px;
  color: #667085;
  font-size: 12px;
}

.step-pill.active {
  background: #f1f5ff;
  color: #4f22d8;
}

.step-pill.complete {
  background: #f8fafc;
}

.profile-layout {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
}

.profile-help {
  order: -1;
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 14px;
}

.help-card {
  padding: 16px;
  border: 1px solid #e6edf7;
  border-radius: 14px;
  background: #ffffff;
}

.importance-card {
  border-color: #dbeafe;
  background:
    radial-gradient(circle at 8% 0, rgba(14, 165, 233, 0.1), transparent 34%),
    linear-gradient(135deg, #f8fbff, #ffffff);
}

.tips-card {
  border-color: #d9f5e8;
  background:
    radial-gradient(circle at 8% 0, rgba(15, 167, 122, 0.1), transparent 34%),
    linear-gradient(135deg, #f8fffc, #ffffff);
}

.help-card h3 {
  margin-bottom: 10px;
  color: #111c3a;
  font-size: 16px;
}

.help-card ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.help-card li,
.tips-list li {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding: 8px 10px;
  border: 0;
  border-radius: 10px;
  background: #f8fbff;
  color: #667085;
  font-size: 12px;
  line-height: 1.4;
}

.importance-card li {
  background: rgba(255, 255, 255, 0.78);
}

.tips-card li {
  background: rgba(255, 255, 255, 0.82);
}

.help-card li i,
.tips-list li i {
  width: 24px;
  height: 24px;
  flex: 0 0 24px;
  border-radius: 8px;
  color: #5d2cff;
  background: rgba(93, 44, 255, 0.09);
  font-size: 12px;
}

.help-card strong {
  display: block;
  margin-bottom: 1px;
  color: #16213f;
  font-size: 12px;
  font-weight: 800;
}

.help-card span {
  color: #667085;
  font-size: 12px;
}

.tips-list {
  grid-template-columns: 1fr !important;
}

.tips-list li i {
  color: #0fa77a;
  background: rgba(15, 167, 122, 0.1);
}

.profile-workspace {
  border: 1px solid #e4ebf5;
  border-radius: 16px;
  background: #ffffff;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.04);
}

.profile-panel-title {
  padding: 18px 20px;
  border-bottom: 1px solid #eef2f7;
  background: #ffffff;
}

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

.profile-completion {
  min-width: 190px;
  padding: 12px 14px;
  border: 1px solid #dbeafe;
  border-radius: 14px;
  background: linear-gradient(135deg, #f8fbff, #eef8ff);
}

.profile-completion strong {
  display: block;
  color: #092766;
  font-size: 22px;
  line-height: 1;
}

.profile-completion span {
  display: block;
  margin: 3px 0 9px;
  color: #5d6b86;
  font-size: 12px;
  font-weight: 800;
}

.profile-completion div {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #dbeafe;
}

.profile-completion i {
  display: block;
  width: 20%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, #00a8b5, #5d2cff);
  transition: width 0.25s ease;
}

.profile-panel-title h2 {
  color: #111c3a;
  font-size: 22px;
  font-weight: 800;
}

.profile-panel-title p {
  color: #667085;
}

.mode-select {
  color: #667085;
}

.mode-select select {
  border: 1px solid #d9e2ef;
  color: #111c3a;
  background: #ffffff;
}

.form-section {
  border: 1px solid #e6edf7;
  background: #ffffff;
}

.form-section h3 {
  color: #111c3a;
  font-size: 14px;
}

.profile-form label {
  color: #26324d;
}

.req {
  color: #e11d48;
  margin-left: 2px;
}

.profile-form input,
.profile-form select,
.profile-form textarea {
  border-color: #dce5f1;
  color: #111c3a;
  background: #fbfdff;
}

.profile-form input:focus,
.profile-form select:focus,
.profile-form textarea:focus {
  background: #ffffff;
}

.setup-step[data-step="1"] .settings-grid,
.setup-step[data-step="2"] .settings-grid,
.setup-step[data-step="4"] .toggle-row,
.setup-step[data-step="5"] .settings-grid {
  display: none;
}

.wizard-actions {
  padding-top: 2px;
}

.app-footer {
  background:
    radial-gradient(circle at 4% 0, rgba(0, 168, 181, 0.22), transparent 30%),
    linear-gradient(135deg, #051b43, #04122e);
}

.app-footer .footer-grid {
  max-width: 1480px;
  margin: 0 auto;
  grid-template-columns: minmax(260px, 1.2fr) repeat(4, minmax(130px, 1fr));
  gap: 42px;
}

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

@media (max-width: 680px) {
  .profile-heading {
    display: grid;
  }

  .profile-completion {
    min-width: 0;
  }

  .profile-main {
    padding: 18px 14px 28px;
  }

  .setup-progress,
  .help-card ul {
    grid-template-columns: 1fr;
  }

  .step-pill {
    justify-content: flex-start;
  }
}

/* Dashboard / Opportunity Feed */
.dashboard-body {
  background:
    radial-gradient(circle at 46% 0, rgba(93, 44, 255, 0.07), transparent 30%),
    linear-gradient(180deg, #f8fbff 0%, #f4f7fb 100%);
}

.dashboard-main {
  padding: 22px 24px 30px;
  min-width: 0;
}

.dashboard-welcome {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 18px 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid #e5edf7;
  border-radius: 18px;
  background:
    radial-gradient(circle at 94% 0, rgba(0, 168, 181, 0.14), transparent 28%),
    linear-gradient(135deg, #ffffff, #f8fbff);
  box-shadow: 0 16px 42px rgba(15, 23, 42, 0.04);
}

.dashboard-welcome h1 {
  margin: 4px 0 4px;
  color: #0b1638;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.05;
  letter-spacing: 0;
}

.dashboard-welcome p {
  max-width: 680px;
  margin: 0;
  color: #5d6b86;
  font-size: 15px;
}

.dashboard-kpis {
  display: grid;
  grid-template-columns: repeat(3, minmax(86px, 1fr));
  gap: 10px;
  min-width: 330px;
}

.dashboard-kpis div {
  padding: 12px;
  border: 1px solid #e6edf7;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
}

.dashboard-kpis strong {
  display: block;
  color: #0b1638;
  font-size: 22px;
  line-height: 1;
}

.dashboard-kpis span {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
}

.action-center-grid {
  max-width: 1280px;
  margin: 0 auto 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.action-card,
.quick-business-actions a {
  border: 1px solid #e3ebf6;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 46px rgba(15, 23, 42, 0.045);
}

.action-card {
  padding: 15px;
  display: grid;
  gap: 12px;
  align-content: space-between;
  min-height: 220px;
}

.action-icon {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #007782;
  background: #e7fbfc;
}

.verification-action .action-icon {
  color: #4f22d8;
  background: #f1ecff;
}

.inquiry-action .action-icon {
  color: #2454ff;
  background: #eef3ff;
}

.saved-action .action-icon {
  color: #f97316;
  background: #fff3e8;
}

.action-card span,
.quick-business-actions small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.action-card strong,
.quick-business-actions span {
  display: block;
  margin-top: 3px;
  color: #081436;
  font-size: 18px;
  font-weight: 900;
}

.action-card p {
  margin: 8px 0 0;
  color: #5d6b86;
  line-height: 1.45;
}

.action-card > a {
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #ffffff;
  background: #061735;
  font-weight: 900;
}

.action-progress {
  height: 8px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef6;
}

.action-progress i {
  height: 100%;
  display: block;
  border-radius: inherit;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
}

.quick-business-actions {
  max-width: 1280px;
  margin: 0 auto 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.quick-business-actions a {
  min-height: 82px;
  padding: 14px;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  column-gap: 12px;
  align-items: center;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.quick-business-actions a:hover {
  transform: translateY(-2px);
  border-color: rgba(36, 84, 255, 0.28);
  box-shadow: 0 18px 44px rgba(36, 84, 255, 0.12);
}

.quick-business-actions i {
  width: 40px;
  height: 40px;
  grid-row: span 2;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
}

.next-step-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  list-style: none;
}

.next-step-list li {
  padding: 11px;
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  border: 1px solid #edf2f8;
  border-radius: 14px;
  background: #fbfdff;
}

.next-step-list li > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: #061735;
  font-weight: 900;
}

.next-step-list strong,
.next-step-list small {
  display: block;
}

.next-step-list strong {
  color: #081436;
  font-size: 13px;
}

.next-step-list small {
  margin-top: 2px;
  color: #667085;
  line-height: 1.4;
}

.dashboard-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.dashboard-feed,
.dashboard-rail {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.opportunity-composer,
.feed-card,
.rail-card {
  border: 1px solid #e3ebf6;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 46px rgba(15, 23, 42, 0.045);
}

.opportunity-composer {
  padding: 16px;
  border-color: rgba(0, 168, 181, 0.2);
  background:
    radial-gradient(circle at 4% 0, rgba(0, 168, 181, 0.16), transparent 34%),
    radial-gradient(circle at 96% 0, rgba(93, 44, 255, 0.13), transparent 30%),
    linear-gradient(135deg, #f4fdff, #f8f5ff 58%, #ffffff);
  box-shadow: 0 18px 52px rgba(16, 24, 40, 0.075);
}

.composer-head {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 14px;
}

.composer-head img {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  object-fit: cover;
  box-shadow: 0 10px 20px rgba(15, 23, 42, 0.12);
}

.composer-head h2 {
  margin: 0;
  color: #0b1638;
  font-size: 18px;
}

.composer-head p {
  margin: 2px 0 0;
  color: #667085;
  font-size: 13px;
}

.opportunity-types {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 12px;
}

.opportunity-types button,
.composer-actions button,
.feed-tabs button,
.feed-actions button {
  border: 1px solid #dde7f5;
  background: #fbfdff;
  color: #1a2a4c;
  font-family: inherit;
  font-weight: 800;
  cursor: pointer;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}

.opportunity-types button {
  min-height: 48px;
  padding: 8px;
  border-radius: 12px;
  font-size: 12px;
}

.opportunity-types button i {
  display: block;
  margin-bottom: 5px;
}

.opportunity-types button:hover {
  transform: translateY(-2px);
  border-color: rgba(93, 44, 255, 0.35);
  background: #f5f1ff;
  box-shadow: 0 14px 28px rgba(93, 44, 255, 0.09);
}

.opportunity-types .type-buy {
  color: #075985;
  border-color: #bae6fd;
  background: #effaff;
}

.opportunity-types .type-buy i {
  color: #0284c7;
}

.opportunity-types .type-sell {
  color: #047857;
  border-color: #bbf7d0;
  background: #f0fdf4;
}

.opportunity-types .type-sell i {
  color: #0fa77a;
}

.opportunity-types .type-hire {
  color: #6d28d9;
  border-color: #ddd6fe;
  background: #f6f1ff;
}

.opportunity-types .type-hire i {
  color: #6d28d9;
}

.opportunity-types .type-offer {
  color: #b45309;
  border-color: #fed7aa;
  background: #fff7ed;
}

.opportunity-types .type-offer i {
  color: #f97316;
}

.opportunity-types .type-distribute {
  color: #0f766e;
  border-color: #99f6e4;
  background: #f0fdfa;
}

.opportunity-types .type-distribute i {
  color: #0d9488;
}

.opportunity-types .type-invest {
  color: #be123c;
  border-color: #fecdd3;
  background: #fff1f2;
}

.opportunity-types .type-invest i {
  color: #e11d48;
}

.composer-input {
  display: grid;
  gap: 7px;
  color: #273755;
  font-size: 12px;
  font-weight: 800;
}

.composer-input textarea {
  min-height: 82px;
  resize: vertical;
  padding: 13px 14px;
  border: 1px solid #dce5f1;
  border-radius: 14px;
  background: #fbfdff;
  color: #111c3a;
  font-family: inherit;
  font-size: 14px;
  outline: none;
}

.composer-input textarea:focus {
  border-color: rgba(93, 44, 255, 0.5);
  background: #ffffff;
  box-shadow: 0 0 0 4px rgba(93, 44, 255, 0.08);
}

.composer-actions {
  margin-top: 12px;
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr)) minmax(170px, 0.8fr);
  gap: 10px;
}

.composer-actions button {
  min-height: 44px;
  border-radius: 12px;
}

.composer-actions .button-primary {
  border: 0;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 52%, #7b00ff);
  box-shadow: 0 16px 34px rgba(93, 44, 255, 0.22);
}

.composer-actions .button-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 42px rgba(93, 44, 255, 0.28);
}

.composer-actions button:hover,
.feed-tabs button:hover,
.feed-actions button:hover {
  border-color: #c8d6ea;
  background: #f4f8ff;
}

.composer-actions .button-primary:hover,
.composer-actions .button-primary:focus-visible {
  color: #ffffff;
  border: 0;
  background:
    radial-gradient(circle at 20% 10%, rgba(255, 255, 255, 0.38), transparent 28%),
    linear-gradient(135deg, #02c7d5, #2454ff 46%, #8f00ff);
  transform: translateY(-3px) scale(1.015);
  box-shadow: 0 22px 48px rgba(93, 44, 255, 0.34), 0 0 0 4px rgba(0, 168, 181, 0.12);
}

.feed-tabs {
  padding: 8px;
  display: flex;
  align-items: center;
  gap: 7px;
  overflow-x: auto;
  border: 1px solid #e3ebf6;
  border-radius: 16px;
  background: #ffffff;
}

.feed-tabs a,
.feed-tabs button {
  flex: 0 0 auto;
  padding: 9px 12px;
  border-radius: 11px;
  color: #52617d;
  font-size: 12px;
  font-weight: 900;
}

.feed-tabs a.active {
  color: #ffffff;
  background: #092766;
}

.feed-tabs button {
  margin-left: auto;
}

.feed-card {
  padding: 16px;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr);
  gap: 14px;
}

.feed-avatar,
.connection-row span,
.connection-row strong {
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  font-weight: 900;
  background: linear-gradient(135deg, #5d2cff, #00a8b5);
}

.feed-avatar {
  width: 50px;
  height: 50px;
}

.feed-avatar.teal {
  background: linear-gradient(135deg, #00a8b5, #0fa77a);
}

.feed-content {
  min-width: 0;
}

.feed-meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  color: #667085;
  font-size: 12px;
}

.feed-meta strong {
  color: #0b1638;
  font-size: 14px;
}

.feed-meta span {
  padding: 4px 8px;
  border-radius: 999px;
  color: #4f22d8;
  background: #f1ecff;
  font-weight: 900;
}

.feed-meta .buyer-badge {
  color: #075985;
  background: #e0f2fe;
}

.feed-meta .marketplace-badge {
  color: #7c2d12;
  background: #ffedd5;
}

.feed-meta .service-badge {
  color: #047857;
  background: #dcfce7;
}

.feed-card h3 {
  margin: 7px 0 6px;
  color: #071638;
  font-size: 17px;
  line-height: 1.25;
}

.feed-card p {
  margin: 0;
  color: #465774;
  font-size: 13px;
  line-height: 1.55;
}

.tag-row,
.price-row {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.tag-row span,
.price-row span {
  padding: 5px 9px;
  border: 1px solid #c7d2fe;
  border-radius: 999px;
  color: #3730a3;
  background: #eef2ff;
  font-size: 11px;
  font-weight: 900;
}

.price-row strong {
  color: #0fa77a;
  font-size: 18px;
}

.price-row span {
  color: #3730a3;
  background: #eef2ff;
}

.feed-actions {
  margin-top: 12px;
  padding-top: 10px;
  display: flex;
  align-items: center;
  gap: 9px;
  border-top: 1px solid #eef2f7;
}

.feed-actions button,
.feed-actions a {
  min-height: 34px;
  padding: 0 11px;
  display: inline-grid;
  place-items: center;
  border-radius: 10px;
  color: #52617d;
  font-size: 12px;
  font-weight: 900;
}

.feed-actions a {
  margin-left: auto;
  border: 1px solid rgba(93, 44, 255, 0.28);
  color: #4f22d8;
  background: #ffffff;
}

.feed-actions a.filled {
  margin-left: 0;
  color: #ffffff;
  border-color: transparent;
  background: var(--gradient);
}

.feed-actions a:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 22px rgba(93, 44, 255, 0.12);
}

.marketplace-card {
  grid-template-columns: 116px minmax(0, 1fr);
}

.product-thumb {
  min-height: 110px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #092766;
  background:
    radial-gradient(circle at 40% 25%, rgba(255, 255, 255, 0.7), transparent 34%),
    linear-gradient(135deg, #ecf5ff, #f6f2ff);
}

.product-thumb i {
  font-size: 42px;
}

.rail-card {
  padding: 16px;
}

.rail-title {
  margin-bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.rail-title h2 {
  margin: 0;
  color: #0b1638;
  font-size: 16px;
}

.rail-title a {
  color: #4f22d8;
  font-size: 12px;
  font-weight: 900;
}

.pulse-card {
  background:
    radial-gradient(circle at 100% 0, rgba(0, 168, 181, 0.12), transparent 32%),
    linear-gradient(135deg, #ffffff, #f8fbff);
}

.pulse-list,
.events-card {
  display: grid;
  gap: 10px;
}

.pulse-list div {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 9px;
  align-items: center;
  padding: 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.75);
  min-width: 0;
}

.pulse-list i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #4f22d8;
  background: #f1ecff;
}

.pulse-list strong,
.event-item strong,
.market-mini-grid strong {
  display: block;
  color: #0b1638;
  font-size: 13px;
}

.pulse-list strong {
  grid-column: 2;
}

.pulse-list span,
.event-item small,
.rail-copy,
.market-mini-grid span {
  color: #667085;
  font-size: 12px;
}

.pulse-list span {
  display: block;
  grid-column: 2;
  margin-top: 2px;
  line-height: 1.35;
}

.connection-row {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
}

.connection-row span,
.connection-row strong {
  width: 44px;
  height: 44px;
  margin-right: -8px;
  border: 3px solid #ffffff;
  background: linear-gradient(135deg, #e9f7ff, #5d2cff);
}

.connection-row strong {
  background: #092766;
}

.rail-button {
  margin-top: 12px;
  min-height: 40px;
  display: grid;
  place-items: center;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  color: #4f22d8;
  font-weight: 900;
}

.rail-button:hover {
  border-color: rgba(93, 44, 255, 0.35);
  background: #f5f1ff;
}

.event-item {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 11px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 1px solid #eef2f7;
}

.event-item:last-child {
  border-bottom: 0;
}

.event-item time {
  padding: 8px 6px;
  border-radius: 12px;
  text-align: center;
  color: #4f22d8;
  background: #f1ecff;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.event-item time span {
  display: block;
  margin-top: 3px;
  text-transform: uppercase;
  font-size: 10px;
}

.market-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.market-mini-grid div {
  padding: 12px;
  border-radius: 14px;
  background: #f8fbff;
}

.market-mini-grid i {
  width: 34px;
  height: 34px;
  margin-bottom: 8px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #00a8b5;
  background: #eafcff;
}

@media (max-width: 1180px) {
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .action-center-grid,
  .quick-business-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

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

@media (max-width: 900px) {
  .dashboard-welcome,
  .composer-actions {
    grid-template-columns: 1fr;
  }

  .dashboard-welcome {
    display: grid;
  }

  .dashboard-kpis,
  .opportunity-types,
  .action-center-grid,
  .dashboard-rail,
  .quick-business-actions {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .dashboard-main {
    padding: 16px 12px 24px;
  }

  .feed-card,
  .marketplace-card {
    grid-template-columns: 1fr;
  }

  .feed-actions {
    flex-wrap: wrap;
  }

  .feed-actions a {
    margin-left: 0;
  }

  .market-mini-grid,
  .dashboard-kpis {
    grid-template-columns: 1fr;
    min-width: 0;
  }
}

/* Marketplace */
.marketplace-body {
  background:
    radial-gradient(circle at 50% 0, rgba(0, 168, 181, 0.07), transparent 32%),
    linear-gradient(180deg, #f8fbff 0%, #f5f8fc 100%);
}

.marketplace-main {
  min-width: 0;
  padding: 22px 24px 30px;
}

.market-hero,
.listing-header,
.market-toolbar,
.listing-form,
.market-card,
.my-listing {
  border: 1px solid #e3ebf6;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 46px rgba(15, 23, 42, 0.045);
}

.market-hero,
.listing-header {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background:
    radial-gradient(circle at 94% 0, rgba(93, 44, 255, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #f3fbff);
}

.market-hero h1,
.listing-header h1 {
  max-width: 760px;
  margin: 5px 0;
  color: #0b1638;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
}

.market-hero p,
.listing-header p {
  max-width: 720px;
  margin: 0;
  color: #5d6b86;
  font-size: 15px;
}

.market-actions {
  min-width: 210px;
  display: grid;
  gap: 10px;
}

.market-toolbar {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 12px;
  display: grid;
  gap: 12px;
}

.market-tabs {
  border: 0;
  padding: 0;
  box-shadow: none;
}

.market-search-row {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 190px 170px;
  gap: 10px;
}

.market-search-row label {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0 14px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
}

.market-search-row input,
.market-search-row select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
  color: #111c3a;
  font: inherit;
}

.market-search-row label input {
  min-height: auto;
  padding: 0;
  border: 0;
  outline: none;
}

.marketplace-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.market-list {
  display: grid;
  gap: 14px;
}

.market-card {
  padding: 16px;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 16px;
}

.market-card h2 {
  margin: 8px 0 6px;
  color: #0b1638;
  font-size: 18px;
}

.market-card p {
  margin: 0;
  color: #536587;
  line-height: 1.55;
  font-size: 13px;
}

.market-thumb {
  min-height: 132px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #ffffff;
}

.market-thumb i {
  font-size: 44px;
}

.market-thumb.product {
  background: linear-gradient(135deg, #0284c7, #5d2cff);
}

.market-thumb.service {
  background: linear-gradient(135deg, #0fa77a, #00a8b5);
}

.market-thumb.offer {
  background: linear-gradient(135deg, #f97316, #e11d48);
}

.offer-badge {
  color: #9f1239;
  background: #ffe4e6;
}

.market-card-footer {
  margin-top: 12px;
  padding-top: 12px;
  display: flex;
  align-items: center;
  gap: 12px;
  border-top: 1px solid #eef2f7;
}

.market-card-footer strong {
  color: #0fa77a;
  font-size: 17px;
}

.market-card-footer small {
  color: #667085;
}

.market-card-footer a {
  margin-left: auto;
  padding: 9px 12px;
  border-radius: 10px;
  color: #ffffff;
  background: #092766;
  font-weight: 900;
  font-size: 12px;
}

.market-card-footer a + a {
  margin-left: 0;
}

.promoted-card {
  position: relative;
  border-color: rgba(245, 158, 11, 0.42) !important;
  background:
    linear-gradient(135deg, rgba(255, 251, 235, 0.92), rgba(255, 255, 255, 0.98) 46%, rgba(238, 242, 255, 0.72)),
    #ffffff !important;
  box-shadow: 0 20px 46px rgba(146, 64, 14, 0.1) !important;
}

.promoted-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  border-radius: inherit;
  background: linear-gradient(180deg, #f59e0b, #7b2cff);
}

.sponsored-badge {
  padding: 5px 9px;
  border: 1px solid rgba(245, 158, 11, 0.34);
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #92400e;
  background: #fff7ed;
  font-size: 11px;
  font-weight: 900;
}

.sponsored-badge i {
  color: #f59e0b;
}

.promoted-card-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.promotion-note {
  margin-top: 9px;
  padding: 8px 10px;
  border: 1px solid rgba(245, 158, 11, 0.25);
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #7c2d12;
  background: rgba(255, 247, 237, 0.78);
  font-size: 12px;
  font-weight: 800;
}

.market-detail-hero {
  max-width: 1280px;
  margin: 0 auto 18px;
  padding: 20px;
  display: grid;
  grid-template-columns: minmax(260px, 0.48fr) minmax(0, 1fr);
  gap: 22px;
  border: 1px solid #e3ebf6;
  border-radius: 24px;
  background: #ffffff;
}

.market-detail-media {
  min-height: 300px;
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 20px;
  color: #ffffff;
  background:
    radial-gradient(circle at 30% 20%, rgba(255, 255, 255, 0.28), transparent 30%),
    linear-gradient(135deg, #0284c7, #5d2cff);
}

.market-detail-media > i {
  font-size: 78px;
}

.market-detail-media .sponsored-badge {
  position: absolute;
  top: 14px;
  left: 14px;
}

.market-detail-intro h1 {
  margin: 12px 0 10px;
  color: #081436;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.04;
}

.market-detail-intro p {
  margin: 0;
  color: #536587;
  line-height: 1.65;
}

.market-detail-actions {
  margin-top: 18px;
  padding-top: 16px;
  border-top: 1px solid #eef2f7;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
}

.market-detail-actions strong {
  margin-right: auto;
  color: #0fa77a;
  font-size: 24px;
}

.market-detail-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 0.35fr);
  gap: 18px;
  align-items: start;
}

.market-detail-stack {
  display: grid;
  gap: 18px;
}

.my-listing {
  padding: 12px;
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.my-listing strong {
  color: #0b1638;
}

.my-listing span {
  color: #667085;
  font-size: 12px;
}

.my-listing div {
  display: flex;
  gap: 8px;
}

.my-listing a {
  color: #4f22d8;
  font-size: 12px;
  font-weight: 900;
}

.listing-steps {
  max-width: 1280px;
  margin: 0 auto 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.listing-steps span {
  padding: 8px 11px;
  border: 1px solid #dce5f1;
  border-radius: 999px;
  color: #536587;
  background: #ffffff;
  font-size: 12px;
  font-weight: 900;
}

.listing-steps span.active {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #2454ff, #7b00ff);
}

.listing-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.listing-form {
  padding: 0 16px 16px;
}

.listing-layout .profile-help {
  order: 0;
  grid-template-columns: 1fr;
}

.listing-layout .help-card ul {
  grid-template-columns: 1fr;
  gap: 10px;
}

.listing-layout .help-card li,
.listing-layout .tips-list li {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  padding: 10px;
  line-height: 1.45;
}

.listing-layout .help-card li i,
.listing-layout .tips-list li i {
  grid-row: span 2;
}

.listing-layout .help-card li strong,
.listing-layout .help-card li span {
  min-width: 0;
}

.listing-layout .help-card li span {
  display: block;
}

.listing-form .form-grid.two,
.listing-form .form-grid.three,
.listing-form .form-grid.four {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.listing-form .pricing-grid {
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  align-items: end;
}

.listing-form .listing-pricing-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  align-items: start;
}

.listing-form .listing-pricing-grid label {
  align-self: stretch;
}

.listing-form .listing-pricing-grid .field-add-link {
  margin-top: 6px;
}

.listing-form .compact-check {
  min-height: 42px;
  margin-top: 0;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
  color: #25314f;
  font-size: 13px;
  font-weight: 900;
}

.listing-form .compact-check input {
  width: 16px;
  min-height: 16px;
  margin: 0;
}

.compact-check-row {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.compact-check-row .compact-check {
  min-width: 180px;
}

.listing-form label {
  min-width: 0;
}

.listing-form .form-section {
  overflow: hidden;
}

.listing-form {
  gap: 20px;
}

.listing-form .form-section {
  padding: 22px;
  display: grid;
  gap: 18px;
}

.listing-form .form-section h3 {
  margin-bottom: 0;
}

.listing-form .form-grid {
  gap: 18px 20px;
  align-items: start;
}

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

.listing-form .field-add-link {
  margin-top: 7px;
}

.listing-form .upload-grid {
  gap: 18px;
}

.listing-form .form-section {
  box-shadow: none;
}

.listing-form .upload-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.listing-form .media-upload-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.listing-form .keyword-grid {
  grid-template-columns: minmax(360px, 2fr) minmax(180px, 0.7fr);
}

.listing-form .keyword-grid .wide-field {
  min-width: 0;
}

.offer-highlight {
  background:
    radial-gradient(circle at 92% 0, rgba(249, 115, 22, 0.1), transparent 32%),
    linear-gradient(135deg, #ffffff, #fff8f1);
}

.deliverable-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.deliverable-list span,
.deliverable-list button {
  padding: 8px 10px;
  border: 1px solid #dce5f1;
  border-radius: 999px;
  background: #fbfdff;
  color: #26324d;
  font: inherit;
  font-size: 12px;
  font-weight: 800;
}

.deliverable-list button {
  color: #4f22d8;
  cursor: pointer;
}

@media (max-width: 1180px) {
  .marketplace-layout,
  .listing-layout,
  .market-detail-hero,
  .market-detail-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .market-hero,
  .listing-header {
    display: grid;
  }

  .market-search-row,
  .form-grid.four,
  .listing-form .keyword-grid,
  .listing-form .upload-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .marketplace-main {
    padding: 16px 12px 24px;
  }

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

  .market-card-footer {
    flex-wrap: wrap;
  }

  .market-card-footer a {
    margin-left: 0;
  }

  .market-detail-hero {
    padding: 14px;
  }

  .market-detail-media {
    min-height: 220px;
  }

  .market-detail-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .market-detail-actions strong {
    margin-right: 0;
  }
}

/* Companies */
.company-body {
  background:
    radial-gradient(circle at 50% 0, rgba(36, 84, 255, 0.06), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #f5f8fc 100%);
}

.companies-main,
.company-profile-main {
  min-width: 0;
  padding: 22px 24px 30px;
}

.companies-hero,
.company-search-panel,
.company-card,
.companies-quick-card,
.profile-card,
.company-profile-hero,
.profile-tabs {
  border: 1px solid #e3ebf6;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 46px rgba(15, 23, 42, 0.045);
}

.companies-hero {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 20px;
  background:
    radial-gradient(circle at 92% 0, rgba(0, 168, 181, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #f3fbff);
}

.companies-hero h1 {
  max-width: 780px;
  margin: 5px 0;
  color: #0b1638;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
}

.companies-hero p {
  max-width: 760px;
  margin: 0;
  color: #5d6b86;
  font-size: 15px;
}

.companies-quick-card {
  padding: 16px;
  display: grid;
  gap: 8px;
  align-content: center;
}

.companies-quick-card strong {
  color: #0b1638;
  font-size: 16px;
}

.companies-quick-card span {
  color: #5d6b86;
  font-size: 13px;
}

.companies-quick-card a {
  min-height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #4f22d8;
  background: #f5f1ff;
  font-weight: 900;
  font-size: 12px;
}

.company-search-panel {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 190px 170px 110px;
  gap: 10px;
}

.company-search-panel label {
  min-height: 44px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
}

.company-search-panel input,
.company-search-panel select,
.company-search-panel button {
  width: 100%;
  min-height: 44px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
  color: #111c3a;
  font: inherit;
}

.company-search-panel label input {
  min-height: auto;
  padding: 0;
  border: 0;
  outline: none;
}

.company-search-panel button {
  color: #4f22d8;
  font-weight: 900;
  cursor: pointer;
}

.company-directory {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
  align-items: start;
}

.company-list,
.companies-rail,
.company-profile-rail {
  display: grid;
  gap: 14px;
}

.company-card {
  padding: 16px;
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 14px;
}

.featured-company {
  border-color: rgba(0, 168, 181, 0.22);
  background:
    radial-gradient(circle at 98% 0, rgba(0, 168, 181, 0.1), transparent 28%),
    #ffffff;
}

.company-logo-mark {
  width: 84px;
  height: 84px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  color: #ffffff;
  font-size: 34px;
}

.company-logo-mark.energy {
  background: linear-gradient(135deg, #0fa77a, #2454ff);
}

.company-logo-mark.tech {
  background: linear-gradient(135deg, #5d2cff, #02c7d5);
}

.company-logo-mark.export {
  background: linear-gradient(135deg, #f97316, #e11d48);
}

.company-card-title,
.company-meta-row,
.company-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.verified-pill {
  width: fit-content;
  padding: 5px 9px;
  border-radius: 999px;
  color: #047857;
  background: #dcfce7;
  font-size: 11px;
  font-weight: 900;
}

.company-card-title small,
.company-meta-row span {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.company-card h2 {
  margin: 7px 0 5px;
  color: #0b1638;
  font-size: 19px;
}

.company-card p {
  margin: 0;
  color: #536587;
  font-size: 13px;
  line-height: 1.5;
}

.company-actions {
  margin-top: 12px;
}

.company-actions a,
.company-actions button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #dce5f1;
  border-radius: 10px;
  background: #ffffff;
  color: #4f22d8;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.company-actions a {
  display: inline-grid;
  place-items: center;
  color: #ffffff;
  border-color: transparent;
  background: #092766;
}

.company-industry-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.company-industry-list span {
  padding: 7px 10px;
  border-radius: 999px;
  color: #3730a3;
  background: #eef2ff;
  font-size: 12px;
  font-weight: 900;
}

.company-profile-grid {
  max-width: 1320px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
  align-items: start;
}

.company-profile-left {
  display: grid;
  gap: 14px;
}

.company-profile-hero {
  overflow: hidden;
}

.company-cover {
  height: 170px;
  background:
    linear-gradient(rgba(7, 22, 56, 0.16), rgba(7, 22, 56, 0.42)),
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.28), transparent 16%),
    linear-gradient(135deg, #075985, #0fa77a 50%, #f59e0b);
}

.company-profile-summary {
  padding: 18px 20px 20px;
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin-top: 0;
}

.company-profile-logo {
  width: 128px;
  height: 128px;
  display: grid;
  place-items: center;
  border: 6px solid #ffffff;
  border-radius: 24px;
  color: #ffffff;
  background: linear-gradient(135deg, #0fa77a, #2454ff);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
  font-size: 52px;
  margin-top: -72px;
}

.company-title-block h1 {
  margin: 8px 0 6px;
  color: #0b1638;
  font-size: clamp(24px, 3vw, 34px);
  line-height: 1.12;
}

.company-title-block p {
  margin: 0;
  color: #536587;
  font-size: 15px;
}

.company-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  justify-content: flex-end;
}

.company-facts {
  padding: 14px 20px 18px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  border-top: 1px solid #eef2f7;
}

.company-facts div {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 9px;
  align-items: center;
}

.company-facts i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #4f22d8;
  background: #f1ecff;
}

.company-facts strong,
.company-facts span {
  display: block;
  min-width: 0;
}

.company-facts strong {
  color: #0b1638;
  font-size: 12px;
}

.company-facts span {
  color: #667085;
  font-size: 11px;
}

.profile-tabs {
  padding: 8px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.profile-tabs a {
  flex: 0 0 auto;
  padding: 10px 12px;
  border-radius: 10px;
  color: #52617d;
  font-size: 12px;
  font-weight: 900;
}

.profile-tabs a.active {
  color: #ffffff;
  background: #092766;
}

.company-profile-content {
  display: grid;
  grid-template-columns: 0.9fr 1.1fr;
  gap: 14px;
}

.profile-card {
  padding: 16px;
}

.profile-card h2 {
  margin: 0 0 12px;
  color: #0b1638;
  font-size: 17px;
}

.profile-card h3 {
  margin: 16px 0 10px;
  color: #0b1638;
  font-size: 14px;
}

.profile-card p {
  margin: 0;
  color: #536587;
  line-height: 1.6;
  font-size: 13px;
}

.wide-card {
  grid-column: 1 / -1;
}

.profile-detail-list {
  margin-top: 14px;
  display: grid;
  gap: 10px;
}

.profile-detail-list span {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #667085;
  font-size: 12px;
}

.profile-detail-list strong {
  color: #0b1638;
  text-align: right;
}

.highlight-grid,
.profile-market-grid,
.classification-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.highlight-grid div,
.profile-market-grid div,
.classification-grid div {
  padding: 12px;
  border-radius: 14px;
  background: #f8fbff;
}

.highlight-grid strong,
.profile-market-grid strong,
.classification-grid strong {
  display: block;
  color: #0b1638;
}

.highlight-grid span,
.profile-market-grid span,
.classification-grid span {
  color: #667085;
  font-size: 12px;
}

.profile-market-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.profile-market-grid i {
  width: 38px;
  height: 38px;
  margin-bottom: 8px;
  display: grid;
  place-items: center;
  border-radius: 11px;
  color: #00a8b5;
  background: #eafcff;
}

.classification-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.stars {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 5px;
  color: #f59e0b;
}

.stars strong {
  margin-left: 6px;
  color: #0b1638;
}

.stars span {
  color: #667085;
  font-size: 12px;
}

.map-preview {
  height: 88px;
  margin-top: 14px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #4f22d8;
  background:
    linear-gradient(90deg, rgba(9, 39, 102, 0.05) 1px, transparent 1px),
    linear-gradient(rgba(9, 39, 102, 0.05) 1px, transparent 1px),
    #f8fbff;
  background-size: 18px 18px;
  font-size: 28px;
}

.contact-row {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 36px 36px;
  gap: 10px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid #eef2f7;
}

.contact-row:last-child {
  border-bottom: 0;
}

.contact-avatar {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(135deg, #2454ff, #0fa77a);
  font-weight: 900;
}

.contact-avatar.female {
  background: linear-gradient(135deg, #e11d48, #f97316);
}

.contact-row strong,
.contact-row span,
.contact-row small {
  display: block;
}

.contact-row strong {
  color: #0b1638;
  font-size: 13px;
}

.contact-row span,
.contact-row small {
  color: #667085;
  font-size: 12px;
}

.contact-row button {
  width: 36px;
  height: 36px;
  border: 1px solid #dce5f1;
  border-radius: 10px;
  color: #4f22d8;
  background: #ffffff;
}

.profile-socials,
.marketplace-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.profile-socials i,
.marketplace-icons span {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: #092766;
  font-weight: 900;
  font-size: 12px;
}

.marketplace-icons span {
  width: auto;
  min-width: 44px;
  padding: 0 10px;
  border-radius: 12px;
  color: #26324d;
  background: #f8fbff;
}

@media (max-width: 1180px) {
  .companies-hero,
  .company-directory,
  .company-profile-grid,
  .company-profile-summary {
    grid-template-columns: 1fr;
  }

  .company-profile-actions {
    justify-content: flex-start;
  }

  .company-facts,
  .company-profile-content {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .company-search-panel,
  .highlight-grid,
  .profile-market-grid,
  .classification-grid {
    grid-template-columns: 1fr;
  }

  .company-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .companies-main,
  .company-profile-main {
    padding: 16px 12px 24px;
  }

  .company-facts,
  .company-profile-content {
    grid-template-columns: 1fr;
  }

  .company-profile-logo {
    width: 104px;
    height: 104px;
    font-size: 42px;
    margin-top: -56px;
  }
}

/* Events */
.events-body {
  background:
    radial-gradient(circle at 50% 0, rgba(249, 115, 22, 0.06), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #f5f8fc 100%);
}

.events-main {
  min-width: 0;
  padding: 22px 24px 30px;
}

.events-hero,
.event-search-panel,
.event-card {
  border: 1px solid #e3ebf6;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 46px rgba(15, 23, 42, 0.045);
}

.events-hero {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 20px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  background:
    radial-gradient(circle at 94% 0, rgba(249, 115, 22, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #fff8f1);
}

.events-hero h1 {
  max-width: 780px;
  margin: 5px 0;
  color: #0b1638;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
}

.events-hero p {
  max-width: 760px;
  margin: 0;
  color: #5d6b86;
  font-size: 15px;
}

.event-search-panel {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 180px 170px 150px;
  gap: 10px;
}

.event-search-panel label {
  min-height: 44px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
}

.event-search-panel input,
.event-search-panel select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
  color: #111c3a;
  font: inherit;
}

.event-search-panel label input {
  min-height: auto;
  padding: 0;
  border: 0;
  outline: none;
}

.events-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
  align-items: start;
}

.event-list-main,
.events-rail {
  display: grid;
  gap: 14px;
}

.event-card {
  padding: 16px;
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 14px;
}

.event-date-box {
  min-height: 82px;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 18px;
  color: #ffffff;
  background: linear-gradient(135deg, #5d2cff, #2454ff);
}

.event-date-box.teal {
  background: linear-gradient(135deg, #00a8b5, #0fa77a);
}

.event-date-box.orange {
  background: linear-gradient(135deg, #f97316, #e11d48);
}

.event-date-box strong {
  font-size: 30px;
  line-height: 1;
}

.event-date-box span {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 900;
}

.event-card-top,
.event-actions,
.event-info-grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.event-card-top small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.event-type {
  padding: 5px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.event-type.exhibition {
  color: #3730a3;
  background: #eef2ff;
}

.event-type.seminar {
  color: #047857;
  background: #dcfce7;
}

.event-type.meet {
  color: #9f1239;
  background: #ffe4e6;
}

.event-card h2 {
  margin: 8px 0 6px;
  color: #0b1638;
  font-size: 20px;
}

.event-card p {
  margin: 0;
  color: #536587;
  font-size: 13px;
  line-height: 1.55;
}

.event-info-grid {
  margin-top: 11px;
}

.event-info-grid span {
  padding: 7px 9px;
  border-radius: 10px;
  color: #43516d;
  background: #f8fbff;
  font-size: 12px;
  font-weight: 800;
}

.event-info-grid i {
  color: #4f22d8;
}

.event-actions {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid #eef2f7;
}

.event-actions button,
.event-actions a {
  min-height: 38px;
  padding: 0 13px;
  display: inline-grid;
  place-items: center;
  border-radius: 11px;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.interested-btn {
  border: 1px solid #fed7aa;
  color: #b45309;
  background: #fff7ed;
}

.going-btn {
  border: 1px solid #bbf7d0;
  color: #047857;
  background: #f0fdf4;
}

.interested-btn.selected,
.going-btn.selected {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #2454ff 52%, #7b00ff);
  box-shadow: 0 14px 28px rgba(93, 44, 255, 0.16);
}

.event-actions a {
  margin-left: auto;
  color: #ffffff;
  background: #092766;
}

.event-form .form-section textarea {
  min-height: 96px;
}

.event-form .event-pricing-section {
  display: grid;
  gap: 14px;
}

.event-form .event-pricing-grid {
  grid-template-columns: repeat(4, minmax(180px, 1fr));
  align-items: start;
}

.event-form .event-pricing-grid label {
  min-width: 0;
}

.event-form .event-pricing-grid .field-add-link {
  margin-top: 6px;
}

.event-form .event-option-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.event-form .event-option-row .compact-check {
  width: auto;
  min-width: 180px;
  min-height: 42px;
  margin: 0;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
  color: #111c3a;
  font-size: 13px;
  font-weight: 800;
}

.event-form .event-option-row .compact-check input {
  width: 16px;
  min-height: 16px;
  margin: 0;
  accent-color: #6d19f5;
}

.event-attendance-section .audience-row {
  margin-bottom: 22px;
}

.event-attendance-section .registration-row {
  padding-top: 18px;
  border-top: 1px solid #edf2f8;
}

.event-agenda-section {
  display: grid;
  gap: 16px;
}

.section-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

.section-title-row h3 {
  margin: 0;
}

.add-agenda-item {
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(93, 44, 255, 0.22);
  border-radius: 12px;
  color: #4f22d8;
  background: #f7f3ff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.add-agenda-item:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 52%, #7b00ff);
  box-shadow: 0 14px 28px rgba(93, 44, 255, 0.18);
}

.agenda-builder {
  display: grid;
  gap: 12px;
}

.agenda-item-row {
  padding: 14px;
  display: grid;
  grid-template-columns: minmax(110px, 0.35fr) minmax(220px, 1fr) minmax(180px, 0.8fr) 42px;
  gap: 12px;
  align-items: end;
  border: 1px solid #e5edf7;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffff, #f8fbff);
}

.agenda-item-row button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid #f1d1d8;
  border-radius: 12px;
  color: #e11d48;
  background: #fff5f7;
  cursor: pointer;
}

.speaker-host-row {
  padding-top: 4px;
}

.event-visibility-section .keyword-full-row {
  margin-top: 16px;
  grid-template-columns: 1fr;
}

.event-visibility-section .keyword-full-row input {
  min-height: 50px;
}

.event-detail-main {
  display: grid;
  gap: 18px;
}

.back-link {
  color: #5537d6;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  text-decoration: none;
}

.event-detail-hero {
  background: #ffffff;
  border: 1px solid #e3ebf6;
  border-radius: 24px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.07);
  overflow: hidden;
}

.event-detail-banner {
  min-height: 320px;
  padding: 30px;
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: end;
  gap: 24px;
  color: #ffffff;
  background:
    linear-gradient(120deg, rgba(4, 20, 55, 0.9), rgba(13, 148, 136, 0.5), rgba(96, 31, 204, 0.72)),
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.24), transparent 30%),
    linear-gradient(135deg, #042f4f, #0f766e 48%, #4f22d8);
}

.event-detail-date {
  background: rgba(255, 255, 255, 0.95);
  color: #101a3d;
  border-radius: 22px;
  padding: 18px;
  text-align: center;
  box-shadow: 0 18px 35px rgba(2, 6, 23, 0.22);
}

.event-detail-date strong {
  display: block;
  font-size: 46px;
  line-height: 1;
}

.event-detail-date span {
  color: #667085;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.event-detail-title h1 {
  margin: 14px 0 10px;
  max-width: 900px;
  color: #ffffff;
  font-size: clamp(34px, 4vw, 56px);
  letter-spacing: -0.03em;
}

.event-detail-title p {
  max-width: 820px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 18px;
  line-height: 1.65;
}

.event-detail-actions {
  padding: 18px 22px;
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}

.event-detail-actions .button {
  min-height: 42px;
}

.event-meta-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.event-meta-strip div,
.event-info-card {
  background: #ffffff;
  border: 1px solid #e3ebf6;
  border-radius: 20px;
  box-shadow: 0 14px 35px rgba(15, 23, 42, 0.055);
}

.event-meta-strip div {
  padding: 18px;
  display: grid;
  gap: 5px;
}

.event-meta-strip i {
  width: 38px;
  height: 38px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  color: #4f22d8;
  background: #f0ebff;
}

.event-meta-strip strong {
  color: #111c3a;
  font-size: 15px;
}

.event-meta-strip span {
  color: #667085;
  line-height: 1.45;
}

.event-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.event-info-card {
  padding: 22px;
}

.event-info-card.wide {
  grid-column: 1 / -1;
}

.event-info-card h2 {
  margin: 0 0 12px;
  color: #111c3a;
  font-size: 20px;
}

.event-info-card p {
  color: #4b5565;
  line-height: 1.75;
}

.clean-list {
  margin: 0;
  padding: 0;
  display: grid;
  gap: 10px;
  list-style: none;
}

.clean-list li {
  display: flex;
  gap: 10px;
  color: #4b5565;
  line-height: 1.55;
}

.clean-list li::before {
  content: "";
  width: 9px;
  height: 9px;
  margin-top: 8px;
  border-radius: 999px;
  flex: 0 0 auto;
  background: linear-gradient(135deg, #00a8b5, #6d19f5);
}

.event-organizer,
.speaker-list div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.event-avatar,
.speaker-list span {
  width: 52px;
  height: 52px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  color: #ffffff;
  font-weight: 900;
  background: linear-gradient(135deg, #00a8b5, #2164f3);
}

.event-organizer strong,
.speaker-list strong {
  display: block;
  color: #111c3a;
}

.event-organizer span,
.speaker-list small {
  color: #667085;
}

.event-map-placeholder {
  min-height: 120px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  gap: 8px;
  color: #4f22d8;
  background:
    linear-gradient(135deg, rgba(0, 168, 181, 0.12), rgba(109, 25, 245, 0.12)),
    repeating-linear-gradient(45deg, rgba(17, 28, 58, 0.05) 0 8px, transparent 8px 16px);
}

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

.agenda-list div {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  gap: 12px 18px;
  padding: 14px;
  border: 1px solid #e8eef8;
  border-radius: 16px;
  background: #fbfdff;
}

.agenda-list time {
  color: #5537d6;
  font-weight: 900;
}

.agenda-list strong {
  color: #111c3a;
}

.agenda-list span {
  grid-column: 2;
  color: #667085;
}

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

.event-gallery-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.event-gallery-grid div {
  min-height: 130px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  gap: 8px;
  text-align: center;
  color: #ffffff;
  background: linear-gradient(135deg, #0f766e, #4f22d8);
}

.event-gallery-grid div:nth-child(2) {
  background: linear-gradient(135deg, #2563eb, #00a8b5);
}

.event-gallery-grid div:nth-child(3) {
  background: linear-gradient(135deg, #7c3aed, #db2777);
}

.event-gallery-grid div:nth-child(4) {
  background: linear-gradient(135deg, #f97316, #e11d48);
}

.event-gallery-grid div:nth-child(5) {
  background: linear-gradient(135deg, #111c3a, #2563eb);
}

.event-gallery-grid i {
  font-size: 28px;
}

.event-gallery-grid span {
  font-weight: 800;
}

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

  .event-form .event-pricing-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }

  .agenda-item-row {
    grid-template-columns: minmax(110px, 0.45fr) minmax(0, 1fr);
  }

  .agenda-item-row button {
    width: 100%;
    grid-column: 2;
  }

  .event-meta-strip,
  .event-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .event-gallery-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .events-hero {
    display: grid;
  }

  .event-search-panel {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .events-main {
    padding: 16px 12px 24px;
  }

  .event-card {
    grid-template-columns: 1fr;
  }

  .event-actions a {
    margin-left: 0;
  }

  .event-form .event-pricing-grid {
    grid-template-columns: 1fr;
  }

  .agenda-item-row {
    grid-template-columns: 1fr;
  }

  .agenda-item-row button {
    grid-column: auto;
  }

  .event-detail-banner,
  .agenda-list div,
  .event-meta-strip,
  .event-detail-grid,
  .event-gallery-grid {
    grid-template-columns: 1fr;
  }

  .event-detail-banner {
    min-height: auto;
    padding: 22px;
  }

  .agenda-list span {
    grid-column: auto;
  }
}

/* Messages & Notifications */
.comms-body {
  background:
    radial-gradient(circle at 50% 0, rgba(93, 44, 255, 0.06), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #f5f8fc 100%);
}

.top-icon {
  position: relative;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 12px;
  color: #06143b;
  background: transparent;
}

.top-icon:hover,
.top-icon.active {
  border-color: #dce5f1;
  background: #f8fbff;
}

.top-icon span {
  position: absolute;
  top: -3px;
  right: -3px;
  min-width: 17px;
  height: 17px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  color: #ffffff;
  background: #5d2cff;
  font-size: 10px;
  font-weight: 900;
}

.comms-main {
  min-width: 0;
  padding: 22px 24px 30px;
}

.comms-hero,
.messages-shell,
.conversation-list,
.chat-panel,
.chat-context,
.notification-tabs,
.notification-card {
  border: 1px solid #e3ebf6;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 46px rgba(15, 23, 42, 0.045);
}

.comms-hero {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 20px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  background:
    radial-gradient(circle at 94% 0, rgba(93, 44, 255, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #f8fbff);
}

.comms-hero h1 {
  max-width: 780px;
  margin: 5px 0;
  color: #0b1638;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
}

.comms-hero p {
  max-width: 760px;
  margin: 0;
  color: #5d6b86;
  font-size: 15px;
}

.comms-stats {
  min-width: 300px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.comms-stats div {
  padding: 12px;
  border: 1px solid #e6edf7;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.78);
}

.comms-stats strong {
  display: block;
  color: #0b1638;
  font-size: 22px;
  line-height: 1;
}

.comms-stats span {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.messages-shell {
  max-width: 1280px;
  margin: 0 auto;
  padding: 12px;
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr) 280px;
  gap: 12px;
}

.conversation-list,
.chat-panel,
.chat-context {
  box-shadow: none;
}

.conversation-list {
  padding: 10px;
  display: grid;
  gap: 8px;
}

.conversation-search {
  min-height: 42px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
}

.conversation-search input {
  width: 100%;
  border: 0;
  outline: none;
  background: transparent;
  font: inherit;
}

.conversation-item {
  padding: 10px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 10px;
  border: 1px solid transparent;
  border-radius: 14px;
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.conversation-item.active,
.conversation-item:hover {
  border-color: #dce5f1;
  background: #f8fbff;
}

.conversation-item strong,
.conversation-item small,
.conversation-item p {
  display: block;
  margin: 0;
}

.conversation-item strong {
  color: #0b1638;
  font-size: 13px;
}

.conversation-item small,
.conversation-item em {
  color: #667085;
  font-style: normal;
  font-size: 11px;
}

.conversation-item p {
  color: #536587;
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.contact-avatar.blue {
  background: linear-gradient(135deg, #2454ff, #5d2cff);
}

.contact-avatar.orange {
  background: linear-gradient(135deg, #f97316, #e11d48);
}

.chat-panel {
  display: grid;
  grid-template-rows: auto minmax(320px, 1fr) auto auto;
  overflow: hidden;
}

.chat-header {
  padding: 14px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid #eef2f7;
}

.chat-header strong,
.chat-header span {
  display: block;
}

.chat-header strong {
  color: #0b1638;
}

.chat-header span {
  color: #667085;
  font-size: 12px;
}

.chat-header div:last-child {
  display: flex;
  gap: 7px;
}

.chat-header button,
.chat-composer button {
  min-width: 38px;
  height: 38px;
  border: 1px solid #dce5f1;
  border-radius: 10px;
  color: #4f22d8;
  background: #ffffff;
}

.chat-body {
  padding: 18px;
  display: grid;
  align-content: start;
  gap: 12px;
  background:
    radial-gradient(circle at 0 0, rgba(0, 168, 181, 0.06), transparent 30%),
    #fbfdff;
}

.message-bubble {
  max-width: 72%;
  padding: 11px 13px;
  border-radius: 16px;
}

.message-bubble p {
  margin: 0;
  font-size: 13px;
  line-height: 1.5;
}

.message-bubble span {
  display: block;
  margin-top: 5px;
  font-size: 10px;
  opacity: 0.72;
}

.message-bubble.incoming {
  justify-self: start;
  color: #26324d;
  background: #ffffff;
  border: 1px solid #e6edf7;
}

.message-bubble.outgoing {
  justify-self: end;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 52%, #7b00ff);
}

.quick-replies,
.chat-composer {
  padding: 12px;
  display: flex;
  gap: 8px;
  border-top: 1px solid #eef2f7;
}

.quick-replies button {
  padding: 8px 10px;
  border: 1px solid #dce5f1;
  border-radius: 999px;
  color: #4f22d8;
  background: #f8fbff;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
}

.chat-composer input {
  flex: 1;
  min-width: 0;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  padding: 0 12px;
  font: inherit;
}

.chat-composer .send-button {
  width: auto;
  padding: 0 14px;
  color: #ffffff;
  border-color: transparent;
  background: #092766;
}

.chat-context {
  padding: 0;
  display: grid;
  align-content: start;
  gap: 12px;
  border: 0;
  background: transparent;
}

.notifications-layout {
  max-width: 1000px;
  margin: 0 auto;
  display: grid;
  gap: 14px;
}

.notification-tabs {
  padding: 8px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
}

.notification-tabs a,
.notification-tabs button {
  flex: 0 0 auto;
  padding: 9px 12px;
  border: 0;
  border-radius: 10px;
  color: #52617d;
  background: transparent;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
}

.notification-tabs a.active {
  color: #ffffff;
  background: #092766;
}

.notification-tabs button {
  margin-left: auto;
  border: 1px solid #dce5f1;
  background: #fbfdff;
}

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

.notification-card {
  padding: 14px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.notification-card.priority {
  border-color: rgba(93, 44, 255, 0.22);
  background:
    radial-gradient(circle at 100% 0, rgba(93, 44, 255, 0.08), transparent 28%),
    #ffffff;
}

.notification-card > i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #4f22d8;
  background: #f1ecff;
}

.notification-card span,
.notification-card h2,
.notification-card p,
.notification-card small {
  display: block;
  margin: 0;
}

.notification-card span {
  color: #4f22d8;
  font-size: 11px;
  font-weight: 900;
}

.notification-card h2 {
  margin-top: 3px;
  color: #0b1638;
  font-size: 15px;
}

.notification-card p {
  margin-top: 4px;
  color: #536587;
  font-size: 13px;
}

.notification-card small {
  margin-top: 6px;
  color: #667085;
  font-size: 11px;
}

.notification-card a {
  padding: 9px 12px;
  border-radius: 10px;
  color: #ffffff;
  background: #092766;
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 1180px) {
  .messages-shell {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .comms-hero {
    display: grid;
  }

  .comms-stats {
    min-width: 0;
  }
}

@media (max-width: 620px) {
  .comms-main {
    padding: 16px 12px 24px;
  }

  .comms-stats,
  .notification-card {
    grid-template-columns: 1fr;
  }

  .message-bubble {
    max-width: 100%;
  }

  .chat-composer,
  .quick-replies {
    flex-wrap: wrap;
  }
}

/* People */
.people-body {
  background:
    radial-gradient(circle at 50% 0, rgba(0, 168, 181, 0.06), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #f5f8fc 100%);
}

.people-main,
.people-profile-main {
  min-width: 0;
  padding: 22px 24px 30px;
}

.people-hero,
.people-search-panel,
.person-card,
.people-quick-card,
.person-profile-hero {
  border: 1px solid #e3ebf6;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 16px 46px rgba(15, 23, 42, 0.045);
}

.people-hero {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 20px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 20px;
  background:
    radial-gradient(circle at 92% 0, rgba(0, 168, 181, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #f3fbff);
}

.people-hero h1 {
  max-width: 780px;
  margin: 5px 0;
  color: #0b1638;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
}

.people-hero p {
  max-width: 760px;
  margin: 0;
  color: #5d6b86;
  font-size: 15px;
}

.people-quick-card {
  padding: 16px;
  display: grid;
  gap: 8px;
  align-content: center;
}

.people-quick-card strong {
  color: #0b1638;
  font-size: 16px;
}

.people-quick-card span {
  color: #5d6b86;
  font-size: 13px;
}

.people-quick-card a {
  min-height: 36px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #4f22d8;
  background: #f5f1ff;
  font-weight: 900;
  font-size: 12px;
}

.people-search-panel {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(280px, 1fr) 190px 170px 180px;
  gap: 10px;
}

.people-search-panel label {
  min-height: 44px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
}

.people-search-panel input,
.people-search-panel select {
  width: 100%;
  min-height: 44px;
  border: 1px solid #dce5f1;
  border-radius: 12px;
  background: #fbfdff;
  color: #111c3a;
  font: inherit;
}

.people-search-panel label input {
  min-height: auto;
  padding: 0;
  border: 0;
  outline: none;
}

.people-directory,
.people-profile-grid {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
  align-items: start;
}

.people-list,
.people-rail,
.people-profile-left {
  display: grid;
  gap: 14px;
}

.person-card {
  padding: 16px;
  display: grid;
  grid-template-columns: 84px minmax(0, 1fr);
  gap: 14px;
}

.featured-person {
  border-color: rgba(0, 168, 181, 0.22);
  background:
    radial-gradient(circle at 98% 0, rgba(0, 168, 181, 0.1), transparent 28%),
    #ffffff;
}

.person-avatar,
.person-photo {
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #ffffff;
  background: linear-gradient(135deg, #2454ff, #0fa77a);
  font-weight: 900;
}

.person-avatar.large {
  width: 84px;
  height: 84px;
  font-size: 24px;
}

.person-avatar.female {
  background: linear-gradient(135deg, #e11d48, #f97316);
}

.person-avatar.blue {
  background: linear-gradient(135deg, #2454ff, #5d2cff);
}

.person-card-title {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.person-card-title small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.person-card h2 {
  margin: 7px 0 5px;
  color: #0b1638;
  font-size: 19px;
}

.person-card p {
  margin: 0;
  color: #536587;
  font-size: 13px;
  line-height: 1.5;
}

.person-profile-hero {
  overflow: hidden;
}

.person-cover {
  height: 170px;
  background:
    linear-gradient(rgba(7, 22, 56, 0.12), rgba(7, 22, 56, 0.44)),
    radial-gradient(circle at 82% 20%, rgba(255, 255, 255, 0.28), transparent 18%),
    linear-gradient(135deg, #0f766e, #2454ff 58%, #7b00ff);
}

.person-profile-summary {
  padding: 18px 20px 20px;
  display: grid;
  grid-template-columns: 128px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.person-photo {
  width: 128px;
  height: 128px;
  margin-top: -72px;
  border: 6px solid #ffffff;
  border-radius: 26px;
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
  font-size: 38px;
}

.person-title-block h1 {
  margin: 8px 0 5px;
  color: #0b1638;
  font-size: clamp(26px, 3vw, 36px);
  line-height: 1.08;
}

.person-title-block p,
.person-title-block small {
  display: block;
  margin: 0;
  color: #536587;
  font-size: 15px;
}

.person-title-block small {
  margin-top: 4px;
  font-size: 13px;
}

.person-facts {
  padding: 14px 20px 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  border-top: 1px solid #eef2f7;
}

.person-facts div {
  display: grid;
  grid-template-columns: 34px 1fr;
  gap: 9px;
  align-items: center;
}

.person-facts i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 10px;
  color: #4f22d8;
  background: #f1ecff;
}

.person-facts strong,
.person-facts span {
  display: block;
}

.person-facts strong {
  color: #0b1638;
  font-size: 12px;
}

.person-facts span {
  color: #667085;
  font-size: 11px;
}

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

.experience-list div {
  padding: 12px;
  border: 1px solid #eef2f7;
  border-radius: 14px;
  background: #fbfdff;
}

.experience-list strong,
.experience-list span,
.experience-list p {
  display: block;
}

.experience-list strong {
  color: #0b1638;
}

.experience-list span {
  margin-top: 3px;
  color: #4f22d8;
  font-size: 12px;
  font-weight: 800;
}

.experience-list p {
  margin: 7px 0 0;
  color: #536587;
  font-size: 13px;
}

.company-mini-card {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 12px;
  align-items: center;
}

.company-mini-card .company-logo-mark {
  width: 64px;
  height: 64px;
  font-size: 24px;
  border-radius: 16px;
}

.company-mini-card strong,
.company-mini-card span,
.company-mini-card a {
  display: block;
}

.company-mini-card strong {
  color: #0b1638;
}

.company-mini-card span {
  margin: 3px 0 8px;
  color: #667085;
  font-size: 12px;
}

.company-mini-card a {
  color: #4f22d8;
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 1180px) {
  .people-hero,
  .people-directory,
  .people-profile-grid,
  .person-profile-summary {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .people-search-panel,
  .person-facts {
    grid-template-columns: 1fr;
  }

  .person-card {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 620px) {
  .people-main,
  .people-profile-main {
    padding: 16px 12px 24px;
  }

  .person-photo {
    width: 104px;
    height: 104px;
    margin-top: -56px;
  }
}

/* Admin wireframes */
.admin-login-body,
.admin-body {
  min-height: 100vh;
  font-family: "Outfit", sans-serif;
  color: #101a35;
  background:
    radial-gradient(circle at top left, rgba(0, 168, 181, 0.12), transparent 30%),
    radial-gradient(circle at top right, rgba(108, 43, 255, 0.1), transparent 28%),
    #f6f8fc;
}

.admin-login {
  min-height: 100vh;
  padding: 40px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 30px;
  align-items: stretch;
  max-width: 1180px;
  margin: 0 auto;
}

.admin-login-brand,
.admin-login-card,
.admin-panel,
.admin-stats article,
.moderation-card {
  border: 1px solid rgba(211, 222, 238, 0.9);
  border-radius: 24px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
}

.admin-login-brand {
  padding: 34px;
  min-height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background:
    radial-gradient(circle at 88% 8%, rgba(0, 168, 181, 0.14), transparent 28%),
    linear-gradient(135deg, #071932 0%, #102b4b 58%, #173d63 100%);
  color: #ffffff;
}

.admin-login-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.admin-login-logo {
  display: flex;
  align-items: center;
  gap: 13px;
}

.admin-login-logo img {
  width: 76px;
  height: 52px;
  object-fit: contain;
  filter: drop-shadow(0 10px 22px rgba(0, 0, 0, 0.18));
}

.admin-login-logo strong {
  display: block;
  color: #ffffff;
  font-size: 34px;
  line-height: 0.95;
  letter-spacing: -0.04em;
}

.admin-login-logo small {
  display: block;
  margin-top: 4px;
  color: #e8dcff;
  font-size: 14px;
  font-weight: 900;
}

.admin-login-topline > span,
.admin-eyebrow {
  display: inline-flex;
  padding: 7px 12px;
  border-radius: 999px;
  color: #00a8b5;
  background: rgba(0, 168, 181, 0.1);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.admin-login-brand h1 {
  max-width: 620px;
  margin: 46px 0 14px;
  font-size: clamp(34px, 4.2vw, 54px);
  line-height: 1.04;
  letter-spacing: -0.045em;
}

.admin-login-brand p {
  max-width: 590px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 16px;
  line-height: 1.7;
}

.admin-login-points {
  margin-top: 34px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-login-points strong {
  padding: 10px 13px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 12px;
}

.admin-login-card {
  padding: 34px;
  min-height: 560px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.admin-login-icon {
  width: 62px;
  height: 62px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #6617ff);
  box-shadow: 0 16px 28px rgba(93, 44, 255, 0.22);
}

.admin-login-card h2 {
  margin: 18px 0 6px;
  color: #0b1638;
  font-size: 28px;
}

.admin-login-card p,
.admin-login-card small {
  color: #667085;
}

.admin-login-card form {
  margin-top: 24px;
  display: grid;
  gap: 14px;
}

.admin-login-card label {
  display: grid;
  gap: 7px;
  color: #25314f;
  font-size: 13px;
  font-weight: 900;
}

.admin-login-card input,
.admin-search input {
  width: 100%;
  min-height: 48px;
  border: 1px solid #dbe5f2;
  border-radius: 14px;
  background: #fbfdff;
  color: #111c3a;
  font: inherit;
}

.admin-login-card input {
  padding: 0 14px;
}

.admin-login-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: #667085;
  font-size: 12px;
}

.admin-login-row label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #667085;
}

.admin-login-row input {
  width: auto;
  min-height: auto;
}

.admin-primary-btn {
  min-height: 48px;
  padding: 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 0;
  border-radius: 14px;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 52%, #7b00ff);
  font-weight: 900;
  box-shadow: 0 18px 36px rgba(93, 44, 255, 0.24);
}

.admin-primary-btn.small {
  min-height: 42px;
  padding: 0 15px;
  font-size: 13px;
}

.admin-body {
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
}

.admin-sidebar {
  position: sticky;
  top: 0;
  max-height: 100vh;
  min-height: 100vh;
  padding: 18px;
  overflow-y: auto;
  background: #061735;
  color: #ffffff;
}

.admin-brand {
  min-height: 58px;
  padding: 8px 10px;
  display: flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
}

.admin-brand img {
  width: 42px;
  height: 42px;
  object-fit: contain;
}

.admin-brand span {
  display: grid;
  font-size: 19px;
  font-weight: 900;
}

.admin-brand small {
  color: #00d1d8;
  font-size: 11px;
}

.admin-sidebar nav {
  margin-top: 16px;
  display: grid;
  gap: 5px;
}

.admin-sidebar nav a {
  min-height: 38px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 11px;
  border-radius: 12px;
  color: rgba(255, 255, 255, 0.74);
  font-weight: 800;
  font-size: 13px;
}

.admin-sidebar nav a:hover,
.admin-sidebar nav a.active {
  color: #ffffff;
  background: linear-gradient(135deg, rgba(0, 168, 181, 0.26), rgba(116, 52, 255, 0.42));
}

.admin-main {
  min-width: 0;
  padding: 24px;
}

.admin-topbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 440px) auto;
  gap: 16px;
  align-items: center;
  margin-bottom: 18px;
}

.admin-topbar h1 {
  margin: 6px 0 0;
  color: #0b1638;
  font-size: clamp(26px, 3vw, 38px);
}

.admin-search {
  min-height: 48px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #dbe5f2;
  border-radius: 16px;
  background: #ffffff;
}

.admin-search input {
  min-height: auto;
  padding: 0;
  border: 0;
  outline: none;
}

.admin-user {
  min-height: 48px;
  padding: 6px 12px 6px 7px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #dbe5f2;
  border-radius: 16px;
  background: #ffffff;
}

.admin-user > span {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #ffffff;
  background: #061735;
  font-weight: 900;
}

.admin-user strong,
.admin-user small {
  display: block;
}

.admin-user small {
  color: #667085;
  font-size: 11px;
}

.admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.admin-stats article {
  padding: 18px;
  display: grid;
  gap: 6px;
}

.admin-stats i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #4f22d8;
  background: #f1ecff;
}

.admin-stats span,
.admin-stats small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.admin-stats strong {
  color: #0b1638;
  font-size: 30px;
  line-height: 1;
}

.admin-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.admin-panel {
  padding: 22px;
}

.admin-panel.wide {
  min-width: 0;
  grid-column: 1 / -1;
}

.admin-panel-head {
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.admin-panel-head h2 {
  margin: 0;
  color: #0b1638;
  font-size: 19px;
}

.admin-panel-head a,
.admin-table a,
.admin-login-row a {
  color: #4f22d8;
  font-weight: 900;
  font-size: 13px;
}

.admin-table-row a {
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid #dbe5f2;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #17234a;
  background: #ffffff;
  text-decoration: none;
  box-shadow: 0 8px 18px rgba(12, 31, 68, 0.06);
}

.admin-table-row a:hover {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #6127ff);
}

.admin-table-row button {
  min-height: 32px;
  padding: 0 11px;
  border: 1px solid #dbe5f2;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #17234a;
  background: #ffffff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 8px 18px rgba(12, 31, 68, 0.06);
}

.admin-table-row button:hover {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #6127ff);
}

.admin-table-row > span:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  align-items: center;
}

.admin-panel-head button {
  min-height: 34px;
  padding: 0 12px;
  border: 1px solid #dbe5f2;
  border-radius: 10px;
  background: #ffffff;
  color: #25314f;
  font-weight: 900;
}

.admin-table {
  display: grid;
  overflow: hidden;
  border: 1px solid #edf1f7;
  border-radius: 16px;
}

.admin-table-row {
  display: grid;
  grid-template-columns: 1.4fr 0.8fr 1fr 0.8fr 0.7fr;
  gap: 12px;
  align-items: center;
  padding: 13px 14px;
  border-top: 1px solid #edf1f7;
  color: #34405f;
  font-size: 13px;
}

.admin-table-row:first-child {
  border-top: 0;
}

.admin-table-row.head {
  color: #667085;
  background: #f8fbff;
  font-size: 12px;
  font-weight: 900;
}

.admin-table-row strong,
.admin-table-row small {
  display: block;
}

.admin-table-row small {
  margin-top: 3px;
  color: #667085;
  font-size: 11px;
}

.status {
  display: inline-flex;
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.status.green {
  color: #047857;
  background: #dffcf1;
}

.status.orange {
  color: #b45309;
  background: #fff3da;
}

.status.red {
  color: #b91c1c;
  background: #ffe7e7;
}

.status.blue {
  color: #2454ff;
  background: #eef3ff;
}

.admin-check-list,
.admin-actions-list,
.permission-list {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-check-list li,
.admin-actions-list a,
.permission-list label,
.admin-control-card {
  padding: 12px;
  border: 1px solid #edf1f7;
  border-radius: 14px;
  background: #fbfdff;
  color: #34405f;
  font-size: 13px;
}

.admin-check-list i {
  margin-right: 7px;
  color: #00a878;
}

.admin-actions-list a {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #0b1638;
  font-weight: 900;
}

.admin-timeline {
  display: grid;
  gap: 10px;
}

.admin-timeline p {
  margin: 0;
  padding: 12px;
  border-radius: 14px;
  background: #fbfdff;
  color: #34405f;
}

.admin-timeline span {
  color: #667085;
  font-size: 12px;
}

.admin-filter-bar {
  margin-bottom: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.admin-filter-bar button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #dbe5f2;
  border-radius: 999px;
  background: #ffffff;
  color: #34405f;
  font-weight: 900;
}

.admin-filter-bar button.active {
  color: #ffffff;
  background: #061735;
}

.admin-control-card {
  margin-bottom: 12px;
}

.admin-control-card strong {
  display: block;
  margin-bottom: 5px;
  color: #0b1638;
}

.admin-control-card p {
  margin: 0;
  color: #667085;
  line-height: 1.5;
}

.admin-control-card.warning {
  border-color: #fed7aa;
  background: #fff7ed;
}

.admin-moderation-list {
  display: grid;
  gap: 14px;
}

.admin-wide-table .admin-table-row,
.audit-table .admin-table-row {
  grid-template-columns: minmax(240px, 1.35fr) 0.85fr 0.95fr 0.7fr 1fr;
}

.admin-setting-list,
.admin-settings-grid {
  display: grid;
  gap: 12px;
}

.admin-setting-list label,
.admin-settings-grid label {
  display: grid;
  gap: 7px;
  color: #14203d;
  font-weight: 900;
}

.admin-setting-list label {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  padding: 14px;
  border: 1px solid #e4edf8;
  border-radius: 14px;
  background: #fbfdff;
}

.admin-setting-list input[type="checkbox"] {
  width: 42px;
  height: 22px;
  accent-color: #6d28d9;
}

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

.admin-settings-grid input,
.admin-settings-grid select {
  width: 100%;
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  background: #ffffff;
  color: #081436;
  font: inherit;
}

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

.moderation-card {
  padding: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.moderation-card h2 {
  margin: 10px 0 6px;
  color: #0b1638;
  font-size: 20px;
}

.moderation-card p,
.moderation-card small {
  color: #667085;
}

.moderation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.moderation-actions button,
.moderation-actions a {
  min-height: 38px;
  padding: 0 13px;
  border: 1px solid #dbe5f2;
  border-radius: 11px;
  background: #ffffff;
  color: #25314f;
  font-weight: 900;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
}

.moderation-actions button:first-child {
  color: #ffffff;
  border-color: transparent;
  background: #00a878;
}

.moderation-actions .danger {
  color: #ffffff;
  border-color: transparent;
  background: #e11d48;
}

.taxonomy-stats article:nth-child(1) i { color: #2454ff; background: #eef3ff; }
.taxonomy-stats article:nth-child(2) i { color: #00a878; background: #e3fff4; }
.taxonomy-stats article:nth-child(3) i { color: #f97316; background: #fff3e8; }
.taxonomy-stats article:nth-child(4) i { color: #7b00ff; background: #f4ecff; }

.taxonomy-table .admin-table-row {
  grid-template-columns: minmax(190px, 1.2fr) minmax(180px, 1.25fr) 0.55fr 0.7fr minmax(170px, 1fr);
}

.taxonomy-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.taxonomy-actions a,
.taxonomy-actions button {
  margin: 0;
  padding: 6px 9px;
  border: 1px solid #dce6f2;
  border-radius: 999px;
  background: #fbfdff;
  color: #3f17d9;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.taxonomy-actions a:hover,
.taxonomy-actions button:hover {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
}

/* Admin taxonomy page needs wider working space than the default admin dashboard grid. */
.taxonomy-admin-grid {
  grid-template-columns: minmax(0, 1fr);
}

.taxonomy-admin-grid .admin-panel {
  min-width: 0;
}

.taxonomy-admin-grid .taxonomy-map-panel,
.taxonomy-admin-grid .admin-panel.wide {
  grid-column: 1 / -1;
}

.taxonomy-admin-grid .taxonomy-rules-panel {
  max-width: none;
}

.taxonomy-admin-grid .taxonomy-suggestions-panel {
  margin-top: 0;
}

.taxonomy-table {
  width: 100%;
  overflow-x: auto;
}

.taxonomy-table .admin-table-row {
  min-width: 920px;
  grid-template-columns: minmax(210px, 1.05fr) minmax(260px, 1.25fr) 90px 120px minmax(230px, 0.9fr);
}

.taxonomy-table .admin-table-row > span,
.taxonomy-table .admin-table-row > div,
.taxonomy-table .admin-table-row > a {
  min-width: 0;
}

.taxonomy-table .admin-table-row > span:nth-child(1),
.taxonomy-table .admin-table-row > span:nth-child(2) {
  overflow-wrap: anywhere;
}

.taxonomy-actions {
  justify-content: flex-start;
}

.taxonomy-actions a,
.taxonomy-actions button {
  white-space: nowrap;
}

.taxonomy-modal-card {
  width: min(100%, 680px);
}

.taxonomy-action-form {
  margin-top: 14px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.taxonomy-action-form label {
  margin-top: 0;
}

.taxonomy-action-form select,
.taxonomy-action-form textarea {
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  color: #111c3a;
  background: #f8fbff;
  font: inherit;
}

.taxonomy-action-form textarea {
  min-height: 96px;
  padding-top: 12px;
  resize: vertical;
}

.taxonomy-note-field,
.taxonomy-delete-warning,
.taxonomy-action-form .option-modal-actions {
  grid-column: 1 / -1;
}

.taxonomy-delete-warning {
  display: none;
  align-items: flex-start;
  gap: 12px;
  padding: 14px;
  border: 1px solid #fecdd3;
  border-radius: 14px;
  color: #9f1239;
  background: #fff1f2;
}

.taxonomy-delete-warning i {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #ffe4e6;
}

.taxonomy-delete-warning strong,
.taxonomy-delete-warning span {
  display: block;
}

.taxonomy-delete-warning span {
  margin-top: 3px;
  color: #be123c;
  line-height: 1.45;
}

.taxonomy-danger-submit {
  background: linear-gradient(135deg, #e11d48, #be123c) !important;
}

.taxonomy-suggestions-panel .taxonomy-table .admin-table-row {
  min-width: 820px;
  grid-template-columns: minmax(220px, 1.2fr) minmax(180px, 0.85fr) minmax(180px, 0.95fr) 130px minmax(160px, 0.7fr);
}

.taxonomy-rules-panel .admin-check-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.taxonomy-rules-panel .admin-check-list li {
  align-items: flex-start;
}

@media (max-width: 760px) {
  .taxonomy-table .admin-table-row,
  .taxonomy-suggestions-panel .taxonomy-table .admin-table-row {
    min-width: 0;
    grid-template-columns: 1fr;
  }

  .taxonomy-rules-panel .admin-check-list {
    grid-template-columns: 1fr;
  }

  .taxonomy-actions {
    margin-top: 4px;
  }
}

.permission-list label {
  display: flex;
  align-items: center;
  gap: 9px;
  font-weight: 800;
}

.permission-list input {
  width: 18px;
  height: 18px;
  accent-color: #6617ff;
}

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

  .admin-sidebar {
    position: static;
    min-height: auto;
  }

  .admin-sidebar nav {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-topbar,
  .admin-grid,
  .admin-login,
  .admin-review-layout {
    grid-template-columns: 1fr;
  }

  .admin-login-brand,
  .admin-login-card {
    min-height: auto;
  }

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

  .admin-review-meta,
  .admin-media-review-grid,
  .admin-review-single > aside.admin-review-stack,
  .admin-review-single .admin-info-list,
  .admin-review-page .admin-side-actions {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .admin-main,
  .admin-login {
    padding: 16px;
  }

  .admin-sidebar nav,
  .admin-stats,
  .admin-table-row,
  .moderation-card,
  .admin-review-meta,
  .admin-media-review-grid,
  .admin-review-single > aside.admin-review-stack,
  .admin-review-single .admin-info-list,
  .admin-review-page .admin-side-actions,
  .admin-review-summary.with-logo,
  .admin-review-table div {
    grid-template-columns: 1fr;
  }

  .admin-detail-actions.compact {
    justify-content: stretch;
    flex-wrap: wrap;
  }

  .admin-detail-actions.compact a,
  .admin-detail-actions.compact button {
    flex: 1 1 140px;
  }

  .admin-login-topline {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-review-logo {
    margin-top: -68px;
  }

  .admin-table-row.head {
    display: none;
  }
}

/* Profile redesign: separates company showrooms from individual professionals */
.profile-redesign-main {
  min-width: 0;
  padding: 22px 24px 32px;
}

.business-showroom,
.professional-profile {
  max-width: 1280px;
  margin: 0 auto;
}

.business-hero,
.professional-hero,
.business-section,
.professional-section,
.business-side-column .profile-card,
.professional-side-column .profile-card {
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.055);
}

.business-hero,
.professional-hero {
  overflow: hidden;
}

.business-cover,
.professional-cover {
  min-height: 210px;
  padding: 26px;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 18px;
}

.business-cover {
  background:
    linear-gradient(90deg, rgba(2, 24, 55, 0.72), rgba(2, 24, 55, 0.18)),
    radial-gradient(circle at 82% 18%, rgba(255, 255, 255, 0.32), transparent 18%),
    linear-gradient(135deg, #005f73, #0a9396 42%, #94d2bd);
}

.professional-cover {
  background:
    linear-gradient(90deg, rgba(7, 22, 56, 0.58), rgba(7, 22, 56, 0.12)),
    radial-gradient(circle at 80% 20%, rgba(255, 255, 255, 0.34), transparent 18%),
    linear-gradient(135deg, #3b1d8f, #2454ff 48%, #00a8b5);
}

.business-cover-copy,
.availability-card {
  max-width: 420px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 16px;
  color: #ffffff;
  background: rgba(4, 17, 41, 0.34);
  backdrop-filter: blur(12px);
}

.business-cover-copy strong,
.availability-card strong,
.availability-card span {
  display: block;
}

.business-cover-copy p,
.availability-card strong {
  margin: 4px 0 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 14px;
  line-height: 1.45;
}

.availability-card span {
  color: #bffcff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.business-identity,
.professional-identity {
  padding: 22px 24px 18px;
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
}

.business-logo-mark,
.professional-photo {
  width: 132px;
  height: 132px;
  margin-top: -80px;
  display: grid;
  place-items: center;
  border: 7px solid #ffffff;
  border-radius: 28px;
  color: #ffffff;
  box-shadow: 0 22px 44px rgba(15, 23, 42, 0.16);
  font-size: 42px;
  font-weight: 900;
}

.business-logo-mark {
  background: linear-gradient(135deg, #0f766e, #2454ff);
}

.professional-photo {
  border-radius: 50%;
  background: linear-gradient(135deg, #7b00ff, #2454ff 54%, #00a8b5);
}

.profile-type-label {
  width: fit-content;
  margin-bottom: 8px;
  padding: 8px 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  color: #006b74;
  background: #e7fbfc;
  font-size: 12px;
  font-weight: 900;
}

.profile-type-label.person-label {
  color: #4f22d8;
  background: #f1ecff;
}

.business-title h1,
.professional-title h1 {
  margin: 10px 0 6px;
  color: #081436;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.05;
}

.business-title p,
.professional-title p,
.professional-title small {
  margin: 0;
  color: #52627d;
  font-size: 15px;
  line-height: 1.55;
}

.professional-title small {
  display: block;
  margin-top: 3px;
}

.business-trust-row {
  margin-top: 13px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.business-trust-row span {
  padding: 8px 10px;
  border-radius: 999px;
  color: #25314f;
  background: #f5f8fc;
  font-size: 12px;
  font-weight: 900;
}

.company-commerce-row {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.company-commerce-row span {
  padding: 9px 12px;
  border-radius: 14px;
  color: #0f3f46;
  background: linear-gradient(135deg, #e7fbfc, #f7fffe);
  border: 1px solid #cceff2;
  font-size: 12px;
  font-weight: 800;
}

.company-commerce-row strong {
  margin-right: 4px;
  color: #008c95;
}

.profile-primary-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.button.button-ghost {
  border: 1px solid #e2eaf5;
  color: #52627d;
  background: #ffffff;
}

.business-snapshot,
.professional-snapshot {
  padding: 16px 24px 22px;
  display: grid;
  gap: 10px;
  border-top: 1px solid #eef2f7;
}

.business-snapshot {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}

.professional-snapshot {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.business-snapshot div,
.professional-snapshot div {
  min-height: 96px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  grid-template-rows: auto auto;
  gap: 6px 12px;
  align-items: start;
  border: 1px solid #eef2f7;
  border-radius: 16px;
  background: #fbfdff;
}

.business-snapshot i,
.professional-snapshot i {
  grid-row: 1 / 3;
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
}

.business-snapshot i {
  color: #008c95;
  background: #e7fbfc;
}

.professional-snapshot i {
  color: #4f22d8;
  background: #f1ecff;
}

.business-snapshot strong,
.business-snapshot span,
.professional-snapshot strong,
.professional-snapshot span {
  display: block;
}

.business-snapshot strong,
.professional-snapshot strong {
  grid-column: 2;
  color: #081436;
  font-size: 14px;
  line-height: 1.35;
}

.business-snapshot span,
.professional-snapshot span {
  grid-column: 2;
  align-self: end;
  color: #667085;
  font-size: 12px;
  line-height: 1.35;
}

.redesigned-tabs {
  margin: 16px 0;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 36px rgba(15, 23, 42, 0.04);
}

.business-layout,
.professional-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  align-items: start;
}

.business-main-column,
.professional-main-column,
.business-side-column,
.professional-side-column {
  display: grid;
  gap: 16px;
}

.business-section,
.professional-section,
.business-side-column .profile-card,
.professional-side-column .profile-card {
  padding: 20px;
}

.section-heading {
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.section-heading > span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #007782;
  background: #e7fbfc;
  font-weight: 900;
}

.section-heading.person-heading > span {
  color: #4f22d8;
  background: #f1ecff;
}

.section-heading h2 {
  margin: 0;
  color: #081436;
  font-size: 21px;
}

.section-heading p,
.business-section > p,
.professional-section > p {
  margin: 4px 0 0;
  color: #61708a;
  line-height: 1.6;
}

.business-detail-grid,
.open-to-grid,
.business-offering-grid,
.professional-service-grid,
.marketplace-link-grid,
.portfolio-proof-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.business-detail-grid div,
.open-to-grid div,
.business-offering-grid div,
.professional-service-grid div,
.marketplace-link-grid a,
.portfolio-proof-grid div {
  padding: 15px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.business-detail-grid span,
.business-detail-grid strong,
.open-to-grid strong,
.open-to-grid span,
.business-offering-grid strong,
.business-offering-grid span,
.business-offering-grid a,
.professional-service-grid strong,
.professional-service-grid span,
.marketplace-link-grid strong,
.marketplace-link-grid span,
.portfolio-proof-grid strong,
.portfolio-proof-grid span {
  display: block;
}

.business-detail-grid span,
.open-to-grid span,
.business-offering-grid span,
.professional-service-grid span,
.marketplace-link-grid span,
.portfolio-proof-grid span {
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.business-detail-grid strong,
.open-to-grid strong,
.business-offering-grid strong,
.professional-service-grid strong,
.marketplace-link-grid strong,
.portfolio-proof-grid strong {
  margin-top: 4px;
  color: #081436;
  font-size: 14px;
}

.open-to-grid i,
.business-offering-grid i,
.professional-service-grid i {
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  display: grid;
  place-items: center;
  border-radius: 14px;
}

.business-offering-grid i {
  color: #008c95;
  background: #e7fbfc;
}

.open-to-grid i,
.professional-service-grid i {
  color: #4f22d8;
  background: #f1ecff;
}

.business-offering-grid a {
  margin-top: 10px;
  color: #4f22d8;
  font-size: 12px;
  font-weight: 900;
}

.marketplace-link-grid a {
  text-decoration: none;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.marketplace-link-grid a:hover {
  transform: translateY(-3px);
  border-color: #00a8b5;
  box-shadow: 0 16px 36px rgba(0, 168, 181, 0.12);
}

.marketplace-link-grid i,
.portfolio-proof-grid i {
  width: 38px;
  height: 38px;
  margin-bottom: 9px;
  display: grid;
  place-items: center;
  border-radius: 13px;
}

.marketplace-link-grid i {
  color: #008c95;
  background: #e7fbfc;
}

.portfolio-proof-grid i {
  color: #4f22d8;
  background: #f1ecff;
}

.capability-cloud {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.capability-cloud span {
  padding: 9px 11px;
  border-radius: 999px;
  color: #006b74;
  background: #e7fbfc;
  font-size: 12px;
  font-weight: 900;
}

.capability-cloud.person-cloud span {
  color: #4f22d8;
  background: #f1ecff;
}

.business-post-list,
.trust-stack {
  display: grid;
  gap: 10px;
}

.business-post-list div,
.trust-stack span {
  padding: 13px;
  border: 1px solid #edf2f8;
  border-radius: 15px;
  background: #fbfdff;
}

.business-post-list strong,
.business-post-list small {
  display: block;
}

.business-post-list strong {
  margin: 8px 0 4px;
  color: #081436;
}

.business-post-list small {
  color: #667085;
}

.trust-stack span {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  color: #34405f;
  font-weight: 800;
  line-height: 1.45;
}

.trust-stack i {
  color: #00a878;
  margin-top: 2px;
}

.trust-stack.person-trust i {
  color: #7b00ff;
}

.credibility-meter,
.availability-meter {
  margin: 12px 0 14px;
  padding: 14px;
  border-radius: 18px;
}

.credibility-meter {
  background: linear-gradient(135deg, #e7fbfc, #ffffff);
  border: 1px solid #cceff2;
}

.availability-meter {
  background: linear-gradient(135deg, #f1ecff, #ffffff);
  border: 1px solid #ded4ff;
}

.credibility-meter strong,
.credibility-meter span,
.availability-meter strong,
.availability-meter span {
  display: block;
}

.credibility-meter strong,
.availability-meter strong {
  color: #081436;
  font-size: 24px;
  line-height: 1;
}

.credibility-meter span,
.availability-meter span {
  margin-top: 6px;
  color: #61708a;
  font-size: 12px;
  line-height: 1.45;
}

.redesigned-experience div {
  background: #ffffff;
}

@media (max-width: 1180px) {
  .business-identity,
  .professional-identity,
  .business-layout,
  .professional-layout {
    grid-template-columns: 1fr;
  }

  .profile-primary-actions {
    justify-content: flex-start;
  }

  .business-snapshot,
  .professional-snapshot {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .profile-redesign-main {
    padding: 16px 12px 24px;
  }

  .business-cover,
  .professional-cover {
    min-height: 170px;
    padding: 18px;
    align-items: flex-start;
    flex-direction: column;
  }

  .business-logo-mark,
  .professional-photo {
    width: 104px;
    height: 104px;
    margin-top: -64px;
  }

  .business-snapshot,
  .professional-snapshot,
  .business-detail-grid,
  .open-to-grid,
  .business-offering-grid,
  .professional-service-grid,
  .marketplace-link-grid,
  .portfolio-proof-grid {
    grid-template-columns: 1fr;
  }
}

/* Profile setup v2 */
.profile-setup-v2 {
  background:
    radial-gradient(circle at 52% 0, rgba(0, 168, 181, 0.07), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #f4f7fb 100%);
}

.setup-v2-main {
  padding: 22px 24px 32px;
}

.setup-v2-hero,
.profile-type-switch,
.setup-v2-workspace,
.setup-v2-help .help-card,
.field-block {
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.045);
}

.setup-v2-hero {
  max-width: 1280px;
  margin: 0 auto 14px;
  padding: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 220px;
  gap: 18px;
  align-items: center;
  background:
    radial-gradient(circle at 88% 0, rgba(102, 23, 255, 0.12), transparent 28%),
    linear-gradient(135deg, #ffffff, #f2fbff);
}

.setup-eyebrow {
  display: inline-flex;
  padding: 7px 11px;
  border-radius: 999px;
  color: #007782;
  background: #e7fbfc;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.setup-v2-hero h1 {
  max-width: 780px;
  margin: 12px 0 8px;
  color: #081436;
  font-size: clamp(28px, 3.3vw, 44px);
  line-height: 1.06;
}

.setup-v2-hero p {
  max-width: 760px;
  margin: 0;
  color: #61708a;
  line-height: 1.6;
}

.profile-type-switch {
  max-width: 1280px;
  margin: 0 auto 14px;
  padding: 12px;
  display: grid;
  grid-template-columns: minmax(320px, 380px) minmax(0, 1fr);
  gap: 12px;
  align-items: stretch;
  overflow: hidden;
}

.setup-mode-card {
  min-width: 0;
  padding: 14px;
  display: grid;
  gap: 9px;
  align-content: center;
  border: 1px solid #e4edf8;
  border-radius: 17px;
  background: linear-gradient(135deg, #ffffff, #f8fbff);
}

.setup-mode-card > span {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.profile-type-switch .mode-select,
.profile-type-switch .mode-select select {
  width: 100%;
}

.profile-type-switch .mode-select {
  display: block;
  margin: 0;
}

.profile-type-switch .mode-select select {
  min-width: 0;
  height: 48px;
  padding: 0 42px 0 14px;
  border: 1px solid #d8e4f2;
  border-radius: 14px;
  color: #081436;
  background-color: #ffffff;
  font-size: 15px;
  font-weight: 900;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.04);
}

.type-explainer {
  min-width: 0;
  min-height: 82px;
  padding: 14px 16px;
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  border-radius: 16px;
  border: 1px solid #e4edf8;
  background:
    radial-gradient(circle at 100% 0, rgba(0, 168, 181, 0.1), transparent 28%),
    #f7fbff;
}

.type-explainer i {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  grid-row: 1 / span 2;
  border-radius: 14px;
  color: #007782;
  background: #e7fbfc;
}

.type-explainer.individual-only i {
  color: #4f22d8;
  background: #f1ecff;
}

.type-explainer strong,
.type-explainer span {
  display: block;
  grid-column: 2;
  min-width: 0;
}

.type-explainer strong {
  color: #081436;
  font-size: 15px;
}

.type-explainer span {
  margin-top: 3px;
  color: #667085;
  font-size: 13px;
  line-height: 1.45;
}

.setup-v2-progress {
  max-width: 1280px;
  margin: 0 auto 14px;
}

.setup-v2-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 330px;
  gap: 18px;
  align-items: start;
}

.profile-setup-v2 .setup-v2-layout {
  grid-template-columns: minmax(0, 1fr);
}

.profile-setup-v2 .setup-v2-workspace {
  width: 100%;
}

.setup-v2-workspace {
  min-width: 0;
  padding: 16px;
}

.setup-v2-form {
  gap: 14px;
}

.field-block {
  margin-bottom: 14px;
  padding: 18px;
  box-shadow: none;
}

.block-heading {
  margin-bottom: 15px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.block-heading i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #007782;
  background: #e7fbfc;
}

.block-heading.person i {
  color: #4f22d8;
  background: #f1ecff;
}

.block-heading.neutral i {
  color: #2454ff;
  background: #eef3ff;
}

.block-heading h3 {
  margin: 0;
  color: #081436;
  font-size: 19px;
}

.block-heading p {
  margin: 4px 0 0;
  color: #667085;
  font-size: 13px;
}

.setup-v2-form .form-grid {
  gap: 14px;
}

.setup-v2-form label {
  color: #25314f;
  font-weight: 900;
}

.setup-v2-form label:has([required])::after {
  content: none;
}

.setup-v2-form input,
.setup-v2-form select,
.setup-v2-form textarea {
  margin-top: 7px;
}

.subhead {
  margin: 18px 0 10px;
  color: #081436;
  font-size: 16px;
}

.marketplace-custom-card {
  margin: 0 0 14px;
  padding: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px dashed #b9c9e4;
  border-radius: 18px;
  background:
    radial-gradient(circle at 98% 0, rgba(0, 168, 181, 0.11), transparent 32%),
    linear-gradient(135deg, #ffffff, #f7fbff);
}

.marketplace-custom-card strong,
.marketplace-custom-card span {
  display: block;
}

.marketplace-custom-card strong {
  color: #081436;
  font-size: 15px;
  font-weight: 900;
}

.marketplace-custom-card span {
  margin-top: 4px;
  color: #61708a;
  line-height: 1.5;
}

.custom-marketplace-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.publish-note {
  margin-top: 14px;
  padding: 13px;
  border-radius: 15px;
  color: #46556f;
  background: #f8fbff;
  font-size: 13px;
  line-height: 1.5;
}

.publish-note i {
  color: #4f22d8;
  margin-right: 7px;
}

.setup-v2-help {
  display: grid;
  gap: 14px;
}

.setup-v2-help .help-card {
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.045);
}

.setup-v2-help .help-card ul {
  display: grid;
  grid-template-columns: 1fr !important;
  gap: 10px;
  margin: 14px 0 0;
  padding: 0;
  list-style: none;
}

.setup-v2-help .help-card li,
.setup-v2-help .tips-list li {
  min-width: 0;
  padding: 12px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 11px;
  align-items: start;
  border: 1px solid rgba(226, 234, 245, 0.82);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.76);
}

.setup-v2-help .help-card li i,
.setup-v2-help .tips-list li i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  grid-row: 1 / span 2;
  border-radius: 12px;
  color: #007782;
  background: #e7fbfc;
  font-size: 15px;
}

.individual-mode .setup-v2-help .importance-card li i {
  color: #4f22d8;
  background: #f1ecff;
}

.setup-v2-help .help-card strong,
.setup-v2-help .help-card span {
  display: block;
  grid-column: 2;
  min-width: 0;
}

.setup-v2-help .help-card strong {
  margin: 0 0 3px;
  color: #081436;
  font-size: 13px;
  line-height: 1.25;
}

.setup-v2-help .help-card span,
.setup-v2-help .tips-list li {
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.setup-v2-help .importance-card {
  background:
    radial-gradient(circle at 94% 0, rgba(0, 168, 181, 0.12), transparent 34%),
    #ffffff;
}

.setup-v2-help .tips-card {
  background:
    radial-gradient(circle at 94% 0, rgba(102, 23, 255, 0.1), transparent 34%),
    #ffffff;
}

.business-mode .individual-only,
.individual-mode .business-only {
  display: none !important;
}

.individual-mode .setup-eyebrow,
.individual-mode .profile-type-label,
.individual-mode .setup-v2-progress .step-pill.active {
  color: #4f22d8;
  background: #f1ecff;
}

.individual-mode .setup-v2-hero {
  background:
    radial-gradient(circle at 88% 0, rgba(102, 23, 255, 0.13), transparent 28%),
    linear-gradient(135deg, #ffffff, #f8f5ff);
}

@media (max-width: 1180px) {
  .setup-v2-hero,
  .profile-type-switch,
  .setup-v2-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .setup-v2-main {
    padding: 16px 12px 24px;
  }

  .setup-v2-hero,
  .setup-v2-workspace,
  .field-block {
    padding: 14px;
  }

  .type-explainer,
  .block-heading {
    grid-template-columns: 1fr;
  }

  .setup-mode-card,
  .type-explainer {
    padding: 12px;
  }
}

/* My account and owner dashboard */
.account-body {
  background:
    radial-gradient(circle at 50% 0, rgba(0, 168, 181, 0.07), transparent 34%),
    linear-gradient(180deg, #f8fbff 0%, #f4f7fb 100%);
}

.account-main {
  min-width: 0;
  padding: 22px 24px 32px;
}

.account-hero,
.account-card,
.my-stats article {
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.045);
}

.account-hero {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 240px;
  gap: 18px;
  align-items: center;
  background:
    radial-gradient(circle at 92% 0, rgba(102, 23, 255, 0.12), transparent 30%),
    linear-gradient(135deg, #ffffff, #f3fbff);
}

.account-hero h1 {
  max-width: 820px;
  margin: 12px 0 8px;
  color: #081436;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.06;
}

.account-hero p {
  max-width: 760px;
  margin: 0;
  color: #61708a;
  line-height: 1.6;
}

.account-score {
  padding: 18px;
  border-radius: 18px;
  background: #ffffff;
}

.account-score strong,
.account-score span {
  display: block;
}

.account-score strong {
  color: #081436;
  font-size: 34px;
}

.account-score span {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.account-score div,
.mini-progress div {
  height: 8px;
  margin-top: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8eef6;
}

.account-score i,
.mini-progress i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(135deg, #00a8b5, #2454ff 52%, #7b00ff);
}

.account-layout,
.my-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.account-content,
.account-rail,
.my-main-column,
.my-side-column {
  display: grid;
  gap: 16px;
}

.account-card {
  padding: 18px;
}

.account-card h2 {
  margin: 0;
  color: #081436;
  font-size: 20px;
}

.account-card p {
  margin: 5px 0 0;
  color: #667085;
  line-height: 1.5;
}

.account-card-head {
  margin-bottom: 15px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.account-card-head a {
  color: #4f22d8;
  font-size: 13px;
  font-weight: 900;
}

.identity-summary {
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
}

.identity-avatar {
  width: 74px;
  height: 74px;
  display: grid;
  place-items: center;
  border-radius: 20px;
  color: #ffffff;
  background: linear-gradient(135deg, #0f766e, #2454ff);
  font-size: 28px;
}

.identity-summary strong,
.identity-summary span,
.identity-summary small {
  display: block;
}

.identity-summary strong {
  color: #081436;
  font-size: 18px;
}

.identity-summary span,
.identity-summary small {
  color: #667085;
  font-size: 13px;
}

.verification-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.verification-steps div {
  padding: 14px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.verification-steps i {
  width: 38px;
  height: 38px;
  margin-bottom: 10px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #667085;
  background: #eef2f7;
}

.verification-steps .complete i {
  color: #047857;
  background: #dffcf1;
}

.verification-steps .active i {
  color: #4f22d8;
  background: #f1ecff;
}

.verification-steps strong,
.verification-steps span {
  display: block;
}

.verification-steps strong {
  color: #081436;
  font-size: 13px;
}

.verification-steps span {
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

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

.settings-list label {
  padding: 13px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #edf2f8;
  border-radius: 15px;
  background: #fbfdff;
}

.settings-list strong,
.settings-list small {
  display: block;
}

.settings-list small {
  color: #667085;
  font-size: 12px;
}

.settings-list button,
.danger-zone button {
  min-height: 36px;
  padding: 0 13px;
  border: 1px solid #d9e2ef;
  border-radius: 10px;
  background: #ffffff;
  color: #25314f;
  font-weight: 900;
}

.settings-list input {
  width: 20px;
  height: 20px;
  accent-color: #6617ff;
}

.account-link-list,
.attention-list,
.inquiry-list {
  display: grid;
  gap: 10px;
}

.account-link-list a,
.attention-list a,
.inquiry-list div {
  padding: 12px;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid #edf2f8;
  border-radius: 14px;
  background: #fbfdff;
  color: #25314f;
  font-weight: 900;
}

.account-link-list i,
.attention-list i {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  color: #4f22d8;
  background: #f1ecff;
}

.danger-zone {
  border-color: #fed7aa;
  background: #fffaf4;
}

.my-quick-actions {
  display: grid;
  gap: 9px;
}

.my-quick-actions a {
  min-height: 42px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  gap: 9px;
  border-radius: 13px;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
  font-size: 13px;
  font-weight: 900;
}

.my-stats {
  max-width: 1280px;
  margin: 0 auto 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.my-stats article {
  padding: 16px;
  display: grid;
  gap: 5px;
}

.my-stats i {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #007782;
  background: #e7fbfc;
}

.my-stats strong {
  color: #081436;
  font-size: 30px;
}

.my-stats span {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.owner-table {
  overflow: hidden;
  border: 1px solid #edf2f8;
  border-radius: 16px;
}

.owner-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.4fr) 150px 100px minmax(160px, 1fr) 120px;
  gap: 12px;
  align-items: center;
  padding: 13px;
  border-top: 1px solid #edf2f8;
  color: #34405f;
  font-size: 13px;
}

.owner-row:first-child {
  border-top: 0;
}

.owner-row.head {
  color: #667085;
  background: #f8fbff;
  font-size: 12px;
  font-weight: 900;
}

.owner-row strong,
.owner-row small {
  display: block;
}

.owner-row small {
  color: #667085;
  font-size: 12px;
}

.owner-row a {
  color: #4f22d8;
  font-weight: 900;
}

.listing-owner-grid,
.saved-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.listing-owner-grid div,
.saved-grid div {
  padding: 15px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.listing-owner-grid i {
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #007782;
  background: #e7fbfc;
}

.listing-owner-grid strong,
.listing-owner-grid span,
.listing-owner-grid small,
.listing-owner-grid a,
.saved-grid span,
.saved-grid strong,
.saved-grid small {
  display: block;
}

.listing-owner-grid strong,
.saved-grid strong {
  color: #081436;
}

.listing-owner-grid span,
.listing-owner-grid small,
.saved-grid span,
.saved-grid small {
  color: #667085;
  font-size: 12px;
}

.listing-owner-grid a {
  margin-top: 10px;
  color: #4f22d8;
  font-size: 12px;
  font-weight: 900;
}

.attention-card {
  background:
    radial-gradient(circle at 100% 0, rgba(102, 23, 255, 0.1), transparent 32%),
    #ffffff;
}

.attention-list a {
  align-items: start;
}

.attention-list strong,
.attention-list small,
.inquiry-list strong,
.inquiry-list span,
.inquiry-list small {
  display: block;
}

.attention-list small,
.inquiry-list span,
.inquiry-list small {
  color: #667085;
  font-size: 12px;
}

.inquiry-list div {
  grid-template-columns: 1fr;
  gap: 3px;
}

.mini-progress strong,
.mini-progress span {
  display: block;
}

.mini-progress strong {
  color: #081436;
}

.mini-progress span {
  margin: 9px 0 14px;
  color: #667085;
  font-size: 12px;
}

.button.full {
  width: 100%;
}

@media (max-width: 1180px) {
  .account-hero,
  .account-layout,
  .my-layout {
    grid-template-columns: 1fr;
  }

  .verification-steps,
  .my-stats,
  .listing-owner-grid,
  .saved-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .account-main {
    padding: 16px 12px 24px;
  }

  .identity-summary,
  .owner-row,
  .verification-steps,
  .my-stats,
  .listing-owner-grid,
  .saved-grid {
    grid-template-columns: 1fr;
  }

  .owner-row.head {
    display: none;
  }
}

/* Verification flow */
.verification-hero {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: center;
  border: 1px solid #e2eaf5;
  border-radius: 24px;
  background:
    radial-gradient(circle at 92% 0, rgba(0, 168, 181, 0.16), transparent 28%),
    linear-gradient(135deg, #ffffff, #f2fbff);
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.045);
}

.verification-hero h1 {
  max-width: 780px;
  margin: 12px 0 8px;
  color: #081436;
  font-size: clamp(30px, 3.5vw, 48px);
  line-height: 1.04;
}

.verification-hero p {
  max-width: 760px;
  margin: 0;
  color: #61708a;
  line-height: 1.6;
}

.verification-status-card {
  padding: 18px;
  border: 1px solid #e4edf8;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.82);
}

.verification-status-card strong,
.verification-status-card small {
  display: block;
}

.verification-status-card strong {
  margin-top: 12px;
  color: #081436;
  font-size: 18px;
}

.verification-status-card small {
  margin-top: 4px;
  color: #667085;
}

.verification-progress-map {
  max-width: 1280px;
  margin: 0 auto 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.verification-progress-map article {
  padding: 16px;
  border: 1px solid #e2eaf5;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.035);
}

.verification-progress-map i {
  width: 42px;
  height: 42px;
  margin-bottom: 10px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #667085;
  background: #eef2f7;
}

.verification-progress-map .done i {
  color: #047857;
  background: #dffcf1;
}

.verification-progress-map .active i {
  color: #4f22d8;
  background: #f1ecff;
}

.verification-progress-map strong,
.verification-progress-map span {
  display: block;
}

.verification-progress-map strong {
  color: #081436;
}

.verification-progress-map span {
  color: #667085;
  font-size: 12px;
}

.verification-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.verification-main,
.verification-side {
  display: grid;
  gap: 16px;
}

.verification-type-tabs {
  margin-bottom: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.verification-type-tabs button {
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid #dbe5f2;
  border-radius: 999px;
  background: #ffffff;
  color: #34405f;
  font-weight: 900;
}

.verification-type-tabs button.active {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
}

.verify-form-grid,
.verification-upload-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.verify-form-grid label,
.verification-note,
.admin-decision-note {
  display: grid;
  gap: 7px;
  color: #25314f;
  font-weight: 900;
  font-size: 13px;
}

.verify-form-grid input,
.verification-note textarea,
.admin-decision-note textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid #dbe5f2;
  border-radius: 13px;
  background: #fbfdff;
  color: #111c3a;
  font: inherit;
}

.verify-form-grid input {
  padding: 0 13px;
}

.verification-note {
  margin-top: 14px;
}

.verification-note textarea,
.admin-decision-note textarea {
  min-height: 104px;
  padding: 12px;
  resize: vertical;
}

.verification-upload {
  min-height: 130px;
  padding: 16px;
  display: grid;
  align-content: center;
  justify-items: center;
  text-align: center;
  border: 1px dashed #cbd7e8;
  border-radius: 18px;
  background: #fbfdff;
}

.verification-upload.required {
  border-color: rgba(0, 168, 181, 0.42);
  background: #f2feff;
}

.verification-upload i {
  width: 44px;
  height: 44px;
  margin-bottom: 10px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #4f22d8;
  background: #f1ecff;
}

.verification-upload strong,
.verification-upload span {
  display: block;
}

.verification-upload strong {
  color: #081436;
}

.verification-upload span {
  margin-top: 4px;
  color: #667085;
  font-size: 12px;
}

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

.verification-history {
  display: grid;
  gap: 10px;
}

.verification-history div {
  padding: 13px;
  border: 1px solid #edf2f8;
  border-radius: 15px;
  background: #fbfdff;
}

.verification-history strong,
.verification-history small {
  display: block;
}

.verification-history strong {
  margin-top: 9px;
  color: #081436;
}

.verification-history small {
  color: #667085;
}

.badge-preview {
  margin-top: 14px;
  padding: 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 999px;
  color: #047857;
  background: #dffcf1;
  font-weight: 900;
}

.verification-admin-table .admin-table-row {
  grid-template-columns: 1.4fr 0.7fr 1fr 0.8fr 0.6fr;
}

.verification-review-card {
  padding: 14px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.verification-review-card strong,
.verification-review-card span {
  display: block;
}

.verification-review-card strong {
  color: #081436;
  font-size: 17px;
}

.verification-review-card span,
.verification-review-card p {
  color: #667085;
}

.admin-decision-note {
  margin: 14px 0;
}

.verification-decision-actions {
  justify-content: stretch;
}

.verification-decision-actions button {
  flex: 1;
}

@media (max-width: 1180px) {
  .verification-hero,
  .verification-layout {
    grid-template-columns: 1fr;
  }

  .verification-progress-map {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .verification-progress-map,
  .verify-form-grid,
  .verification-upload-grid {
    grid-template-columns: 1fr;
  }

  .verification-actions {
    flex-direction: column;
  }
}

/* Connection request flow */
.connection-main {
  min-width: 0;
  padding: 22px 24px 32px;
}

.connection-request-shell,
.connections-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.connection-request-card,
.connection-side .account-card,
.connections-side .account-card {
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.045);
}

.connection-request-card {
  padding: 22px;
}

.connection-request-head {
  margin-bottom: 18px;
}

.connection-request-head h1 {
  max-width: 760px;
  margin: 12px 0 8px;
  color: #081436;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.04;
}

.connection-request-head p {
  margin: 0;
  color: #61708a;
  line-height: 1.6;
}

.connection-recipient {
  padding: 16px;
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid #e8eef6;
  border-radius: 18px;
  background: #fbfdff;
}

.connection-recipient strong,
.connection-recipient span,
.connection-recipient small {
  display: block;
}

.connection-recipient strong {
  color: #081436;
  font-size: 18px;
}

.connection-recipient span,
.connection-recipient small {
  color: #667085;
  font-size: 13px;
}

.connection-recipient small i {
  color: #00a878;
}

.connection-recipient a {
  color: #4f22d8;
  font-weight: 900;
  font-size: 13px;
}

.connection-reasons,
.connection-message {
  margin-top: 18px;
}

.connection-reasons h2 {
  margin: 0 0 12px;
  color: #081436;
  font-size: 20px;
}

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

.reason-grid label {
  cursor: pointer;
}

.reason-grid input {
  position: absolute;
  opacity: 0;
}

.reason-grid span {
  min-height: 132px;
  padding: 14px;
  display: grid;
  align-content: start;
  border: 1px solid #e2eaf5;
  border-radius: 17px;
  background: #ffffff;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.reason-grid input:checked + span {
  border-color: rgba(79, 34, 216, 0.4);
  background: #f8f5ff;
  box-shadow: 0 16px 34px rgba(79, 34, 216, 0.12);
}

.reason-grid span:hover {
  transform: translateY(-2px);
}

.reason-grid i {
  width: 40px;
  height: 40px;
  margin-bottom: 9px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #4f22d8;
  background: #f1ecff;
}

.reason-grid strong,
.reason-grid small {
  display: block;
}

.reason-grid strong {
  color: #081436;
}

.reason-grid small {
  margin-top: 4px;
  color: #667085;
  line-height: 1.4;
}

.connection-message label {
  display: grid;
  gap: 8px;
  color: #25314f;
  font-weight: 900;
}

.connection-message textarea {
  min-height: 130px;
  padding: 13px;
  border: 1px solid #dbe5f2;
  border-radius: 15px;
  background: #fbfdff;
  color: #111c3a;
  font: inherit;
  resize: vertical;
}

.connection-options {
  margin-top: 12px;
  display: grid;
  gap: 8px;
}

.connection-options label {
  padding: 11px 12px;
  display: flex;
  align-items: center;
  gap: 9px;
  border: 1px solid #edf2f8;
  border-radius: 14px;
  background: #fbfdff;
  color: #46556f;
  font-size: 13px;
}

.connection-options input {
  width: 18px;
  height: 18px;
  accent-color: #6617ff;
}

.connection-actions {
  margin-top: 18px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.connection-side,
.connections-main-list,
.connections-side {
  display: grid;
  gap: 16px;
}

.connection-stats {
  max-width: 1280px;
  margin: 0 auto 16px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.connection-stats article {
  padding: 16px;
  border: 1px solid #e2eaf5;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.035);
}

.connection-stats i {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #007782;
  background: #e7fbfc;
}

.connection-stats strong,
.connection-stats span {
  display: block;
}

.connection-stats strong {
  margin-top: 8px;
  color: #081436;
  font-size: 28px;
}

.connection-stats span {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.request-list,
.sent-list,
.suggestion-list {
  display: grid;
  gap: 10px;
}

.request-card {
  padding: 14px;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.request-card > .person-avatar,
.request-card > .company-logo-mark {
  width: 58px;
  height: 58px;
  min-width: 58px;
  margin: 0;
  border: 0;
  border-radius: 16px;
  font-size: 18px;
  box-shadow: none;
}

.request-card > .person-avatar {
  border-radius: 50%;
}

.request-card > .company-logo-mark i {
  font-size: 22px;
}

.request-card > div:nth-child(2) {
  min-width: 0;
}

.request-card strong,
.request-card span,
.request-card small {
  display: block;
}

.request-card strong {
  color: #081436;
}

.request-card span,
.request-card small {
  color: #667085;
  font-size: 12px;
}

.request-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.request-actions button,
.sent-list button {
  min-height: 34px;
  padding: 0 11px;
  border: 1px solid #dbe5f2;
  border-radius: 10px;
  background: #ffffff;
  color: #25314f;
  font-weight: 900;
}

.request-actions button:first-child {
  color: #ffffff;
  border-color: transparent;
  background: #00a878;
}

.request-actions .danger {
  color: #ffffff;
  border-color: transparent;
  background: #e11d48;
}

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

.connection-grid div,
.sent-list div,
.suggestion-list div {
  padding: 14px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.connection-grid .person-avatar {
  width: 54px;
  height: 54px;
  margin-bottom: 10px;
}

.connection-grid strong,
.connection-grid small,
.connection-grid a,
.sent-list strong,
.sent-list small,
.suggestion-list strong,
.suggestion-list span,
.suggestion-list a {
  display: block;
}

.connection-grid strong,
.sent-list strong,
.suggestion-list strong {
  color: #081436;
}

.connection-grid small,
.sent-list small,
.suggestion-list span {
  color: #667085;
  font-size: 12px;
}

.connection-grid a,
.suggestion-list a {
  margin-top: 10px;
  color: #4f22d8;
  font-size: 12px;
  font-weight: 900;
}

.sent-list button {
  margin-top: 10px;
}

.connection-discovery-hero {
  background:
    radial-gradient(circle at 82% 18%, rgba(0, 168, 181, 0.13), transparent 24%),
    linear-gradient(135deg, #ffffff, #f7fbff);
}

.connection-tabs {
  margin: 16px 0;
  padding: 8px;
  display: flex;
  gap: 8px;
  overflow-x: auto;
  border: 1px solid #e2eaf5;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.045);
}

.connection-tabs a {
  flex: 0 0 auto;
  padding: 10px 13px;
  border-radius: 13px;
  color: #52627d;
  text-decoration: none;
  font-size: 13px;
  font-weight: 900;
}

.connection-tabs a.active,
.connection-tabs a:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 58%, #7b00ff);
}

.connection-search-panel {
  margin-bottom: 16px;
  padding: 14px;
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 210px 210px auto;
  gap: 10px;
  border: 1px solid #e2eaf5;
  border-radius: 18px;
  background: #ffffff;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.04);
}

.connection-search-panel label {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 0 12px;
  border: 1px solid #d7e2f0;
  border-radius: 12px;
  background: #fbfdff;
}

.connection-search-panel input,
.connection-search-panel select,
.connection-search-panel button {
  width: 100%;
  min-height: 44px;
  border: 1px solid #d7e2f0;
  border-radius: 12px;
  background: #fbfdff;
  color: #081436;
  font: inherit;
  font-weight: 700;
}

.connection-search-panel input {
  min-height: auto;
  border: 0;
  background: transparent;
}

.connection-search-panel button {
  padding: 0 16px;
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #2454ff 58%, #7b00ff);
  cursor: pointer;
}

.connection-discovery-list,
.connection-mini-grid {
  display: grid;
  gap: 12px;
}

.connection-profile-card {
  padding: 16px;
  display: grid;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  border: 1px solid #e7edf6;
  border-radius: 18px;
  background: #fbfdff;
}

.connection-profile-top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.profile-kind {
  width: fit-content;
  padding: 7px 9px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
}

.profile-kind.business {
  color: #006b74;
  background: #e7fbfc;
}

.profile-kind.person {
  color: #4f22d8;
  background: #f1ecff;
}

.connection-profile-card h3 {
  margin: 8px 0 5px;
  color: #081436;
  font-size: 18px;
}

.connection-profile-card p {
  margin: 0 0 10px;
  color: #61708a;
  line-height: 1.5;
}

.connection-card-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.connection-card-actions a,
.connection-card-actions button,
.connection-mini-grid a {
  min-height: 38px;
  padding: 10px 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #d7e2f0;
  border-radius: 12px;
  color: #4f22d8;
  background: #ffffff;
  text-decoration: none;
  font-size: 12px;
  font-weight: 900;
  cursor: pointer;
}

.connection-card-actions a:first-child,
.connection-mini-grid a {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #2454ff 58%, #7b00ff);
}

.connection-mini-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.connection-mini-grid div {
  padding: 14px;
  display: grid;
  gap: 8px;
  border: 1px solid #e7edf6;
  border-radius: 16px;
  background: #fbfdff;
}

.connection-mini-grid strong,
.connection-mini-grid small {
  display: block;
}

.connection-mini-grid strong {
  color: #081436;
}

.connection-mini-grid small {
  color: #61708a;
  line-height: 1.45;
}

/* Revenue, subscription and promotion wireframes */
.revenue-body {
  background:
    radial-gradient(circle at 70% 0, rgba(0, 168, 181, 0.08), transparent 32%),
    linear-gradient(180deg, #f8fbff, #f4f7fb);
}

.revenue-main {
  min-width: 0;
  padding: 22px 24px 32px;
}

.revenue-hero,
.revenue-section,
.pricing-card-v2,
.promote-form,
.promote-side .account-card,
.billing-main .account-card,
.billing-side .account-card {
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.045);
}

.revenue-hero {
  max-width: 1280px;
  margin: 0 auto 18px;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 280px;
  gap: 18px;
  align-items: center;
  background:
    radial-gradient(circle at 85% 10%, rgba(123, 0, 255, 0.12), transparent 24%),
    linear-gradient(135deg, #ffffff, #f4fbff);
}

.revenue-hero h1 {
  margin: 8px 0 8px;
  color: #081436;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.05;
}

.revenue-hero p {
  max-width: 760px;
  margin: 0;
  color: #61708a;
  line-height: 1.65;
}

.launch-countdown {
  padding: 20px;
  border-radius: 20px;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 58%, #7b00ff);
}

.launch-countdown strong,
.launch-countdown span,
.launch-countdown small {
  display: block;
}

.launch-countdown strong {
  font-size: 26px;
}

.launch-countdown span {
  margin-top: 6px;
  font-weight: 900;
}

.launch-countdown small {
  margin-top: 10px;
  color: rgba(255, 255, 255, 0.78);
  line-height: 1.45;
}

.pricing-grid-v2,
.ad-pricing-grid,
.billing-status-grid,
.promotion-estimate {
  display: grid;
  gap: 14px;
}

.pricing-grid-v2 {
  max-width: 1280px;
  margin: 0 auto 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.pricing-grid-v2.launch-only {
  max-width: 760px;
  grid-template-columns: minmax(0, 1fr);
}

.account-tabs {
  max-width: 1280px;
  margin: 0 auto 18px;
  padding: 6px;
  display: flex;
  gap: 8px;
  width: fit-content;
  border: 1px solid #e7edf7;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 16px 36px rgba(8, 26, 71, 0.06);
}

.account-tabs a {
  min-height: 40px;
  padding: 9px 14px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border-radius: 12px;
  color: #536587;
  font-size: 13px;
  font-weight: 900;
  text-decoration: none;
}

.account-tabs a:hover,
.account-tabs a.active {
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 58%, #7b00ff);
}

.pricing-card-v2 {
  padding: 20px;
}

.pricing-card-v2.launch-plan-card {
  padding: 26px;
}

.pricing-card-v2.featured {
  border-color: #00a8b5;
  background: linear-gradient(180deg, #ffffff, #effdff);
}

.pricing-card-v2.early {
  border-color: #ded4ff;
  background: linear-gradient(180deg, #ffffff, #f6f2ff);
}

.plan-label {
  width: fit-content;
  padding: 7px 10px;
  display: inline-flex;
  border-radius: 999px;
  color: #006b74;
  background: #e7fbfc;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.pricing-card-v2 h2 {
  margin: 14px 0 10px;
  color: #081436;
}

.pricing-card-v2 > strong {
  display: block;
  color: #081436;
  font-size: 34px;
}

.pricing-card-v2 > strong span {
  color: #667085;
  font-size: 14px;
}

.pricing-card-v2 p,
.pricing-card-v2 li,
.revenue-section p {
  color: #61708a;
  line-height: 1.55;
}

.pricing-card-v2 ul {
  margin: 16px 0;
  padding: 0;
  display: grid;
  gap: 10px;
  list-style: none;
}

.pricing-card-v2 li {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}

.pricing-card-v2 li i {
  color: #00a878;
  margin-top: 3px;
}

.pricing-card-v2 a,
.revenue-actions a,
.promote-link {
  min-height: 40px;
  padding: 10px 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 58%, #7b00ff);
  text-decoration: none;
  font-weight: 900;
}

.revenue-section {
  max-width: 1280px;
  margin: 0 auto;
  padding: 20px;
}

.ad-pricing-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-top: 16px;
}

.ad-pricing-grid div,
.billing-status-grid div,
.promotion-estimate div {
  padding: 15px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.ad-pricing-grid i {
  width: 40px;
  height: 40px;
  margin-bottom: 10px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #4f22d8;
  background: #f1ecff;
}

.ad-pricing-grid strong,
.ad-pricing-grid span,
.ad-pricing-grid small,
.billing-status-grid span,
.billing-status-grid strong,
.promotion-estimate span,
.promotion-estimate strong {
  display: block;
}

.ad-pricing-grid strong,
.billing-status-grid strong,
.promotion-estimate strong {
  color: #081436;
}

.ad-pricing-grid span,
.promotion-estimate span,
.billing-status-grid span {
  margin-top: 4px;
  color: #4f22d8;
  font-weight: 900;
}

.ad-pricing-grid small {
  margin-top: 6px;
  color: #667085;
  line-height: 1.45;
}

.revenue-actions {
  margin-top: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.billing-layout,
.promote-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.billing-main,
.billing-side,
.promote-side {
  display: grid;
  gap: 16px;
}

.billing-timeline {
  display: grid;
  gap: 10px;
}

.billing-timeline div {
  padding: 14px;
  border: 1px solid #e7edf6;
  border-radius: 15px;
  background: #fbfdff;
}

.billing-timeline .active {
  border-color: #7b00ff;
  background: #f7f2ff;
}

.billing-timeline .complete {
  border-color: #00a878;
  background: #effcf8;
}

.billing-timeline span,
.billing-timeline strong,
.billing-timeline small {
  display: block;
}

.billing-timeline span,
.billing-timeline small {
  color: #667085;
  font-size: 12px;
}

.billing-timeline strong {
  margin: 4px 0;
  color: #081436;
}

.promote-form {
  padding: 20px;
}

.promote-form .account-card-head {
  margin-bottom: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid #edf2f8;
}

.promote-form .form-grid.two {
  grid-template-columns: repeat(2, minmax(260px, 1fr));
  gap: 18px;
}

.promote-form label {
  position: relative;
  display: grid;
  gap: 9px;
  min-width: 0;
  color: #17213f;
  font-size: 13px;
  font-weight: 900;
}

.promote-form label::before {
  content: "";
  position: absolute;
  left: 0;
  top: 31px;
  width: 4px;
  height: 24px;
  border-radius: 999px;
  background: linear-gradient(180deg, #00a8b5, #7b00ff);
  opacity: 0.7;
}

.promote-form select {
  width: 100%;
  min-height: 52px;
  padding: 0 44px 0 16px;
  border: 1px solid #dce6f2;
  border-radius: 14px;
  color: #101936;
  background:
    linear-gradient(45deg, transparent 50%, #52617a 50%) calc(100% - 20px) 22px / 6px 6px no-repeat,
    linear-gradient(135deg, #fbfdff, #ffffff);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8), 0 10px 24px rgba(15, 23, 42, 0.035);
  font: 800 14px/1.2 "Outfit", "Segoe UI", Arial, sans-serif;
  appearance: none;
}

.promote-form select:focus {
  outline: 0;
  border-color: rgba(36, 84, 255, 0.55);
  box-shadow: 0 0 0 4px rgba(36, 84, 255, 0.08), 0 14px 28px rgba(15, 23, 42, 0.05);
  background-color: #ffffff;
}

.promote-form label:nth-child(1),
.promote-form label:nth-child(2) {
  padding: 16px;
  border: 1px solid #e5edf7;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff, #f8fbff);
}

.promote-form label:nth-child(1)::before,
.promote-form label:nth-child(2)::before {
  left: 16px;
  top: 47px;
}

.promotion-estimate {
  margin-top: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.promo-preview-card {
  padding: 16px;
  border: 1px solid #ded4ff;
  border-radius: 18px;
  background: linear-gradient(180deg, #ffffff, #f7f2ff);
}

.promo-preview-card h3 {
  margin: 12px 0 8px;
  color: #081436;
}

.promo-preview-card p,
.promo-preview-card small {
  color: #61708a;
  line-height: 1.5;
}

.trial-banner {
  max-width: 1280px;
  margin: 0 auto 14px;
  padding: 14px 16px;
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  border: 1px solid #cceff2;
  border-radius: 18px;
  background: linear-gradient(135deg, #e7fbfc, #ffffff);
}

.trial-banner strong,
.trial-banner span {
  display: block;
}

.trial-banner strong {
  color: #006b74;
  font-size: 16px;
}

.trial-banner span {
  color: #61708a;
}

.trial-banner a {
  flex: 0 0 auto;
  padding: 10px 14px;
  border-radius: 12px;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 58%, #7b00ff);
  text-decoration: none;
  font-weight: 900;
}

@media (max-width: 1180px) {
  .pricing-grid-v2,
  .ad-pricing-grid,
  .billing-layout,
  .promote-layout,
  .revenue-hero {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 720px) {
  .revenue-main {
    padding: 16px 12px 24px;
  }

  .promotion-estimate,
  .billing-status-grid {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 1180px) {
  .connection-request-shell,
  .connections-layout {
    grid-template-columns: 1fr;
  }

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

  .connection-search-panel,
  .connection-profile-card,
  .connection-mini-grid {
    grid-template-columns: 1fr;
  }

  .connection-card-actions {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .connection-main {
    padding: 16px 12px 24px;
  }

  .connection-recipient,
  .request-card,
  .reason-grid,
  .connection-stats,
  .connection-grid,
  .connection-search-panel,
  .connection-profile-card,
  .connection-mini-grid {
    grid-template-columns: 1fr;
  }

  .connection-actions,
  .request-actions {
    justify-content: stretch;
    flex-direction: column;
  }
}

/* Report abuse flow */
.report-main {
  min-width: 0;
  padding: 22px 24px 32px;
}

.report-hero,
.report-card,
.report-side .account-card {
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.045);
}

.report-hero {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 260px;
  gap: 18px;
  align-items: center;
  background:
    radial-gradient(circle at 92% 0, rgba(225, 29, 72, 0.1), transparent 30%),
    linear-gradient(135deg, #ffffff, #fff8fb);
}

.report-hero h1 {
  max-width: 780px;
  margin: 12px 0 8px;
  color: #081436;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.04;
}

.report-hero p {
  max-width: 760px;
  margin: 0;
  color: #61708a;
  line-height: 1.6;
}

.report-safety-card {
  padding: 18px;
  border: 1px solid #fee2e2;
  border-radius: 18px;
  background: #fff7f7;
}

.report-safety-card i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #e11d48;
  background: #ffe4ec;
}

.report-safety-card strong,
.report-safety-card span {
  display: block;
}

.report-safety-card strong {
  margin-top: 12px;
  color: #081436;
}

.report-safety-card span {
  margin-top: 4px;
  color: #667085;
  font-size: 12px;
  line-height: 1.45;
}

.report-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.report-card {
  padding: 20px;
}

.report-side {
  display: grid;
  gap: 16px;
}

.report-target {
  margin-bottom: 16px;
  padding: 14px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.report-target-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #e11d48;
  background: #ffe4ec;
}

.report-target strong,
.report-target span,
.report-target small {
  display: block;
}

.report-target strong {
  color: #081436;
}

.report-target span,
.report-target small {
  color: #667085;
  font-size: 12px;
}

.report-type-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.report-type-grid label {
  cursor: pointer;
}

.report-type-grid input {
  position: absolute;
  opacity: 0;
}

.report-type-grid span {
  min-height: 132px;
  padding: 14px;
  display: grid;
  align-content: start;
  border: 1px solid #e2eaf5;
  border-radius: 17px;
  background: #ffffff;
  transition: transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

.report-type-grid input:checked + span {
  border-color: rgba(225, 29, 72, 0.4);
  background: #fff7f7;
  box-shadow: 0 16px 34px rgba(225, 29, 72, 0.1);
}

.report-type-grid span:hover {
  transform: translateY(-2px);
}

.report-type-grid i {
  width: 40px;
  height: 40px;
  margin-bottom: 9px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #e11d48;
  background: #ffe4ec;
}

.report-type-grid strong,
.report-type-grid small {
  display: block;
}

.report-type-grid strong {
  color: #081436;
}

.report-type-grid small {
  margin-top: 4px;
  color: #667085;
  line-height: 1.4;
}

.report-form-grid {
  margin-top: 16px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.report-form-grid label,
.report-note {
  display: grid;
  gap: 8px;
  color: #25314f;
  font-weight: 900;
}

.report-form-grid select,
.report-note textarea {
  min-height: 46px;
  border: 1px solid #dbe5f2;
  border-radius: 13px;
  background: #fbfdff;
  color: #111c3a;
  font: inherit;
}

.report-form-grid select {
  padding: 0 13px;
}

.report-note {
  margin-top: 14px;
}

.report-note textarea {
  min-height: 130px;
  padding: 13px;
  resize: vertical;
}

.report-upload {
  margin-top: 14px;
  padding: 16px;
  display: grid;
  justify-items: center;
  text-align: center;
  border: 1px dashed #f5a9ba;
  border-radius: 18px;
  background: #fff9fb;
}

.report-upload i {
  width: 42px;
  height: 42px;
  margin-bottom: 9px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #e11d48;
  background: #ffe4ec;
}

.report-upload strong,
.report-upload span {
  display: block;
}

.report-upload strong {
  color: #081436;
}

.report-upload span {
  color: #667085;
  font-size: 12px;
}

.report-actions {
  margin-top: 16px;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

.reports-admin-table .admin-table-row {
  grid-template-columns: 1.35fr 0.8fr 1fr 0.7fr 0.6fr;
}

@media (max-width: 1180px) {
  .report-hero,
  .report-layout {
    grid-template-columns: 1fr;
  }

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

@media (max-width: 720px) {
  .report-main {
    padding: 16px 12px 24px;
  }

  .report-target,
  .report-type-grid,
  .report-form-grid {
    grid-template-columns: 1fr;
  }

  .report-actions {
    flex-direction: column;
  }
}

/* Saved items page */
.saved-main {
  min-width: 0;
  padding: 22px 24px 32px;
}

.saved-hero,
.saved-item-card,
.saved-side .account-card {
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.045);
}

.saved-hero {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px;
  gap: 18px;
  align-items: center;
  background:
    radial-gradient(circle at 92% 0, rgba(0, 168, 181, 0.13), transparent 30%),
    linear-gradient(135deg, #ffffff, #f3fbff);
}

.saved-hero h1 {
  max-width: 760px;
  margin: 12px 0 8px;
  color: #081436;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.04;
}

.saved-hero p {
  max-width: 760px;
  margin: 0;
  color: #61708a;
  line-height: 1.6;
}

.saved-summary-card {
  padding: 18px;
  border: 1px solid #e4edf8;
  border-radius: 18px;
  background: #ffffff;
}

.saved-summary-card strong,
.saved-summary-card span,
.saved-summary-card small {
  display: block;
}

.saved-summary-card strong {
  color: #081436;
  font-size: 36px;
}

.saved-summary-card span {
  color: #25314f;
  font-weight: 900;
}

.saved-summary-card small {
  margin-top: 4px;
  color: #667085;
  font-size: 12px;
}

.saved-filters {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  border: 1px solid #e2eaf5;
  border-radius: 18px;
  background: #ffffff;
}

.saved-filters button {
  min-height: 38px;
  padding: 0 14px;
  border: 1px solid #dbe5f2;
  border-radius: 999px;
  background: #ffffff;
  color: #34405f;
  font-weight: 900;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

.saved-filters button:hover {
  transform: translateY(-1px);
  border-color: rgba(36, 84, 255, 0.35);
  box-shadow: 0 12px 24px rgba(36, 84, 255, 0.1);
}

.saved-filters button.active {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
}

.saved-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.saved-list,
.saved-side {
  display: grid;
  gap: 14px;
}

.saved-item-card {
  padding: 16px;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
}

.saved-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  color: #007782;
  background: #e7fbfc;
  font-size: 22px;
}

.person-saved .saved-icon {
  color: #4f22d8;
  background: #f1ecff;
}

.opportunity-saved .saved-icon {
  color: #f97316;
  background: #fff3e8;
}

.product-saved .saved-icon {
  color: #2454ff;
  background: #eef3ff;
}

.saved-content {
  min-width: 0;
}

.saved-title-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.saved-title-row span {
  padding: 6px 9px;
  border-radius: 999px;
  background: #eef8ff;
  color: #2454ff;
  font-size: 11px;
  font-weight: 900;
}

.saved-title-row strong {
  color: #081436;
  font-size: 18px;
}

.saved-title-row small {
  color: #667085;
  font-size: 12px;
}

.saved-content p {
  margin: 8px 0;
  color: #536587;
  line-height: 1.5;
}

.saved-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.saved-meta span {
  padding: 7px 9px;
  border-radius: 999px;
  background: #f5f8fc;
  color: #46556f;
  font-size: 12px;
  font-weight: 800;
}

.saved-note {
  margin-top: 10px;
  padding: 10px 12px;
  border: 1px solid #e8eef6;
  border-radius: 14px;
  background: #fbfdff;
  color: #536587;
  font-size: 13px;
}

.saved-note strong {
  color: #081436;
}

.saved-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.saved-actions a,
.saved-actions button {
  min-height: 34px;
  padding: 0 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dbe5f2;
  border-radius: 10px;
  background: #ffffff;
  color: #25314f;
  font-weight: 900;
  font-size: 12px;
  cursor: pointer;
}

.saved-actions a:first-child {
  color: #ffffff;
  border-color: transparent;
  background: #061735;
}

.reminder-list,
.saved-type-breakdown {
  display: grid;
  gap: 10px;
}

.reminder-list div,
.saved-type-breakdown span {
  padding: 12px;
  border: 1px solid #edf2f8;
  border-radius: 14px;
  background: #fbfdff;
}

.reminder-list strong,
.reminder-list span {
  display: block;
}

.reminder-list strong {
  color: #081436;
}

.reminder-list span {
  color: #667085;
  font-size: 12px;
}

.saved-type-breakdown strong {
  margin-right: 6px;
  color: #081436;
  font-size: 18px;
}

@media (max-width: 1180px) {
  .saved-hero,
  .saved-layout {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .saved-main {
    padding: 16px 12px 24px;
  }

  .saved-item-card {
    grid-template-columns: 1fr;
  }

  .saved-actions {
    justify-content: stretch;
    flex-direction: column;
  }
}

/* Inquiry flow */
.inquiry-main {
  min-width: 0;
  padding: 24px 28px 36px;
}

.inquiry-hero,
.inquiry-form-card,
.inquiry-status-card,
.inquiry-side .account-card {
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 54px rgba(15, 23, 42, 0.045);
}

.inquiry-hero {
  max-width: 1280px;
  margin: 0 auto 20px;
  padding: 28px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  gap: 24px;
  align-items: center;
  background:
    radial-gradient(circle at 92% 0, rgba(124, 58, 237, 0.12), transparent 28%),
    linear-gradient(135deg, #ffffff, #f4fbff);
}

.inquiry-hero h1 {
  max-width: 780px;
  margin: 12px 0 8px;
  color: #081436;
  font-size: clamp(30px, 3.4vw, 46px);
  line-height: 1.04;
}

.inquiry-hero p {
  max-width: 760px;
  margin: 0;
  color: #61708a;
  line-height: 1.6;
}

.inquiry-target-card,
.inquiry-summary-grid {
  padding: 20px;
  border: 1px solid #e4edf8;
  border-radius: 18px;
  background: #ffffff;
}

.inquiry-target-card span,
.inquiry-target-card strong,
.inquiry-target-card small {
  display: block;
}

.inquiry-target-card span {
  color: #00a8b5;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.inquiry-target-card strong {
  margin: 7px 0;
  color: #081436;
  font-size: 18px;
}

.inquiry-target-card small {
  color: #667085;
  line-height: 1.45;
}

.inquiry-layout,
.inquiry-center-layout {
  max-width: 1280px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  gap: 22px;
  align-items: start;
}

.inquiry-form-card {
  padding: 26px;
  display: grid;
  gap: 22px;
}

.form-section-title {
  margin-bottom: 0;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}

.form-section-title.compact {
  margin-top: 4px;
}

.form-section-title i {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #6d28d9;
  background: #f1ecff;
}

.form-section-title h2 {
  margin: 0;
  color: #081436;
  font-size: 22px;
}

.form-section-title p {
  margin: 4px 0 0;
  color: #667085;
}

.inquiry-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px 20px;
}

.inquiry-grid label,
.inquiry-note,
.inquiry-reply-box label {
  display: grid;
  gap: 8px;
  color: #15213d;
  font-weight: 900;
  align-content: start;
}

.inquiry-grid input,
.inquiry-grid select,
.inquiry-note textarea,
.inquiry-reply-box select,
.inquiry-reply-box textarea {
  width: 100%;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  background: #fbfdff;
  color: #081436;
  font: inherit;
}

.inquiry-grid input,
.inquiry-grid select,
.inquiry-reply-box select {
  min-height: 52px;
  padding: 0 14px;
}

.inquiry-note {
  margin-top: 0;
}

.inquiry-note textarea,
.inquiry-reply-box textarea {
  min-height: 156px;
  padding: 15px;
  resize: vertical;
}

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

.attachment-grid button {
  min-height: 132px;
  padding: 18px;
  display: grid;
  gap: 8px;
  justify-items: center;
  align-content: center;
  text-align: center;
  border: 1px dashed #b9c7dc;
  border-radius: 16px;
  background: #fbfdff;
  color: #25314f;
  cursor: pointer;
}

.attachment-grid i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #2454ff;
  background: #eef3ff;
}

.attachment-grid strong,
.attachment-grid span {
  display: block;
}

.attachment-grid span {
  color: #667085;
  font-size: 12px;
}

.inquiry-checks {
  margin-top: 0;
  display: grid;
  gap: 10px;
}

.inquiry-checks label {
  padding: 12px 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #edf2f8;
  border-radius: 14px;
  background: #fbfdff;
  color: #46556f;
  font-weight: 800;
}

.inquiry-actions {
  margin-top: 2px;
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  padding-top: 18px;
  border-top: 1px solid #edf2f8;
}

.inquiry-side {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 16px;
}

.inquiry-page-v2 {
  background:
    radial-gradient(circle at 96% 4%, rgba(0, 168, 181, 0.08), transparent 26%),
    radial-gradient(circle at 4% 18%, rgba(107, 43, 255, 0.07), transparent 24%);
}

.inquiry-command {
  max-width: 1280px;
  margin: 0 auto 18px;
  padding: 24px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 430px);
  gap: 22px;
  align-items: center;
  border: 1px solid #dce8f6;
  border-radius: 24px;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(244, 250, 255, 0.92)),
    radial-gradient(circle at top right, rgba(123, 0, 255, 0.12), transparent 30%);
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.06);
}

.inquiry-command h1 {
  margin: 10px 0 8px;
  color: #071436;
  font-size: clamp(30px, 3vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.03em;
}

.inquiry-command p {
  max-width: 720px;
  margin: 0;
  color: #5d6b84;
  line-height: 1.6;
}

.inquiry-recipient-card {
  padding: 18px;
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  border: 1px solid #dfe8f5;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 14px 34px rgba(15, 23, 42, 0.055);
}

.recipient-icon {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 58%, #7b00ff);
}

.inquiry-recipient-card span,
.inquiry-recipient-card strong,
.inquiry-recipient-card small {
  display: block;
}

.inquiry-recipient-card span {
  color: #00a8b5;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.inquiry-recipient-card strong {
  margin: 5px 0;
  color: #071436;
  font-size: 17px;
}

.inquiry-recipient-card small {
  color: #667085;
  line-height: 1.4;
}

.inquiry-form-v2 {
  gap: 16px;
  padding: 0;
  overflow: hidden;
}

.inquiry-form-section {
  padding: 22px;
  display: grid;
  gap: 18px;
  border-bottom: 1px solid #edf2f8;
}

.inquiry-form-section:last-child {
  border-bottom: 0;
}

.inquiry-form-v2 .form-section-title {
  padding-bottom: 14px;
  border-bottom: 1px solid #eef3f9;
}

.inquiry-form-v2 .form-section-title h2 {
  font-size: 20px;
}

.inquiry-form-v2 .form-section-title p {
  max-width: 680px;
  font-size: 14px;
  line-height: 1.5;
}

.inquiry-form-v2 .inquiry-grid.compact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.inquiry-form-v2 .wide-field {
  grid-column: span 2;
}

.inquiry-form-v2 .field-add-link {
  display: none;
}

.inquiry-form-v2 .inquiry-grid label,
.inquiry-form-v2 .inquiry-note {
  display: block;
}

.inquiry-form-v2 .req {
  display: inline;
  margin-left: 2px;
  vertical-align: baseline;
}

.inquiry-form-v2 .inquiry-grid input,
.inquiry-form-v2 .inquiry-grid select,
.inquiry-form-v2 .inquiry-note textarea {
  margin-top: 8px;
  border-radius: 14px;
  background: #ffffff;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.02);
}

.inquiry-form-v2 .inquiry-grid input:focus,
.inquiry-form-v2 .inquiry-grid select:focus,
.inquiry-form-v2 .inquiry-note textarea:focus {
  outline: 3px solid rgba(36, 84, 255, 0.12);
  border-color: rgba(36, 84, 255, 0.45);
}

.inquiry-form-v2 .attachment-grid button {
  border-style: solid;
  background:
    radial-gradient(circle at top left, rgba(0, 168, 181, 0.09), transparent 28%),
    #fbfdff;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.inquiry-form-v2 .attachment-grid button:hover {
  transform: translateY(-2px);
  border-color: rgba(36, 84, 255, 0.38);
  box-shadow: 0 16px 30px rgba(15, 23, 42, 0.08);
}

.inquiry-final-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
}

.inquiry-final-row .inquiry-actions {
  padding-top: 0;
  border-top: 0;
}

.inquiry-side-v2 .account-card {
  padding: 20px;
}

.inquiry-readiness {
  display: grid;
  gap: 12px;
  background:
    radial-gradient(circle at top right, rgba(0, 168, 181, 0.12), transparent 30%),
    #ffffff;
}

.inquiry-readiness h2 {
  margin: 0;
  color: #071436;
}

.readiness-meter {
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  border: 1px solid #dff3f3;
  border-radius: 18px;
  background: #f2fbfb;
}

.readiness-meter strong {
  color: #008c95;
  font-size: 34px;
  line-height: 1;
}

.readiness-meter span,
.inquiry-readiness p {
  color: #607089;
  line-height: 1.5;
}

.inquiry-steps div {
  padding: 14px;
  display: flex;
  gap: 10px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
}

.inquiry-steps div:last-child {
  border-bottom: 1px solid #edf2f8;
}

.inquiry-steps i {
  width: 30px;
  height: 30px;
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 999px;
  background: #061735;
  color: #ffffff;
  font-style: normal;
  font-weight: 900;
}

.inquiry-steps strong,
.inquiry-steps small {
  display: block;
}

.inquiry-steps strong {
  color: #081436;
}

.inquiry-steps small,
.reply-preview p {
  color: #667085;
  line-height: 1.5;
}

.reply-preview a,
.inquiry-card-actions a,
.inquiry-card-actions button,
.inquiry-reply-box button {
  min-height: 38px;
  padding: 0 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dbe5f2;
  border-radius: 11px;
  background: #ffffff;
  color: #25314f;
  font-weight: 900;
  cursor: pointer;
}

.reply-preview {
  display: grid;
  gap: 12px;
}

.reply-preview h2,
.inquiry-steps h2 {
  margin: 0 0 4px;
}

.reply-preview a,
.inquiry-card-actions a:first-child,
.inquiry-reply-box button {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
}

.inquiry-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
}

.inquiry-summary-grid div {
  padding: 12px;
  border-radius: 14px;
  background: #f7fbff;
}

.inquiry-summary-grid strong,
.inquiry-summary-grid span {
  display: block;
}

.inquiry-summary-grid strong {
  color: #081436;
  font-size: 28px;
}

.inquiry-summary-grid span {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.inquiry-tabs {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  border: 1px solid #e2eaf5;
  border-radius: 18px;
  background: #ffffff;
}

.inquiry-tabs a {
  min-height: 38px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  border: 1px solid #dbe5f2;
  border-radius: 999px;
  color: #34405f;
  font-weight: 900;
}

.inquiry-tabs a.active {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
}

.inquiry-board {
  display: grid;
  gap: 14px;
}

.inquiry-status-card {
  padding: 16px;
  border-left: 5px solid #2454ff;
}

.inquiry-status-card.awaiting {
  border-left-color: #f59e0b;
}

.inquiry-status-card.replied {
  border-left-color: #10b981;
}

.inquiry-status-card.negotiation {
  border-left-color: #7b00ff;
}

.inquiry-status-card.received {
  border-left-color: #00a8b5;
}

.inquiry-status-head span,
.inquiry-status-head strong,
.inquiry-status-head small {
  display: block;
}

.inquiry-status-head span {
  color: #2454ff;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.inquiry-status-head strong {
  margin-top: 4px;
  color: #081436;
  font-size: 20px;
}

.inquiry-status-head small {
  margin-top: 3px;
  color: #667085;
}

.inquiry-status-card p {
  margin: 10px 0;
  color: #536587;
  line-height: 1.5;
}

.seller-reply {
  padding: 11px 12px;
  border: 1px solid #c7f2e2;
  border-radius: 14px;
  background: #f0fdf8;
}

.inquiry-mini-meta,
.inquiry-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.inquiry-mini-meta span {
  padding: 7px 9px;
  border-radius: 999px;
  background: #f5f8fc;
  color: #46556f;
  font-size: 12px;
  font-weight: 800;
}

.inquiry-card-actions {
  margin-top: 12px;
}

.inquiry-pipeline div {
  margin-top: 12px;
  display: grid;
  gap: 7px;
}

.inquiry-pipeline span {
  color: #25314f;
  font-weight: 900;
}

.inquiry-pipeline i {
  height: 8px;
  display: block;
  border-radius: 999px;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
}

.inquiry-reply-box {
  display: grid;
  gap: 12px;
}

/* Lightweight custom dropdown option flow */
.field-add-link {
  width: fit-content;
  margin-top: -2px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #2454ff;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
  text-align: left;
  cursor: pointer;
}

.field-add-link:hover {
  color: #7b00ff;
  text-decoration: underline;
}

/* Taxonomy connection layer: profile setup, discovery filters and admin mapping. */
.taxonomy-sync-note,
.intent-chip-panel,
.taxonomy-filter-card,
.taxonomy-map-panel {
  border: 1px solid #dfe9f6;
  background: linear-gradient(135deg, #f7fbff 0%, #ffffff 58%, #f2fffb 100%);
  box-shadow: 0 16px 38px rgba(10, 30, 70, 0.05);
}

.taxonomy-sync-note {
  margin: 0 0 16px;
  padding: 13px 14px;
  display: flex;
  align-items: flex-start;
  gap: 12px;
  border-radius: 16px;
}

.taxonomy-sync-note.person {
  background: linear-gradient(135deg, #fbf8ff 0%, #ffffff 62%, #f4fbff 100%);
}

.taxonomy-sync-note i,
.taxonomy-map-grid i {
  width: 36px;
  height: 36px;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 12px;
  color: #2454ff;
  background: #eef4ff;
}

.taxonomy-sync-note strong,
.intent-chip-panel strong {
  display: block;
  color: #081436;
  font-weight: 900;
}

.taxonomy-sync-note span,
.intent-chip-panel span,
.taxonomy-map-panel p,
.taxonomy-map-grid span {
  display: block;
  margin-top: 3px;
  color: #5e6c84;
  line-height: 1.55;
}

.intent-chip-panel {
  margin: 16px 0;
  padding: 16px;
  border-radius: 18px;
}

.intent-chip-panel.person {
  background: linear-gradient(135deg, #fffafd 0%, #ffffff 58%, #f7f5ff 100%);
}

.intent-chip-row {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
}

.intent-chip-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.intent-chip-row label {
  min-height: 38px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1px solid #dce6f2;
  border-radius: 999px;
  background: #ffffff;
  color: #102149;
  font-size: 13px;
  font-weight: 900;
}

.intent-chip-row input,
.taxonomy-check input {
  accent-color: #641cff;
}

.taxonomy-filter-card {
  margin-bottom: 14px;
  padding: 14px;
  border-radius: 18px;
}

.taxonomy-filter-head {
  margin-bottom: 12px;
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: flex-start;
}

.taxonomy-filter-head h3 {
  margin: 3px 0 0;
  color: #081436;
  font-size: 16px;
  line-height: 1.35;
}

.taxonomy-filter-head small {
  padding: 7px 10px;
  border-radius: 999px;
  color: #2454ff;
  background: #edf4ff;
  font-weight: 900;
  white-space: nowrap;
}

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

.taxonomy-filter-grid label,
.taxonomy-check {
  display: grid;
  gap: 6px;
  color: #16223f;
  font-size: 12px;
  font-weight: 900;
}

.taxonomy-filter-grid select,
.taxonomy-market-search select {
  min-height: 42px;
  padding: 0 12px;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  background: #ffffff;
  color: #111c3a;
  font: inherit;
  font-weight: 800;
}

.taxonomy-check {
  min-height: 42px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  background: #ffffff;
  color: #102149;
}

.taxonomy-check.compact {
  justify-content: center;
}

.taxonomy-market-search {
  grid-template-columns: minmax(260px, 1.35fr) repeat(4, minmax(150px, 0.75fr)) 110px;
}

.marketplace-body .market-search-row {
  gap: 8px;
}

.marketplace-body .market-search-row label,
.marketplace-body .market-search-row input,
.marketplace-body .market-search-row select,
.marketplace-body .taxonomy-check {
  min-height: 38px;
  border-radius: 10px;
  font-size: 12px;
}

.marketplace-body .market-search-row label {
  padding: 0 10px;
}

.marketplace-body .market-search-row select {
  padding: 0 9px;
  font-weight: 700;
}

.marketplace-body .taxonomy-check.compact {
  gap: 6px;
  padding: 0 9px;
  white-space: nowrap;
}

.connection-search-panel .taxonomy-check {
  min-height: 44px;
}

.taxonomy-map-panel {
  border-radius: 18px;
}

.taxonomy-map-panel p {
  margin: -4px 0 14px;
}

.taxonomy-map-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.taxonomy-map-grid div {
  padding: 14px;
  display: grid;
  gap: 8px;
  border: 1px solid #e4edf8;
  border-radius: 16px;
  background: #ffffff;
}

.taxonomy-map-grid strong {
  color: #081436;
  font-weight: 900;
}

.taxonomy-map-grid span {
  font-size: 13px;
}

.connection-search-panel {
  grid-template-columns: minmax(260px, 1.4fr) repeat(5, minmax(150px, 0.75fr)) 105px auto;
}

@media (max-width: 1180px) {
  .taxonomy-filter-grid,
  .taxonomy-map-grid,
  .taxonomy-market-search,
  .connection-search-panel {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .taxonomy-filter-head {
    display: grid;
  }
}

@media (max-width: 720px) {
  .taxonomy-filter-grid,
  .taxonomy-map-grid,
  .taxonomy-market-search,
  .connection-search-panel {
    grid-template-columns: 1fr;
  }

  .taxonomy-filter-head small {
    white-space: normal;
  }
}

.option-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  padding: 20px;
  display: none;
  place-items: center;
  background: rgba(6, 23, 53, 0.5);
}

.option-modal.open {
  display: grid;
}

.option-modal-card {
  position: relative;
  width: min(100%, 520px);
  padding: 24px;
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 30px 90px rgba(6, 23, 53, 0.25);
}

.option-modal-card h2 {
  margin: 8px 0;
  color: #081436;
  font-size: 28px;
}

.option-modal-card p {
  margin: 0 0 16px;
  color: #667085;
  line-height: 1.55;
}

.option-modal-card label {
  margin-top: 12px;
  display: grid;
  gap: 7px;
  color: #15213d;
  font-weight: 900;
}

.option-modal-card input {
  min-height: 46px;
  padding: 0 13px;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  background: #fbfdff;
  font: inherit;
}

.option-modal-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid #e2eaf5;
  border-radius: 12px;
  background: #ffffff;
  color: #25314f;
  cursor: pointer;
}

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

/* Legacy global note styles retained for older archived mockups */
.global-flex-note,
.custom-option-box {
  border: 1px solid #dcebf7;
  border-radius: 18px;
  background:
    radial-gradient(circle at 98% 0, rgba(0, 168, 181, 0.12), transparent 32%),
    linear-gradient(135deg, #ffffff, #f5fbff);
  box-shadow: 0 14px 38px rgba(15, 23, 42, 0.045);
}

.global-flex-note {
  max-width: 1280px;
  margin: 0 auto 16px;
  padding: 16px;
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.listing-global-note {
  margin: 0 0 14px;
  max-width: none;
}

.global-flex-note > i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 15px;
  color: #007782;
  background: #e7fbfc;
}

.global-flex-note strong,
.custom-option-box strong {
  display: block;
  color: #081436;
  font-weight: 900;
}

.global-flex-note p {
  margin: 5px 0 0;
  color: #5d6b86;
  line-height: 1.55;
}

.custom-option-box {
  margin: -4px 0 14px;
  padding: 14px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px 12px;
  align-items: center;
  background:
    radial-gradient(circle at 0 0, rgba(123, 0, 255, 0.08), transparent 28%),
    #fbfdff;
}

.custom-option-box span {
  display: block;
  color: #667085;
  line-height: 1.45;
}

.custom-option-box button {
  min-height: 38px;
  padding: 0 13px;
  grid-row: span 2;
  border: 1px solid #cfdaf0;
  border-radius: 12px;
  background: #ffffff;
  color: #2454ff;
  font-weight: 900;
  cursor: pointer;
}

.custom-option-box button:hover {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #2454ff 55%, #7b00ff);
}

@media (max-width: 1180px) {
  .inquiry-command,
  .inquiry-hero,
  .inquiry-layout,
  .inquiry-center-layout {
    grid-template-columns: 1fr;
  }

  .inquiry-side {
    position: static;
  }
}

@media (max-width: 820px) {
  .inquiry-grid,
  .inquiry-form-v2 .inquiry-grid.compact-grid,
  .attachment-grid,
  .inquiry-summary-grid {
    grid-template-columns: 1fr;
  }

  .inquiry-form-v2 .wide-field,
  .inquiry-final-row {
    grid-column: auto;
    grid-template-columns: 1fr;
  }

  .inquiry-final-row .inquiry-actions {
    justify-content: stretch;
  }

  .inquiry-final-row .inquiry-actions .button {
    flex: 1 1 180px;
  }
}

@media (max-width: 720px) {
  .inquiry-main {
    padding: 16px 12px 24px;
  }

  .inquiry-command,
  .inquiry-form-section {
    padding: 18px;
  }

  .inquiry-recipient-card {
    grid-template-columns: 1fr;
  }

  .inquiry-actions {
    flex-direction: column;
  }

  .global-flex-note,
  .custom-option-box {
    grid-template-columns: 1fr;
  }

  .custom-option-box button {
    grid-row: auto;
  }
}

/* Final shared footer normalization for all public and logged-in pages. */
.site-footer .footer-grid,
.app-footer .footer-grid {
  width: min(100% - 64px, 1480px);
  max-width: 1480px;
  margin-inline: auto;
  grid-template-columns: minmax(260px, 1.25fr) repeat(4, minmax(130px, 1fr));
  gap: clamp(28px, 4vw, 54px);
}

.app-footer .footer-brand,
.site-footer .footer-brand {
  align-items: flex-start;
  text-align: left;
}

.app-footer .footer-logo,
.site-footer .footer-logo {
  width: auto;
  flex-direction: row;
  justify-content: flex-start;
  margin: 0 0 12px;
}

.app-footer .footer-brand p,
.site-footer .footer-brand p {
  margin: 0 0 16px;
  text-align: left;
}

.app-footer .social-links,
.site-footer .social-links {
  justify-content: flex-start;
  margin: 0;
}

.app-footer .copyright,
.site-footer .copyright {
  width: min(100% - 64px, 1480px);
}

@media (max-width: 1080px) {
  .site-footer .footer-grid,
  .app-footer .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .site-footer .footer-brand,
  .app-footer .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 640px) {
  .site-footer .footer-grid,
  .app-footer .footer-grid {
    width: min(100% - 28px, 560px);
    grid-template-columns: 1fr;
    gap: 24px;
  }

  .app-footer .copyright,
  .site-footer .copyright {
    width: min(100% - 28px, 560px);
  }
}

/* Final admin taxonomy modal alignment overrides */
.taxonomy-action-modal {
  align-items: center;
  justify-items: center;
  overflow-y: auto;
}

.taxonomy-action-modal .taxonomy-modal-card {
  width: min(720px, calc(100vw - 36px));
  max-height: calc(100vh - 40px);
  overflow-y: auto;
  padding: 28px;
  border-radius: 24px;
}

.taxonomy-action-modal .setup-eyebrow {
  display: inline-flex;
  margin-bottom: 8px;
}

.taxonomy-action-modal h2 {
  margin: 0 38px 8px 0;
  font-size: 26px;
  line-height: 1.15;
}

.taxonomy-action-modal p {
  max-width: 620px;
  margin: 0 0 18px;
  line-height: 1.55;
}

.taxonomy-action-modal .taxonomy-action-form {
  width: 100%;
  margin-top: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
  align-items: start;
}

.taxonomy-action-modal .taxonomy-action-form label {
  margin: 0;
  display: grid;
  gap: 8px;
  color: #101a3d;
  font-size: 13px;
  font-weight: 900;
}

.taxonomy-action-modal input,
.taxonomy-action-modal select,
.taxonomy-action-modal textarea {
  width: 100%;
  min-height: 46px;
  box-sizing: border-box;
  border: 1px solid #dce6f2;
  border-radius: 12px;
  background: #f8fbff;
  color: #111c3a;
  font: inherit;
  font-weight: 600;
}

.taxonomy-action-modal input,
.taxonomy-action-modal select {
  padding: 0 13px;
}

.taxonomy-action-modal textarea {
  min-height: 92px;
  padding: 12px 13px;
  resize: vertical;
}

.taxonomy-action-modal .taxonomy-note-field,
.taxonomy-action-modal .taxonomy-delete-warning,
.taxonomy-action-modal .option-modal-actions {
  grid-column: 1 / -1;
}

.taxonomy-action-modal .option-modal-actions {
  margin-top: 4px;
  padding-top: 16px;
  border-top: 1px solid #eef2f7;
  display: flex;
  justify-content: flex-end;
  gap: 10px;
}

@media (max-width: 680px) {
  .taxonomy-action-modal {
    padding: 12px;
  }

  .taxonomy-action-modal .taxonomy-modal-card {
    width: 100%;
    padding: 22px 16px;
  }

  .taxonomy-action-modal .taxonomy-action-form {
    grid-template-columns: 1fr;
  }

  .taxonomy-action-modal .option-modal-actions {
    display: grid;
  }
}

/* Admin detail wireframes */
.admin-detail-hero {
  margin-bottom: 18px;
  padding: 22px;
  border: 1px solid rgba(211, 222, 238, 0.9);
  border-radius: 22px;
  background:
    radial-gradient(circle at top right, rgba(0, 209, 216, 0.18), transparent 34%),
    linear-gradient(135deg, #ffffff, #f8fbff);
  box-shadow: 0 18px 46px rgba(12, 31, 68, 0.08);
}

.admin-detail-hero-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.admin-detail-title {
  display: flex;
  gap: 16px;
  align-items: center;
}

.admin-detail-avatar {
  width: 76px;
  height: 76px;
  border-radius: 22px;
  display: grid;
  place-items: center;
  color: #ffffff;
  font-size: 30px;
  background: linear-gradient(135deg, #00a8b5, #6127ff);
  box-shadow: 0 16px 30px rgba(37, 89, 199, 0.2);
  flex: 0 0 auto;
}

.admin-detail-title h1 {
  margin: 0 0 6px;
  color: #071436;
  font-size: clamp(26px, 3vw, 38px);
  line-height: 1.08;
}

.admin-detail-title p {
  margin: 0;
  max-width: 760px;
  color: #667085;
  line-height: 1.55;
}

.admin-detail-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.admin-detail-actions a,
.admin-detail-actions button {
  min-height: 42px;
  padding: 0 15px;
  border: 1px solid #dce5f2;
  border-radius: 13px;
  background: #ffffff;
  color: #071436;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}

.admin-detail-actions .primary {
  color: #ffffff;
  border-color: transparent;
  background: linear-gradient(135deg, #00a8b5, #6127ff);
}

.admin-detail-actions .danger {
  color: #ffffff;
  border-color: transparent;
  background: #e11d48;
}

.admin-detail-meta {
  margin-top: 20px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.admin-detail-meta span,
.admin-mini-card,
.admin-document-card,
.admin-timeline-card {
  padding: 13px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
}

.admin-detail-meta small,
.admin-mini-card small,
.admin-document-card small,
.admin-timeline-card small {
  display: block;
  color: #667085;
  font-size: 12px;
}

.admin-detail-meta strong,
.admin-mini-card strong,
.admin-document-card strong,
.admin-timeline-card strong {
  display: block;
  margin-top: 4px;
  color: #071436;
}

.admin-detail-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.6fr) minmax(320px, 0.8fr);
  gap: 18px;
  align-items: start;
}

.admin-detail-stack,
.admin-document-list,
.admin-timeline-list,
.admin-side-actions,
.admin-decision-box {
  display: grid;
  gap: 12px;
}

.admin-info-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.admin-info-grid.three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-info-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-mini-card p {
  margin: 6px 0 0;
  color: #667085;
  line-height: 1.5;
}

.admin-tag-list {
  margin: 16px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-tag-list span {
  padding: 8px 10px;
  border-radius: 999px;
  color: #12306b;
  background: #eef5ff;
  font-size: 12px;
  font-weight: 900;
}

.admin-document-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
}

.admin-document-card i {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  color: #6127ff;
  background: #f2ecff;
}

.admin-side-actions button,
.admin-side-actions a {
  min-height: 42px;
  padding: 0 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #dce5f2;
  border-radius: 13px;
  background: #ffffff;
  color: #071436;
  font-weight: 900;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
}

.market-detail-layout .admin-side-actions a {
  min-height: 52px;
  padding: 0 18px;
  font-size: 15px;
}

.admin-side-actions .primary {
  color: #ffffff;
  border-color: transparent;
  background: #061735;
}

.admin-side-actions .danger {
  color: #ffffff;
  border-color: transparent;
  background: #e11d48;
}

.admin-decision-box textarea {
  width: 100%;
  min-height: 110px;
  padding: 12px;
  border: 1px solid #dce5f2;
  border-radius: 14px;
  resize: vertical;
}

.admin-warning-note {
  padding: 13px;
  border: 1px solid #fed7aa;
  border-radius: 16px;
  color: #9a3412;
  background: #fff7ed;
  line-height: 1.5;
}

.admin-event-media-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin: 14px 0;
}

.admin-event-form-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 20px;
}

.admin-event-form-grid input,
.admin-event-form-grid select {
  min-height: 50px;
}

.admin-event-media-grid .upload-box {
  min-height: 132px;
  position: relative;
  cursor: pointer;
  text-align: center;
  background:
    radial-gradient(circle at top right, rgba(0, 209, 216, 0.12), transparent 32%),
    #f8fbff;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.admin-event-media-grid .upload-box:hover {
  transform: translateY(-2px);
  border-color: #6b35ff;
  box-shadow: 0 16px 32px rgba(28, 45, 92, 0.1);
}

.admin-event-media-grid .gallery-upload {
  grid-column: 1 / -1;
}

.admin-event-media-grid input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.admin-detail-actions.compact {
  justify-content: flex-end;
  flex-wrap: nowrap;
  gap: 8px;
}

.admin-detail-actions.compact a,
.admin-detail-actions.compact button {
  min-height: 34px;
  padding: 0 10px;
  border-radius: 10px;
  font-size: 12px;
  white-space: nowrap;
}

.admin-review-page .admin-topbar {
  grid-template-columns: minmax(0, 1fr) auto;
}

.admin-company-review .admin-detail-actions.compact a,
.admin-company-review .admin-detail-actions.compact button {
  min-width: 92px;
}

.admin-review-hero {
  overflow: hidden;
  border: 1px solid rgba(211, 222, 238, 0.9);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(15, 23, 42, 0.08);
}

.admin-review-cover {
  min-height: 190px;
  padding: 24px;
  display: flex;
  align-items: flex-end;
  gap: 10px;
  color: #ffffff;
  background:
    linear-gradient(135deg, rgba(7, 25, 50, 0.72), rgba(0, 168, 181, 0.32)),
    linear-gradient(135deg, #0d2a4c, #0b7d86 48%, #6b4c21);
}

.admin-review-cover i {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.18);
}

.admin-review-cover span {
  font-weight: 900;
}

.admin-review-summary {
  padding: 26px;
}

.admin-review-summary.with-logo {
  display: grid;
  grid-template-columns: 108px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}

.admin-review-logo {
  width: 108px;
  height: 108px;
  margin-top: -76px;
  display: grid;
  place-items: center;
  border: 7px solid #ffffff;
  border-radius: 26px;
  color: #ffffff;
  font-size: 42px;
  background: linear-gradient(135deg, #00a8b5, #2454ff);
  box-shadow: 0 18px 36px rgba(15, 23, 42, 0.16);
}

.admin-review-summary h1 {
  margin: 10px 0 8px;
  color: #071436;
  font-size: clamp(28px, 3.2vw, 44px);
  line-height: 1.08;
}

.status-pill {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border-radius: 999px;
  color: #0f766e;
  background: #e7fbf7;
  font-size: 12px;
  font-weight: 900;
}

.status-pill.pending {
  color: #7c3aed;
  background: #f3edff;
}

.status-pill.active {
  color: #047857;
  background: #e7f9ef;
}

.admin-review-summary p,
.admin-review-text p {
  margin: 0;
  color: #667085;
  line-height: 1.6;
}

.admin-review-meta {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.admin-review-meta span,
.admin-info-list span {
  padding: 12px;
  border: 1px solid #e8eef7;
  border-radius: 15px;
  background: #fbfdff;
}

.admin-review-meta small,
.admin-info-list small {
  display: block;
  margin-bottom: 4px;
  color: #667085;
  font-size: 12px;
}

.admin-review-meta strong,
.admin-info-list strong {
  display: block;
  color: #071436;
}

.admin-review-layout {
  margin-top: 18px;
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.8fr);
  gap: 18px;
  align-items: start;
}

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

.admin-review-single > aside.admin-review-stack {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
}

.admin-review-single > aside.admin-review-stack .admin-panel {
  height: 100%;
}

.admin-review-stack,
.admin-info-list {
  display: grid;
  gap: 14px;
}

.admin-review-single .admin-info-list {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-review-page .admin-info-grid + .admin-tag-list {
  margin-top: 22px;
}

.admin-review-page .admin-tag-list + .admin-media-review-grid {
  margin-top: 20px;
}

.admin-mini-card.wide {
  grid-column: 1 / -1;
}

.admin-review-text {
  margin-top: 14px;
  padding: 14px;
  border: 1px solid #e8eef7;
  border-radius: 16px;
  background: #fbfdff;
}

.admin-review-text h3 {
  margin: 0 0 8px;
  color: #071436;
}

.admin-review-table {
  display: grid;
  gap: 10px;
}

.admin-review-table div {
  padding: 13px;
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr) 180px;
  gap: 12px;
  align-items: center;
  border: 1px solid #e8eef7;
  border-radius: 15px;
  background: #fbfdff;
}

.admin-review-table span {
  color: #071436;
  font-weight: 800;
}

.admin-review-table small {
  color: #667085;
}

.admin-media-review-grid {
  margin-top: 18px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.admin-media-tile {
  min-height: 126px;
  padding: 14px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 7px;
  border: 1px solid #dfe8f4;
  border-radius: 18px;
  color: #071436;
  background:
    radial-gradient(circle at 20% 18%, rgba(0, 168, 181, 0.15), transparent 30%),
    linear-gradient(135deg, #ffffff, #f5f8ff);
}

.admin-media-tile.cover {
  background:
    linear-gradient(135deg, rgba(7, 25, 50, 0.78), rgba(0, 168, 181, 0.28)),
    linear-gradient(135deg, #0d2a4c, #0b7d86 48%, #6b4c21);
  color: #ffffff;
}

.admin-media-tile.logo {
  background: linear-gradient(135deg, #00a8b5, #2454ff);
  color: #ffffff;
}

.admin-media-tile i {
  font-size: 24px;
}

.admin-media-tile span {
  color: inherit;
  opacity: 0.72;
  font-size: 12px;
}

.admin-event-media-contact .upload-box {
  min-height: 142px;
}

.admin-event-media-row,
.admin-event-contact-row {
  gap: 18px 20px;
}

.admin-event-media-contact .upload-box {
  position: relative;
  display: grid;
  place-items: center;
  gap: 8px;
  text-align: center;
}

.admin-event-media-contact .upload-box input[type="file"] {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.admin-event-media-contact .upload-box i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  color: #5d2cff;
  background: #f2ecff;
  font-size: 18px;
}

.admin-event-media-contact .upload-box strong,
.admin-event-media-contact .upload-box span {
  display: block;
}

.admin-event-media-contact .upload-box strong {
  color: #071436;
  font-size: 14px;
}

.admin-event-media-contact .upload-box span {
  color: #667085;
  font-size: 12px;
}

.admin-review-page .admin-decision-box {
  gap: 14px;
}

.admin-review-page .admin-side-actions {
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
}

.admin-review-page .admin-side-actions button {
  min-height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  font-size: 13px;
}

.subadmin-permission-field {
  grid-column: 1 / -1;
  display: grid;
  gap: 6px;
}

.subadmin-permission-field > strong {
  color: #101a3d;
  font-size: 12px;
}

.subadmin-modal-permissions {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-roles-table .admin-table-row {
  grid-template-columns: minmax(240px, 1.25fr) 120px minmax(190px, 1fr) 110px minmax(190px, 0.9fr);
  align-items: center;
}

.admin-roles-table .admin-table-row.head > span:last-child {
  display: block;
}

.admin-row-actions {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 8px;
}

.admin-row-actions a,
.admin-row-actions button {
  min-width: 78px;
}

.subadmin-action-modal .taxonomy-modal-card {
  width: min(780px, calc(100vw - 36px));
  max-height: calc(100vh - 24px);
  padding: 18px;
  border-radius: 18px;
}

.subadmin-action-form {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px 12px;
}

.subadmin-action-modal .setup-eyebrow {
  margin-bottom: 5px;
}

.subadmin-action-modal h2 {
  margin-bottom: 5px;
  font-size: 22px;
}

.subadmin-action-modal p {
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.35;
}

.subadmin-action-modal .taxonomy-action-form label {
  gap: 5px;
  font-size: 12px;
}

.subadmin-action-modal input,
.subadmin-action-modal select {
  min-height: 36px;
  border-radius: 10px;
}

.subadmin-action-modal textarea {
  min-height: 48px;
  border-radius: 10px;
}

.subadmin-action-form .taxonomy-note-field,
.subadmin-action-form .subadmin-permission-field,
.subadmin-action-form .taxonomy-delete-warning,
.subadmin-action-form .option-modal-actions,
#subadminExistingField {
  grid-column: 1 / -1;
}

.subadmin-modal-permissions {
  padding: 8px;
  border: 1px solid #edf2f8;
  border-radius: 12px;
  background: #f8fbff;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
}

.subadmin-modal-permissions label {
  min-height: 30px;
  margin: 0;
  padding: 6px 8px;
  border: 1px solid #e3ebf6;
  border-radius: 9px;
  background: #ffffff;
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: 11px;
  line-height: 1.25;
}

.subadmin-modal-permissions input[type="checkbox"] {
  width: 14px;
  height: 14px;
  min-height: 14px;
  padding: 0;
  margin: 0;
  flex: 0 0 14px;
  accent-color: #6617ff;
}

.subadmin-action-modal .option-modal-actions {
  margin-top: 8px;
  padding-top: 10px;
  justify-content: flex-end;
}

@media (max-width: 1100px) {
  .admin-detail-grid,
  .admin-detail-hero-row {
    grid-template-columns: 1fr;
  }

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

  .admin-detail-meta,
  .admin-info-grid.three {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-info-grid.four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .admin-detail-title {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-detail-meta,
  .admin-info-grid,
  .admin-info-grid.three,
  .admin-info-grid.four,
  .admin-document-card,
  .admin-event-form-grid,
  .admin-event-media-grid,
  .subadmin-modal-permissions {
    grid-template-columns: 1fr;
  }

  .admin-roles-table .admin-table-row,
  .subadmin-action-form {
    grid-template-columns: 1fr;
  }

  .admin-row-actions {
    flex-wrap: wrap;
  }

  .admin-event-media-grid .gallery-upload {
    grid-column: auto;
  }
}

/* Simplified launch pricing and billing pages */
.admin-login-logo {
  display: inline-flex;
  align-items: center;
  gap: 11px;
}

.admin-login-brand .admin-login-logo img {
  width: 76px;
  height: 52px;
  object-fit: contain;
  filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.18));
}

.admin-login-logo div {
  display: grid;
  gap: 1px;
}

.admin-login-logo strong {
  color: #ffffff;
  font-size: 34px;
  font-weight: 900;
  line-height: 0.95;
  letter-spacing: -0.04em;
}

.admin-login-logo small {
  width: fit-content;
  margin-top: 4px;
  padding-top: 3px;
  border-top: 1px solid #00c2c7;
  color: #c7b8ff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
}

.admin-login-topline {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}

.admin-login-topline > span {
  display: inline-flex;
  margin-top: 0;
  padding: 8px 13px;
  border: 1px solid rgba(0, 194, 199, 0.2);
  border-radius: 999px;
  color: #52f0f3;
  background: rgba(0, 168, 181, 0.12);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.simple-launch-hero {
  background:
    radial-gradient(circle at 92% 8%, rgba(0, 168, 181, 0.16), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f8fbff 58%, #eefcff 100%);
}

.simple-free-card {
  min-height: 190px;
  display: grid;
  align-content: center;
}

.launch-simple-panel,
.simple-billing-layout {
  max-width: 1280px;
  margin: 0 auto;
}

.launch-simple-card,
.simple-plan-status {
  border: 1px solid #e2eaf5;
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.055);
}

.launch-simple-card {
  padding: 30px;
  background:
    radial-gradient(circle at 90% 0, rgba(109, 25, 245, 0.08), transparent 28%),
    #ffffff;
}

.launch-simple-card h2 {
  margin: 14px 0 8px;
  color: #081436;
  font-size: clamp(28px, 3vw, 42px);
}

.launch-simple-card > strong {
  display: block;
  color: #0fa77a;
  font-size: 44px;
  line-height: 1;
}

.launch-simple-card p,
.simple-billing-note {
  color: #61708a;
  line-height: 1.6;
}

.launch-benefit-grid {
  margin: 22px 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.launch-benefit-grid div {
  padding: 14px;
  display: flex;
  align-items: center;
  gap: 10px;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: #fbfdff;
  color: #25314f;
  font-weight: 800;
}

.launch-benefit-grid i {
  color: #0fa77a;
}

.simple-status-grid div {
  background: linear-gradient(135deg, #ffffff, #f8fbff);
}

@media (max-width: 720px) {
  .admin-login-brand .admin-login-logo img {
    width: 42px;
    height: 30px;
  }

  .admin-login-logo strong {
    font-size: 26px;
  }

  .admin-login-logo small {
    font-size: 9px;
  }

  .launch-benefit-grid {
    grid-template-columns: 1fr;
  }
}


/* Legal pages and account settings polish */
.legal-body {
  background:
    radial-gradient(circle at 50% 0, rgba(0, 168, 181, 0.08), transparent 32%),
    linear-gradient(180deg, #f8fbff 0%, #f5f8fc 100%);
}

.legal-main {
  padding: 28px 20px 34px;
}

.legal-hero,
.legal-layout {
  width: min(1180px, 100%);
  margin: 0 auto;
}

.legal-hero {
  padding: 32px;
  border: 1px solid #e2eaf5;
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 0, rgba(109, 25, 245, 0.1), transparent 30%),
    #ffffff;
  box-shadow: 0 20px 54px rgba(15, 23, 42, 0.055);
}

.legal-hero h1 {
  margin: 8px 0 10px;
  color: #081436;
  font-size: clamp(34px, 5vw, 58px);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.legal-hero p {
  max-width: 820px;
  margin: 0;
  color: #61708a;
  line-height: 1.7;
}

.legal-hero small {
  display: block;
  margin-top: 16px;
  color: #4f22d8;
  font-weight: 900;
}

.legal-layout {
  margin-top: 18px;
  display: grid;
  grid-template-columns: 260px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.legal-index,
.legal-content article {
  border: 1px solid #e2eaf5;
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.045);
}

.legal-index {
  position: sticky;
  top: 94px;
  padding: 14px;
  display: grid;
  gap: 8px;
}

.legal-index a {
  padding: 11px 12px;
  border-radius: 12px;
  color: #43516d;
  font-weight: 900;
}

.legal-index a:hover {
  color: #4f22d8;
  background: #f4f0ff;
}

.legal-content {
  display: grid;
  gap: 14px;
}

.legal-content article {
  padding: 22px;
}

.legal-content h2 {
  margin: 0 0 8px;
  color: #081436;
  font-size: 21px;
}

.legal-content p {
  margin: 0;
  color: #61708a;
  line-height: 1.75;
}

.free-plan-message {
  margin-bottom: 14px;
  padding: 16px;
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
  border: 1px solid rgba(0, 168, 181, 0.18);
  border-radius: 18px;
  background: linear-gradient(135deg, #ffffff, #effdff);
}

.free-plan-message > span {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff);
}

.free-plan-message strong {
  display: block;
  color: #081436;
  font-size: 18px;
}

.compact-status-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.clean-links a {
  align-items: center;
}

.privacy-control-card {
  background:
    radial-gradient(circle at 100% 0, rgba(0, 168, 181, 0.1), transparent 28%),
    #ffffff;
}

.privacy-control-list {
  display: grid;
  gap: 10px;
}

.privacy-control-list div {
  padding: 12px;
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  border: 1px solid #edf2f8;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
}

.privacy-control-list i {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border-radius: 13px;
  color: #4f22d8;
  background: #f1ecff;
}

.privacy-control-list strong,
.privacy-control-list small {
  display: block;
}

.privacy-control-list strong {
  color: #081436;
  font-size: 13px;
}

.privacy-control-list small {
  margin-top: 3px;
  color: #667085;
  line-height: 1.45;
}

.privacy-control-list button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #dce5f1;
  border-radius: 11px;
  color: #4f22d8;
  background: #ffffff;
  font: inherit;
  font-size: 12px;
  font-weight: 900;
}

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

  .legal-index {
    position: static;
  }

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

@media (max-width: 640px) {
  .legal-main {
    padding: 16px 12px 24px;
  }

  .legal-hero,
  .legal-content article {
    padding: 18px;
  }

  .compact-status-grid,
  .privacy-control-list div,
  .free-plan-message {
    grid-template-columns: 1fr;
  }

  .privacy-control-list button {
    width: 100%;
  }
}

/* Repeatable service deliverables */
.service-deliverables-section,
.deliverable-builder {
  display: grid;
  gap: 18px;
}

.deliverable-builder {
  gap: 12px;
}

.deliverable-item-row {
  padding: 14px;
  display: grid;
  grid-template-columns: minmax(220px, 0.85fr) minmax(0, 1fr) 42px;
  gap: 12px;
  align-items: end;
  border: 1px solid #e5edf7;
  border-radius: 16px;
  background: linear-gradient(135deg, #ffffff, #f8fbff);
}

.deliverable-item-row button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border: 1px solid #f1d1d8;
  border-radius: 12px;
  color: #e11d48;
  background: #fff5f7;
  cursor: pointer;
}

.add-deliverable-item {
  min-height: 40px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px solid rgba(93, 44, 255, 0.22);
  border-radius: 12px;
  color: #4f22d8;
  background: #f7f3ff;
  font: inherit;
  font-size: 13px;
  font-weight: 900;
  cursor: pointer;
}

.add-deliverable-item:hover {
  color: #ffffff;
  background: linear-gradient(135deg, #00a8b5, #2454ff 52%, #7b00ff);
  box-shadow: 0 14px 28px rgba(93, 44, 255, 0.18);
}

@media (max-width: 900px) {
  .deliverable-item-row {
    grid-template-columns: 1fr;
  }

  .deliverable-item-row button {
    width: 100%;
  }
}

/* Admin full event form alignment */
.admin-full-event-form {
  max-width: 1180px;
  margin: 18px auto 0;
}

.admin-full-event-form .form-section {
  border: 1px solid #e2eaf5;
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(15, 23, 42, 0.045);
}

.admin-event-publish-panel {
  display: grid;
  gap: 14px;
}

.admin-side-actions.inline-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-side-actions.inline-actions button {
  min-width: 150px;
}

/* Quick-access rails keep summaries and controls visible beside the main content. */
.marketplace-layout,
.connections-layout,
.saved-layout {
  grid-template-columns: minmax(0, 1fr) minmax(280px, 330px);
  gap: 20px;
  align-items: start;
}

.marketplace-layout .dashboard-rail,
.connections-side,
.saved-side {
  position: sticky;
  top: 92px;
  align-self: start;
  display: grid;
  gap: 14px;
}

.marketplace-layout .dashboard-rail .rail-card,
.connections-side .account-card,
.saved-side .account-card {
  border: 1px solid #e2eaf5;
  border-radius: 20px;
  background: linear-gradient(135deg, #ffffff, #f8fcff);
  box-shadow: 0 18px 44px rgba(15, 23, 42, 0.05);
}

.marketplace-layout .dashboard-rail .rail-card:first-child,
.connections-side .account-card:first-child,
.saved-side .account-card:first-child {
  background:
    radial-gradient(circle at 100% 0, rgba(0, 168, 181, 0.12), transparent 34%),
    linear-gradient(135deg, #ffffff, #f3fbff);
}

.connections-side .account-card h2,
.saved-side .account-card h2,
.marketplace-layout .rail-title {
  margin-bottom: 12px;
}

.connections-side .account-card p,
.saved-side .account-card p,
.marketplace-layout .dashboard-rail p {
  line-height: 1.55;
}

.connections-side .btn,
.saved-side .btn,
.marketplace-layout .dashboard-rail .btn,
.marketplace-layout .dashboard-rail button {
  width: 100%;
  justify-content: center;
}

@media (max-width: 1180px) {
  .marketplace-layout,
  .connections-layout,
  .saved-layout {
    grid-template-columns: 1fr;
  }

  .marketplace-layout .dashboard-rail,
  .connections-side,
  .saved-side {
    position: static;
  }
}

/* Website-wide consistency polish */
:where(.account-card, .form-section, .admin-review-card, .rail-card, .legal-content article, .feature-card, .market-card, .connection-card, .saved-card) {
  border-color: #e2eaf5;
}

:where(input, select, textarea, button, .button, .btn, .nav-link, .sidebar-link) {
  transition: border-color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease, background 0.18s ease, color 0.18s ease;
}

:where(input, select, textarea):focus {
  border-color: rgba(79, 34, 216, 0.55);
  box-shadow: 0 0 0 4px rgba(79, 34, 216, 0.1);
  outline: none;
}

:where(.button, .btn):hover {
  transform: translateY(-1px);
}

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

.support-card {
  padding: 22px;
  border: 1px solid #e2eaf5;
  border-radius: 20px;
  background: linear-gradient(135deg, #ffffff, #f8fcff);
  box-shadow: 0 16px 38px rgba(15, 23, 42, 0.045);
}

.support-card i {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  margin-bottom: 14px;
  border-radius: 15px;
  color: #4f22d8;
  background: #f1ecff;
}

.support-card h2,
.support-card h3 {
  margin: 0 0 8px;
  color: #081436;
  font-size: 20px;
}

.support-card p {
  margin: 0;
  color: #61708a;
  line-height: 1.65;
}

.support-card a {
  display: inline-flex;
  margin-top: 14px;
  color: #4f22d8;
  font-weight: 900;
}

.support-list {
  display: grid;
  gap: 12px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.support-list li {
  padding: 14px;
  border: 1px solid #e8eef7;
  border-radius: 16px;
  background: #ffffff;
}

.support-list strong {
  display: block;
  margin-bottom: 4px;
  color: #081436;
}

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

.clean-form label {
  display: grid;
  gap: 8px;
  color: #081436;
  font-size: 13px;
  font-weight: 900;
}

.clean-form input,
.clean-form textarea,
.clean-form select {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #dce5f1;
  border-radius: 14px;
  color: #081436;
  background: #ffffff;
  font: inherit;
  font-weight: 700;
}

.clean-form textarea {
  min-height: 140px;
  resize: vertical;
}

.error-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 22px;
}

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

/* Public company, support and legal pages */
.public-info-page {
  min-height: 70vh;
  background: linear-gradient(180deg, #f3f8ff 0, #fff 420px);
}

.public-info-hero {
  position: relative;
  overflow: hidden;
  padding: 82px 0 74px;
  color: #fff;
  background: linear-gradient(125deg, #071943 0%, #123d72 58%, #008e9a 100%);
}

.public-info-hero::after {
  content: "";
  position: absolute;
  right: -110px;
  bottom: -190px;
  width: 430px;
  height: 430px;
  border: 1px solid rgba(255, 255, 255, .15);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(255, 255, 255, .035), 0 0 0 140px rgba(255, 255, 255, .025);
}

.public-info-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 900px;
}

.public-info-eyebrow {
  display: inline-block;
  margin-bottom: 18px;
  color: #65e6ec;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.public-info-hero h1 {
  max-width: 850px;
  margin: 0;
  color: #fff;
  font-size: clamp(38px, 5vw, 66px);
  line-height: 1.04;
  letter-spacing: -.035em;
}

.public-info-hero p {
  max-width: 760px;
  margin: 22px 0 0;
  color: rgba(255, 255, 255, .8);
  font-size: 19px;
  line-height: 1.7;
}

.public-info-hero time {
  display: block;
  margin-top: 22px;
  color: #b9d8ed;
  font-size: 13px;
  font-weight: 700;
}

.public-info-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 310px;
  gap: 34px;
  align-items: start;
  padding-top: 54px;
  padding-bottom: 80px;
}

.public-info-content {
  overflow: hidden;
  border: 1px solid #dfe8f4;
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 55px rgba(7, 25, 67, .07);
}

.public-info-content > section {
  padding: 30px 34px;
  border-bottom: 1px solid #e8eef6;
}

.public-info-content > section:last-child { border-bottom: 0; }

.public-info-content h2,
.public-info-side h2 {
  margin: 0 0 14px;
  color: #08183e;
  font-size: 21px;
  line-height: 1.3;
}

.public-info-content p {
  margin: 0 0 13px;
  color: #52617d;
  font-size: 16px;
  line-height: 1.75;
}

.public-info-content p:last-child { margin-bottom: 0; }

.public-info-content ul {
  display: grid;
  gap: 11px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.public-info-content li {
  display: grid;
  grid-template-columns: 25px 1fr;
  gap: 10px;
  align-items: start;
  color: #52617d;
  line-height: 1.6;
}

.public-info-content li i {
  display: grid;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  place-items: center;
  border-radius: 7px;
  color: #087e88;
  background: #e1f8f7;
  font-size: 10px;
}

.public-info-notice {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 14px;
  align-items: start;
  margin: 24px;
  padding: 18px;
  border: 1px solid #f1d9a0;
  border-radius: 16px;
  background: #fff9e9;
}

.public-info-notice i {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 12px;
  color: #9c6500;
  background: #ffedbd;
}

.public-info-notice p { margin: 0; color: #79561a; font-size: 14px; line-height: 1.55; }

.public-info-side {
  position: sticky;
  top: 110px;
  display: grid;
  gap: 16px;
}

.public-info-side > div {
  padding: 25px;
  border: 1px solid #dfe8f4;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 14px 40px rgba(7, 25, 67, .06);
}

.public-info-side > div > i {
  display: grid;
  width: 46px;
  height: 46px;
  margin-bottom: 18px;
  place-items: center;
  border-radius: 14px;
  color: #6031ed;
  background: #eee8ff;
  font-size: 19px;
}

.public-info-side p { margin: 0 0 18px; color: #65728d; line-height: 1.55; }
.public-info-side a { color: #5525dc; font-weight: 800; text-decoration: none; }

.public-info-primary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 54px;
  padding: 0 20px;
  border-radius: 15px;
  color: #fff !important;
  background: linear-gradient(100deg, #079dab, #6530ef);
  box-shadow: 0 13px 28px rgba(74, 43, 214, .2);
}

@media (max-width: 900px) {
  .public-info-hero { padding: 58px 0 54px; }
  .public-info-layout { grid-template-columns: 1fr; padding-top: 28px; }
  .public-info-side { position: static; grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
  .public-info-hero h1 { font-size: 38px; }
  .public-info-hero p { font-size: 16px; }
  .public-info-layout { padding-bottom: 45px; }
  .public-info-content > section { padding: 24px 20px; }
  .public-info-notice { grid-template-columns: 1fr; margin: 14px; }
  .public-info-side { grid-template-columns: 1fr; }
}
