:root {
  --bg: #f6f4ef;
  --surface: #ffffff;
  --surface-strong: #101214;
  --ink: #16191d;
  --muted: #626a73;
  --line: #dfddd7;
  --brand: #2bff00;
  --brand-strong: #2bff00;
  --green: #2bff00;
  --accent: #905CAE;
  --accent-soft: #f4e9f8;
  --blue: #294f9f;
  --ok: #2bff00;
  --shadow: 0 22px 50px rgba(22, 25, 29, 0.09);
}

/* Home: first-project call to action between the assisted operation and footer. */
.home-trial-cta {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 36px;
  align-items: center;
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto 54px;
  padding: 30px 34px;
  overflow: hidden;
  border: 1px solid rgba(43, 255, 0, 0.58);
  border-radius: 8px;
  background: #f1fff0;
  box-shadow: 0 12px 0 rgba(43, 255, 0, 0.12);
}

.home-trial-background-video {
  position: absolute;
  z-index: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  opacity: .32;
  filter: saturate(.82) contrast(.94);
  pointer-events: none;
}

.home-trial-cta::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 7px;
  background: #905cae;
  z-index: 3;
}

.home-trial-copy {
  position: relative;
  z-index: 2;
  display: grid;
  gap: 8px;
  min-width: 0;
}

.home-trial-copy .eyebrow {
  color: #6b347f;
}

.home-trial-copy h2,
.home-trial-copy p {
  margin: 0;
}

.home-trial-copy h2 {
  color: #16131a;
  font-size: clamp(1.65rem, 3vw, 2.35rem);
  line-height: 1.05;
}

.home-trial-title-row {
  display: flex;
  align-items: center;
  gap: clamp(16px, 2.4vw, 34px);
  min-width: 0;
}

.home-trial-avatars {
  flex: 0 0 auto;
  width: clamp(154px, 15vw, 220px);
  height: auto;
  filter: drop-shadow(0 8px 14px rgba(74, 29, 112, 0.2));
}

.home-trial-copy p {
  max-width: 690px;
  color: #4f5867;
  line-height: 1.55;
}

.home-trial-action {
  position: relative;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 56px;
  padding: 0 24px;
  border: 2px solid #17131a;
  border-radius: 8px;
  background: #2bff00;
  color: #121212;
  font-weight: 950;
  white-space: nowrap;
  box-shadow: 0 6px 0 #905cae;
}

.home-trial-action svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.home-trial-action:hover {
  color: #121212;
  transform: translateY(-2px);
  box-shadow: 0 8px 0 #905cae;
}

body.theme-dark .home-trial-cta {
  border-color: rgba(43, 255, 0, 0.44);
  background: #102417;
  box-shadow: 0 12px 0 rgba(144, 92, 174, 0.15);
}

body.theme-dark .home-trial-background-video {
  opacity: .24;
}

body.theme-dark .home-trial-copy h2 {
  color: #ffffff;
}

body.theme-dark .home-trial-copy p {
  color: #bdc8c0;
}

body.theme-dark .home-trial-copy .eyebrow {
  color: #b982d1;
}

.email-admin-page{min-height:100vh;padding:34px;background:#0d1110;color:#f7fff9}.email-admin-head{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:24px}.email-admin-head span,.email-admin-card header span{color:#a875c0;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em}.email-admin-head h1,.email-admin-card h2{margin:5px 0}.email-admin-head p{margin:0;color:#a9b7ae}.email-admin-head a{padding:11px 16px;border:1px solid #35423b;border-radius:8px}.email-admin-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:20px}.email-admin-kpis article,.email-admin-card{border:1px solid #29352f;border-radius:12px;background:#131a16}.email-admin-kpis article{display:grid;padding:20px}.email-admin-kpis strong{font-size:30px;color:#2bff00}.email-admin-kpis small{color:#93a097}.email-admin-card{padding:22px;margin-bottom:20px}.email-admin-card>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.email-admin-card>header b{padding:7px 10px;border-radius:999px;background:#223227;color:#73ff58}.email-template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.email-template-grid article{display:grid;gap:9px;padding:16px;border:1px solid #2b3931;border-radius:9px;background:#0e1511}.email-template-grid small{color:#71ee5a}.email-template-grid p{margin:0;color:#a9b7ae;font-size:14px}.email-template-grid span{color:#826193;font-size:11px}.email-admin-columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.email-contact-list{display:grid;gap:8px;max-height:420px;overflow:auto}.email-contact-list div{display:flex;justify-content:space-between;gap:15px;padding:11px;border-bottom:1px solid #28332d}.email-contact-list a{color:#a9b7ae}.email-history-table{overflow:auto}.email-history-table table{width:100%;border-collapse:collapse}.email-history-table th,.email-history-table td{padding:12px;text-align:left;border-bottom:1px solid #29352f}.email-history-table th{color:#9ca9a1;font-size:12px}.email-history-table .is-enviado{color:#2bff00}.email-history-table .is-falhou{color:#ff6378}@media(max-width:900px){.email-admin-page{padding:20px}.email-admin-head{align-items:flex-start;flex-direction:column}.email-admin-kpis{grid-template-columns:1fr 1fr}.email-template-grid,.email-admin-columns{grid-template-columns:1fr}}@media(max-width:520px){.email-admin-kpis{grid-template-columns:1fr}}

@media (max-width: 720px) {
  .home-trial-cta {
    grid-template-columns: 1fr;
    gap: 22px;
    margin-bottom: 36px;
    padding: 26px 22px 28px;
  }

  .home-trial-action {
    width: 100%;
    white-space: normal;
  }

  .home-trial-title-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 14px;
  }

  .home-trial-avatars {
    width: 176px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-trial-background-video {
    display: none;
  }
}

html.theme-switching,
html.theme-switching *,
html.theme-switching *::before,
html.theme-switching *::after {
  transition: none !important;
  transition-delay: 0s !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
}

/* Professional desktop workspace for /admin-dev */
.dev-command-page {
  width: min(100% - 48px, 1520px);
  margin: 32px auto 92px;
}

.dev-command-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 16px;
}

.dev-command-header h1 {
  margin: 6px 0 4px;
  font-size: clamp(2rem, 3vw, 3.3rem);
  line-height: 1;
}

.dev-command-header p,
.dev-opportunity-card p,
.dev-empty-panel p,
.dev-active-hero p,
.dev-panel-card p,
.dev-detail-strip span {
  color: var(--muted);
}

.dev-command-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

.dev-command-actions .btn {
  min-width: 180px;
}

.dev-command-actions .dev-public-showcase-cta {
  border: 1px solid #7b369f;
  background: #7b369f;
  color: #ffffff;
  font-weight: 900;
  box-shadow: 0 0 0 0 rgba(123, 54, 159, 0.38), 0 12px 26px rgba(72, 25, 96, 0.2);
  animation: devPublicShowcasePulse 1.8s ease-in-out infinite;
}

.dev-command-actions .dev-public-showcase-cta:hover,
.dev-command-actions .dev-public-showcase-cta:focus-visible {
  border-color: #9657b8;
  background: #9657b8;
  color: #ffffff;
  box-shadow: 0 0 0 5px rgba(144, 92, 174, 0.2), 0 14px 30px rgba(72, 25, 96, 0.28);
}

@keyframes devPublicShowcasePulse {
  0%,
  100% {
    box-shadow: 0 0 0 0 rgba(123, 54, 159, 0.4), 0 12px 26px rgba(72, 25, 96, 0.2);
  }

  50% {
    box-shadow: 0 0 0 8px rgba(123, 54, 159, 0), 0 16px 34px rgba(72, 25, 96, 0.3);
  }
}

.dev-command-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.dev-command-stats article,
.dev-command-queue,
.dev-command-workspace,
.dev-mini-card,
.dev-opportunity-card,
.dev-active-hero,
.dev-detail-strip article,
.dev-panel-card,
.dev-empty-panel {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 16px 42px rgba(22, 25, 29, 0.06);
}

.dev-command-stats article {
  display: grid;
  gap: 4px;
  padding: 16px;
}

.dev-command-stats small,
.dev-detail-strip small,
.dev-panel-head .eyebrow {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dev-command-stats strong {
  font-size: 1.75rem;
}

.dev-command-stats span {
  color: var(--muted);
}

.rank-stat-card {
  border-color: rgba(144, 92, 174, 0.28) !important;
  background: linear-gradient(135deg, rgba(144, 92, 174, 0.08), rgba(43, 255, 0, 0.06)), var(--surface) !important;
}

.dev-command-grid {
  display: grid;
  grid-template-columns: 360px minmax(0, 1fr);
  gap: 16px;
  align-items: start;
}

.dev-command-queue {
  position: sticky;
  top: 104px;
  display: grid;
  gap: 18px;
  max-height: calc(100vh - 124px);
  overflow: auto;
  padding: 16px;
  background: #fbfdf8;
}

.dev-queue-section,
.dev-command-workspace,
.dev-main-column,
.dev-context-column {
  display: grid;
  gap: 12px;
}

.dev-section-title {
  align-items: start;
  flex-direction: column;
  gap: 2px;
}

.dev-section-title h2 {
  margin: 0;
  font-size: 1.12rem;
}

.dev-mini-card {
  display: grid;
  gap: 5px;
  padding: 12px;
  box-shadow: none;
}

.dev-mini-card.active {
  border-color: rgba(43, 255, 0, 0.65);
  box-shadow: inset 4px 0 0 var(--brand);
}

.dev-accepted-jobs .dev-section-title h2 {
  color: var(--accent);
}

.dev-accepted-jobs .dev-mini-card {
  border-color: rgba(184, 112, 225, 0.52);
  background:
    radial-gradient(circle at 92% 12%, rgba(216, 154, 255, 0.22), transparent 34%),
    linear-gradient(135deg, #24102f 0%, #4a1f60 54%, #6c318c 100%);
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(78, 30, 102, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.dev-accepted-jobs .dev-mini-card span {
  color: rgba(255, 255, 255, 0.72);
}

.dev-accepted-jobs .dev-mini-card.active {
  border-color: rgba(43, 255, 0, 0.78);
  background:
    radial-gradient(circle at 92% 12%, rgba(43, 255, 0, 0.16), transparent 34%),
    linear-gradient(135deg, #24102f 0%, #4a1f60 54%, #6c318c 100%);
  box-shadow: inset 5px 0 0 var(--brand), 0 14px 30px rgba(78, 30, 102, 0.28), 0 0 0 2px rgba(43, 255, 0, 0.1);
}

.dev-mini-card.muted {
  color: var(--muted);
}

.dev-mini-card span {
  color: var(--muted);
  font-size: 0.88rem;
}

.dev-accepted-list,
.dev-public-list {
  display: grid;
  gap: 12px;
}

.dev-public-list {
  --dev-job-stack-top: 92px;
}

.dev-public-list .dev-opportunity-card:not([hidden]) {
  position: sticky;
  z-index: var(--dev-job-stack-layer, 10);
  top: calc(var(--dev-job-stack-top) + var(--dev-job-stack-offset, 0px));
  box-shadow: 0 18px 38px rgba(8, 15, 12, .18);
}

@media (min-width: 1181px) {
  .dev-public-list {
    --dev-job-stack-top: 14px;
  }
}

.dev-accepted-list [hidden],
.dev-public-list [hidden] {
  display: none !important;
}

.dev-accepted-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding-top: 2px;
}

.dev-accepted-pager button {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink);
  font-weight: 900;
  cursor: pointer;
}

.dev-accepted-pager button:disabled {
  opacity: 0.42;
  cursor: not-allowed;
}

.dev-accepted-pager span {
  color: var(--muted);
  font-weight: 950;
}

.dev-accepted-pager [data-dev-pager-current] {
  color: var(--brand);
}

.dev-opportunity-card {
  display: grid;
  gap: 11px;
  padding: 14px;
  overflow: hidden;
  border-color: color-mix(in srgb, var(--accent) 22%, var(--line));
  border-radius: 10px;
  background: linear-gradient(145deg, color-mix(in srgb, var(--surface) 97%, var(--accent) 3%), var(--surface));
  box-shadow: 0 12px 28px rgba(38, 20, 51, 0.07);
}

.dev-opportunity-card.mine {
  border-color: rgba(43, 255, 0, 0.5);
}

.dev-opportunity-status {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.dev-opportunity-status > span {
  color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
}

.dispatch-meter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid color-mix(in srgb, var(--brand) 22%, var(--line));
  border-radius: 8px;
  background: linear-gradient(100deg, color-mix(in srgb, var(--brand) 9%, var(--surface)), color-mix(in srgb, var(--accent) 7%, var(--surface)));
}

.dispatch-meter small {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 900;
}

.dispatch-rotation {
  display: grid;
  gap: 7px;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}

.dispatch-rotation > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.dispatch-rotation > div:first-child span,
.dispatch-rotation > div:first-child strong {
  font-size: 0.76rem;
  font-weight: 950;
}

.dispatch-rotation > div:first-child span {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.dispatch-rotation > div:first-child strong {
  color: var(--accent);
  font-variant-numeric: tabular-nums;
}

.dispatch-rotation-track {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: color-mix(in srgb, var(--muted) 16%, transparent);
}

.dispatch-rotation-track i {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--accent), var(--brand));
  transition: width 1s linear;
}

.dispatch-rotation small {
  color: var(--muted);
  font-size: 0.7rem;
  line-height: 1.35;
}

.dispatch-rotation.is-expired {
  opacity: 0.58;
}

.dev-opportunity-status > span,
.dev-opportunity-card em {
  display: inline-flex;
  width: max-content;
  min-height: 26px;
  align-items: center;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.12);
  color: var(--accent);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 950;
}

.dev-opportunity-financial {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 25%, var(--line));
  border-radius: 8px;
  background: linear-gradient(100deg, color-mix(in srgb, var(--accent) 8%, var(--surface)), color-mix(in srgb, var(--brand) 5%, var(--surface)));
  color: var(--ink);
}

.dev-opportunity-financial svg {
  width: 36px;
  height: 36px;
  padding: 5px;
  border-radius: 7px;
  background: color-mix(in srgb, var(--accent) 11%, var(--surface));
  fill: none;
  stroke: var(--accent);
  stroke-width: 1.7;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dev-opportunity-financial span {
  min-width: 0;
  color: var(--ink);
  font-size: 0.88rem;
  line-height: 1.35;
}

.dev-opportunity-financial strong {
  font-weight: 950;
}

.dev-opportunity-financial i {
  color: var(--muted);
  font-style: normal;
}

.dev-opportunity-card .dispatch-pill {
  background: rgba(43, 255, 0, 0.13);
  color: #2bff00;
  box-shadow: none !important;
  filter: none !important;
  text-shadow: none !important;
  transform: none !important;
}

.dev-opportunity-card .dispatch-pill.dev {
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--accent);
}

.dev-opportunity-card .dispatch-pill.premium {
  background: color-mix(in srgb, var(--brand) 10%, var(--surface));
  color: #1f763d;
}

.job-selective-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.job-selective-badges span {
  min-height: auto;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.1);
  color: var(--accent);
  font-size: 11px;
  font-weight: 950;
  line-height: 1.15;
}

.dev-opportunity-card h3 {
  margin: 2px 0 0;
  font-size: 1.04rem;
  line-height: 1.25;
}

.dev-opportunity-card p {
  display: -webkit-box;
  margin: 0;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.dev-opportunity-card .dev-opportunity-budget {
  display: block;
  padding: 10px;
  border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
  border-radius: 8px;
  background: linear-gradient(90deg, color-mix(in srgb, var(--accent) 10%, var(--surface)), color-mix(in srgb, var(--accent) 5%, var(--surface)));
  color: var(--accent);
  font-size: 0.85rem;
  line-height: 1.4;
  text-align: center;
}

.dev-opportunity-card button,
.dev-opportunity-card .btn {
  width: 100%;
  min-height: 44px;
}

.dev-opportunity-actions {
  display: grid;
  gap: 8px;
}

.dev-opportunity-actions form {
  display: grid;
}

.dev-plan-expired-notice {
  display: grid;
  grid-template-columns: 46px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  margin-bottom: 16px;
  padding: 15px;
  border: 1px solid #ffb020;
  border-radius: 12px;
  background: linear-gradient(120deg, rgba(255, 176, 32, 0.14), rgba(144, 92, 174, 0.1));
}

.dev-plan-expired-notice > span {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: #ffb020;
  color: #1b1200;
  font-size: 1.25rem;
  font-weight: 950;
}

.dev-plan-expired-notice strong,
.dev-plan-expired-notice p {
  display: block;
  margin: 0;
}

.dev-plan-expired-notice p {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.84rem;
  font-weight: 700;
}

.dev-plan-expired-notice a,
.dev-renew-to-accept {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 16px;
  border-radius: 8px;
  background: var(--brand);
  color: #071008;
  font-weight: 950;
}

.dev-plan-expired-notice a {
  animation: profile-renewal-pulse 1.8s ease-in-out infinite;
}

.dev-opportunity-actions button:disabled {
  border: 1px solid #465049;
  background: #262d29;
  color: #9ba69f;
  cursor: not-allowed;
  box-shadow: none;
}

.dev-renew-to-accept {
  width: 100%;
}

@media (max-width: 640px) {
  .dev-plan-expired-notice {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .dev-plan-expired-notice > span {
    width: 42px;
    height: 42px;
  }

  .dev-plan-expired-notice a {
    grid-column: 1 / -1;
    width: 100%;
  }
}

.dev-counter-open {
  width: 100%;
  min-height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  border: 1px solid rgba(144, 92, 174, 0.3);
  border-radius: 8px;
  background: #f4e9f8;
  color: var(--accent);
  font-weight: 950;
  box-shadow: none;
}

.dev-counter-open svg {
  width: 22px;
  height: 22px;
  flex: 0 0 auto;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dev-counter-open:hover {
  background: rgba(144, 92, 174, 0.16);
  color: var(--accent);
}

.dev-opportunity-actions [data-cycle-limit-open] {
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 3px;
  min-height: 56px;
  padding: 8px 12px;
  border: 1px solid rgba(43, 255, 0, 0.24);
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.78), rgba(20, 170, 0, 0.92)),
    #1d8f07;
  color: #10210c;
  box-shadow: none;
}

.dev-opportunity-actions [data-cycle-limit-open]::after {
  content: "Cota cheia";
  display: block;
  margin-top: 0;
  color: rgba(16, 33, 12, 0.72);
  font-size: 10px;
  font-weight: 950;
  line-height: 1.15;
  text-transform: uppercase;
}

.dev-opportunity-actions .dev-counter-open[data-cycle-limit-open] {
  grid-template-columns: auto auto;
  grid-template-rows: auto auto;
  align-content: center;
  align-items: center;
  justify-content: center;
  justify-items: start;
  column-gap: 9px;
  row-gap: 3px;
}

.dev-opportunity-actions .dev-counter-open[data-cycle-limit-open] svg {
  grid-column: 1;
  grid-row: 1;
}

.dev-opportunity-actions .dev-counter-open[data-cycle-limit-open] > span {
  grid-column: 2;
  grid-row: 1;
}

.dev-opportunity-actions .dev-counter-open[data-cycle-limit-open]::after {
  grid-column: 1 / -1;
  grid-row: 2;
  justify-self: center;
}

.dev-proposal-waiting {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 8px;
  background: rgba(144, 92, 174, 0.08);
}

.dev-proposal-waiting strong {
  color: var(--accent);
}

.dev-proposal-waiting span {
  min-height: auto;
  padding: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  font-size: 0.86rem;
  font-weight: 900;
}

.dev-command-workspace {
  min-width: 0;
  padding: 18px;
  background: rgba(255, 255, 255, 0.72);
}

.dev-empty-panel {
  display: grid;
  gap: 12px;
  padding: 34px;
}

.dev-empty-panel h2 {
  margin: 0;
  font-size: 2rem;
}

.dev-active-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 24px;
  align-items: center;
  padding: 22px;
}

.dev-active-hero > div {
  min-width: 0;
}

.dev-active-hero span {
  color: var(--muted);
  font-weight: 800;
}

.dev-active-hero h2 {
  margin: 8px 0;
  font-size: clamp(1.45rem, 2.4vw, 2.25rem);
  line-height: 1.08;
}

.dev-active-hero > strong {
  color: var(--brand);
  font-size: clamp(2.2rem, 4vw, 4rem);
  white-space: nowrap;
}

.completed-job-pill {
  display: inline-flex;
  width: max-content;
  min-height: 28px;
  align-items: center;
  margin-top: 8px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.12);
  color: var(--brand);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dev-command-progress {
  margin: 12px 0 18px;
}

.dev-detail-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.dev-detail-strip article {
  display: grid;
  gap: 4px;
  min-height: 96px;
  padding: 14px;
}

.dev-detail-strip strong {
  font-size: 1rem;
  overflow-wrap: anywhere;
}

.dev-detail-strip article.payment-rejected-card {
  border-color: rgba(217, 45, 32, 0.42);
  background:
    linear-gradient(135deg, rgba(217, 45, 32, 0.14), rgba(144, 92, 174, 0.04)),
    #fff6f5;
  color: #7a1510;
  box-shadow: 0 14px 34px rgba(217, 45, 32, 0.10);
}

.dev-detail-strip article.payment-rejected-card small,
.dev-detail-strip article.payment-rejected-card span {
  color: #a23128;
}

.dev-detail-strip article.payment-rejected-card strong {
  color: #b42318;
}

.dev-detail-strip article.payment-waiting-card {
  border-color: rgba(183, 112, 238, 0.72);
  background: linear-gradient(135deg, #35104f 0%, #592071 52%, #9146aa 100%);
  color: #fff;
  box-shadow: 0 14px 34px rgba(79, 24, 105, 0.2);
}

.dev-detail-strip article.payment-waiting-card small,
.dev-detail-strip article.payment-waiting-card span {
  color: rgba(255, 255, 255, 0.76);
}

.dev-detail-strip article.payment-waiting-card strong {
  color: #fff;
}

.payment-rejected-lock {
  border-color: rgba(217, 45, 32, 0.48) !important;
  background:
    linear-gradient(135deg, rgba(217, 45, 32, 0.14), rgba(255, 242, 240, 0.72)) !important;
  color: #7a1510;
}

.payment-rejected-lock span,
.payment-rejected-lock .eyebrow {
  color: #b42318;
}

.payment-rejected-lock h3,
.payment-rejected-lock h4 {
  color: #7a1510;
}

.payment-waiting-lock {
  position: relative;
  min-height: 210px;
  align-content: center;
  padding: 44px 28px 26px 34px;
  overflow: visible;
  border-color: rgba(190, 120, 240, 0.8) !important;
  background: linear-gradient(135deg, #34104e 0%, #58206f 52%, #9348ad 100%) !important;
  color: #fff;
  box-shadow: 0 16px 38px rgba(73, 22, 98, 0.22);
}

.payment-waiting-clock {
  position: absolute;
  top: -34px;
  right: -28px;
  z-index: 2;
  width: 132px;
  height: 132px;
  object-fit: contain;
  pointer-events: none;
  transform: none;
  filter: drop-shadow(0 18px 22px rgba(30, 5, 62, 0.36));
}

.payment-waiting-lock span,
.payment-waiting-lock .eyebrow {
  color: #e9c7ff;
}

.payment-waiting-lock h3,
.payment-waiting-lock h4 {
  color: #fff;
}

.payment-waiting-lock p {
  color: rgba(255, 255, 255, 0.82);
}

.completed-lock-card.payment-waiting-lock > span,
.completed-lock-card.payment-waiting-lock .eyebrow {
  color: #e9c7ff;
}

.completed-lock-card.payment-waiting-lock {
  padding: 44px 28px 26px 34px;
}

.completed-lock-card.payment-waiting-lock h3,
.completed-lock-card.payment-waiting-lock h4 {
  color: #fff;
}

.completed-lock-card.payment-waiting-lock p {
  color: rgba(255, 255, 255, 0.86);
}

@media (max-width: 760px) {
  .completed-lock-card.payment-waiting-lock {
    min-height: 220px;
    padding: 48px 22px 24px 34px;
  }

  .payment-waiting-clock {
    top: -32px;
    right: -18px;
    bottom: auto;
    width: 120px;
    height: 120px;
    transform: none;
  }

  .completed-lock-card.payment-waiting-lock > span {
    font-size: 0.82rem;
  }

  .completed-lock-card.payment-waiting-lock h4 {
    font-size: 1.08rem;
    line-height: 1.35;
  }

  .completed-lock-card.payment-waiting-lock p {
    max-width: none;
    font-size: 0.94rem;
    line-height: 1.55;
  }
}

.dev-workspace-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  align-items: start;
}

/* Foguete lateral do workspace: reaproveita o visual da vitrine. */
.workspace-rocket-rail {
  position: fixed;
  z-index: 18;
  top: 72px;
  bottom: 0;
  right: 34px;
  width: 150px;
  height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
  transform: none;
  pointer-events: none;
  overflow: hidden;
}

.workspace-rocket-label {
  display: none;
}

.workspace-rocket-track {
  position: absolute;
  inset: 0;
  background: transparent;
}

.workspace-rocket-flight {
  position: absolute;
  right: 18px;
  bottom: -130px;
  width: 112px;
  height: 150px;
  animation: workspace-rocket-takeoff 4.8s cubic-bezier(0.45, 0, 0.25, 1) infinite;
}

.hire-session-rocket:not(.is-ready) {
  display: none;
}

.hire-session-rocket .workspace-rocket-flight {
  animation-iteration-count: 1;
  animation-fill-mode: forwards;
}

.workspace-rocket-flight img {
  position: relative;
  z-index: 2;
  display: block;
  width: 112px;
  height: 112px;
  object-fit: contain;
  filter: drop-shadow(0 7px 9px rgba(98, 36, 132, 0.3));
  transform: rotate(-90deg);
}

.workspace-rocket-flight i {
  position: absolute;
  z-index: 1;
  top: 94px;
  left: 49px;
  width: 15px;
  height: 54px;
  border-radius: 50%;
  background: linear-gradient(180deg, #ffd84a, rgba(43, 255, 0, 0.7), transparent);
  filter: blur(2px);
  animation: workspace-rocket-flame 0.22s ease-in-out infinite alternate;
}

body.theme-dark .workspace-rocket-rail {
  border: 0;
  background: transparent;
  box-shadow: none;
}

body.theme-dark .workspace-rocket-label {
  color: rgba(255, 255, 255, 0.72);
}

@keyframes workspace-rocket-takeoff {
  0% { transform: translateY(0) scale(0.86); opacity: 0; }
  10% { opacity: 1; }
  72% { opacity: 1; }
  92%, 100% { transform: translateY(calc(-100vh + 72px)) scale(1.04); opacity: 0; }
}

@keyframes workspace-rocket-flame {
  from { height: 24px; opacity: 0.72; transform: scaleX(0.78); }
  to { height: 36px; opacity: 1; transform: scaleX(1.12); }
}

@media (max-width: 1280px) {
  .workspace-rocket-rail {
    right: 10px;
    width: 130px;
  }
}

@media (max-width: 1080px) {
  .workspace-rocket-rail {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .workspace-rocket-flight,
  .workspace-rocket-flight i {
    animation: none;
  }

  .workspace-rocket-flight {
    bottom: 78px;
    opacity: 1;
  }
}

.dev-main-support-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.dev-main-support-grid > article:only-child {
  grid-column: 1 / -1;
}

@media (max-width: 760px) {
  .dev-main-support-grid {
    grid-template-columns: 1fr;
  }
}

.dev-panel-card {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.dev-panel-head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
}

.dev-panel-card h3 {
  margin: 0;
  font-size: 1.22rem;
}

.dev-panel-card p {
  margin: 0;
  line-height: 1.55;
}

.dev-briefing-area {
  display: grid;
  gap: 12px;
}

.briefing-head {
  padding: 0 2px;
}

.briefing-head h3 {
  margin: 0;
  font-size: 1.28rem;
}

.briefing-lead-grid {
  display: grid;
}

.briefing-lead-card {
  min-height: 132px;
  border-color: rgba(43, 255, 0, 0.22);
  background: linear-gradient(135deg, #ffffff, #f5fff8);
}

.briefing-lead-card p {
  max-width: 62rem;
  color: var(--ink);
  font-size: 1rem;
}

.briefing-card-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.briefing-copy-button,
.assistant-copy-request {
  display: inline-flex;
  width: auto;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 9px 13px;
  border: 1px solid rgba(144, 92, 174, 0.34);
  border-radius: 8px;
  background: #905CAE;
  color: #ffffff;
  white-space: nowrap;
}

.briefing-copy-button svg,
.assistant-copy-request svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.9;
}

.briefing-copy-button b,
.assistant-copy-request b {
  font-size: 0.78rem;
}

.briefing-copy-button {
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
}

.briefing-copy-button.is-copied {
  border-color: #2bff00;
  background: #2bff00;
  color: #102016;
}

.client-answer-list {
  display: grid;
  gap: 0;
}

.client-answer-pair {
  display: grid;
  grid-template-columns: minmax(180px, 0.9fr) minmax(220px, 1.1fr);
  gap: 5px 22px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.client-answer-pair:first-child {
  padding-top: 4px;
  border-top: 0;
}

.client-answer-pair small {
  grid-column: 1 / -1;
  color: var(--brand);
  font-size: 0.68rem;
  font-weight: 950;
  text-transform: uppercase;
}

.client-answer-pair strong {
  color: var(--ink);
  font-size: 0.88rem;
  line-height: 1.45;
}

.client-answer-pair p {
  color: var(--muted);
  font-size: 0.9rem;
}

.assistant-ai-workflow {
  display: grid;
  gap: 16px;
  margin: 4px 0 2px;
  padding: 18px 0;
  border-top: 1px solid rgba(144, 92, 174, 0.26);
  border-bottom: 1px solid rgba(144, 92, 174, 0.26);
}

.assistant-plan-toggle {
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.assistant-plan-toggle::-webkit-details-marker {
  display: none;
}

.assistant-plan-toggle-icon {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(144, 92, 174, 0.3);
  border-radius: 50%;
  color: var(--accent);
  transition: transform 180ms ease, background 180ms ease;
}

.assistant-plan-toggle-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.assistant-plan-summary[open] .assistant-plan-toggle-icon {
  transform: rotate(180deg);
  background: rgba(144, 92, 174, 0.1);
}

.assistant-plan-collapsible {
  display: grid;
  gap: 14px;
  padding-top: 16px;
}

.assistant-plan-collapsible > p {
  margin: 0;
}

.assistant-ai-workflow-head {
  display: grid;
  gap: 5px;
}

.assistant-ai-workflow-head > span {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.assistant-ai-workflow-head h4,
.assistant-ai-workflow-head p {
  margin: 0;
}

.assistant-ai-workflow-head h4 {
  color: var(--ink);
  font-size: 1.16rem;
}

.assistant-ai-workflow-head p {
  max-width: 780px;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.assistant-ai-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.assistant-ai-steps > div {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 10px;
  padding: 4px 16px;
  border-left: 1px solid var(--line);
}

.assistant-ai-steps > div:first-child {
  padding-left: 0;
  border-left: 0;
}

.assistant-ai-steps b {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 50%;
  background: #905CAE;
  color: #ffffff;
}

.assistant-ai-steps p,
.assistant-ai-steps strong,
.assistant-ai-steps span {
  display: block;
  margin: 0;
}

.assistant-ai-steps strong {
  color: var(--ink);
  font-size: 0.86rem;
}

.assistant-ai-steps span {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.78rem;
  line-height: 1.4;
}

.assistant-copy-request {
  justify-self: start;
}

@media (max-width: 720px) {
  .briefing-card-title-row {
    align-items: stretch;
    flex-direction: column;
  }

  .briefing-copy-button,
  .assistant-copy-request {
    width: 100%;
  }

  .briefing-copy-button {
    width: 42px;
    align-self: flex-end;
  }

  .client-answer-pair {
    grid-template-columns: 1fr;
  }

  .assistant-ai-steps {
    grid-template-columns: 1fr;
  }

  .assistant-ai-steps > div,
  .assistant-ai-steps > div:first-child {
    padding: 12px 0;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .assistant-ai-steps > div:first-child {
    padding-top: 0;
    border-top: 0;
  }
}

.dev-action-focus {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(43, 255, 0, 0.26);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(43, 255, 0, 0.08));
  box-shadow: 0 18px 42px rgba(22, 25, 29, 0.07);
}

.dev-action-focus-head h3 {
  margin: 3px 0 0;
  color: var(--brand);
  font-size: 1.35rem;
}

.dev-execution-collapse-toggle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.dev-execution-collapse-toggle::-webkit-details-marker {
  display: none;
}

.dev-execution-collapse-icon {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(144, 92, 174, 0.38);
  border-radius: 50%;
  color: var(--accent);
  transition: transform 180ms ease, background 180ms ease;
}

.dev-execution-collapse-icon svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dev-execution-collapse[open] .dev-execution-collapse-icon {
  transform: rotate(180deg);
  background: rgba(144, 92, 174, 0.12);
}

.dev-execution-collapse-body {
  display: grid;
  gap: 14px;
}

.dev-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.dev-action-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 138px;
  padding: 15px;
  border: 1px solid rgba(43, 255, 0, 0.2);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.86);
}

.dev-action-card.main {
  grid-column: 1 / -1;
  min-height: auto;
  border-color: rgba(43, 255, 0, 0.36);
  background: #f6fff9;
}

.dev-action-card.phase-step {
  position: relative;
  grid-template-columns: 74px minmax(0, 1fr);
  grid-template-rows: auto 1fr;
  column-gap: 14px;
  min-height: 126px;
  padding: 20px 18px 18px 12px;
  border-width: 2px;
  border-radius: 42px 10px 10px 42px;
  background: linear-gradient(110deg, rgba(255, 255, 255, 0.98), rgba(247, 246, 250, 0.92));
  box-shadow: 0 12px 25px rgba(25, 22, 31, 0.1);
  overflow: visible;
}

.dev-action-card.phase-step::after {
  content: "";
  position: absolute;
  z-index: 0;
  top: 50%;
  right: -30px;
  width: 30px;
  border-top: 3px dotted rgba(144, 92, 174, 0.42);
}

.dev-action-card.phase-end::after {
  display: none;
}

.phase-step-number {
  position: relative;
  z-index: 1;
  grid-row: 1 / 3;
  display: grid;
  width: 70px;
  height: 70px;
  align-self: center;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  color: #42cfe7;
  font-size: 2.75rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: 0 9px 22px rgba(46, 39, 56, 0.16);
}

.dev-action-card.phase-step > span,
.dev-action-card.phase-step > p {
  position: relative;
  z-index: 1;
}

.dev-action-card.phase-step > span {
  align-self: end;
  color: #28b9d1;
  font-size: 0.74rem;
  letter-spacing: 0.08em;
}

.dev-action-card.phase-step > p {
  font-size: 0.9rem;
  line-height: 1.42;
}

.dev-action-card.phase-start {
  border-color: #42cfe7;
}

.dev-action-card.phase-middle,
.dev-action-card.phase-end {
  border-color: #9138cf;
}

.dev-action-card.phase-middle .phase-step-number,
.dev-action-card.phase-end .phase-step-number,
.dev-action-card.phase-middle > span,
.dev-action-card.phase-end > span {
  color: #9138cf;
}

body.theme-dark:not(.route-admin-mestre) .dev-action-card.phase-step {
  background: linear-gradient(110deg, #121916, #17131c);
}

body.theme-dark:not(.route-admin-mestre) .phase-step-number {
  background: #19211d;
}

.dev-action-card span,
.briefing-info-card span {
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dev-action-card.main span {
  color: var(--brand);
}

.dev-action-title {
  display: flex;
  align-items: center;
  gap: 9px;
}

.dev-action-title-icon {
  display: grid;
  flex: 0 0 30px;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  background: rgba(43, 255, 0, 0.12);
}

.dev-action-title-icon svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dev-action-card.main li.has-svg-icon {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  padding-left: 0;
}

.dev-action-card.main li.has-svg-icon::before {
  display: none;
}

.dev-action-item-icon {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-top: 0.2em;
  stroke: var(--brand);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dev-action-card p,
.dev-action-card li {
  margin: 0;
  color: var(--ink);
  line-height: 1.55;
}

.dev-action-card ul,
.briefing-info-card ul {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.dev-action-card li,
.briefing-info-card li {
  position: relative;
  padding-left: 18px;
}

.dev-action-card li::before,
.briefing-info-card li::before {
  content: "";
  position: absolute;
  top: 0.7em;
  left: 0;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--brand);
}

.briefing-context-head {
  margin-top: 2px;
}

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

.briefing-meta-card {
  position: relative;
  display: grid;
  gap: 7px;
  min-height: 82px;
  align-content: center;
  padding: 15px 17px 15px 20px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 10px;
  background: linear-gradient(120deg, rgba(43, 255, 0, 0.07), rgba(144, 92, 174, 0.08));
  overflow: hidden;
}

.briefing-meta-card::before {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, var(--brand), var(--accent));
}

.briefing-meta-card span {
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.briefing-meta-card strong {
  color: var(--ink);
  font-size: 0.98rem;
  line-height: 1.35;
}

body.theme-dark:not(.route-admin-mestre) .briefing-meta-card {
  border-color: #2a3b31;
  background: linear-gradient(120deg, rgba(43, 255, 0, 0.07), rgba(144, 92, 174, 0.12));
}

body.theme-dark:not(.route-admin-mestre) .briefing-meta-card strong {
  color: #fff;
}

.briefing-card-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.briefing-info-card {
  display: grid;
  align-content: start;
  gap: 10px;
  min-height: 118px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 14px 34px rgba(22, 25, 29, 0.06);
}

.briefing-info-card.budget-value-card {
  align-content: center;
}

.briefing-info-card.budget-value-card p {
  color: var(--ink);
  font-size: clamp(2rem, 3.4vw, 3.25rem);
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.045em;
}

body.theme-dark:not(.route-admin-mestre) .briefing-info-card.budget-value-card p {
  color: #fff;
}

.briefing-info-card.wide,
.briefing-card-grid > .briefing-info-card:last-child:nth-child(odd) {
  grid-column: 1 / -1;
}

.briefing-info-card p,
.briefing-info-card li {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.production-overview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(43, 255, 0, 0.22);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(217, 164, 65, 0.12));
}

.production-overview article {
  display: grid;
  gap: 4px;
  min-height: 86px;
  padding: 14px;
  border: 1px solid rgba(43, 255, 0, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.8);
}

.production-overview span,
.production-overview small {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.production-overview strong {
  color: var(--brand);
  font-size: 1.45rem;
  font-weight: 950;
}

.completed-lock-card,
.completed-side-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(43, 255, 0, 0.36);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.12), rgba(43, 255, 0, 0.08));
}

.completed-lock-card span,
.completed-side-card .eyebrow {
  color: var(--brand);
}

.completed-lock-card h4,
.completed-side-card h3 {
  margin: 0;
  color: var(--brand);
}

.completed-lock-card p,
.completed-side-card p {
  margin: 0;
  color: var(--muted);
}

.inline-admin-form {
  margin: 0;
}

.inline-admin-form button {
  min-height: 34px;
  padding: 0 12px;
  border: 0;
  border-radius: 8px;
  background: #2bff00;
  color: #031006;
  font-size: 0.78rem;
  font-weight: 950;
  white-space: nowrap;
}

.muted-table-text {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 800;
}

.dev-cancel-card {
  border-color: rgba(214, 48, 49, 0.32);
  background: #fffafa;
}

.dev-cancel-card .eyebrow {
  color: #b42318;
}

.dev-cancel-card h3 {
  color: #7f1d1d;
}

.dev-cancel-open {
  min-height: 44px;
  border: 0;
  border-radius: 8px;
  background: #d92d20;
  color: #ffffff;
  font-weight: 950;
}

.dev-cancel-open:hover {
  background: #b42318;
}

.job-cancel-modal {
  position: fixed;
  inset: 0;
  z-index: 130;
  display: none;
  place-items: center;
  padding: 18px;
}

.job-cancel-modal.open {
  display: grid;
}

.job-cancel-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(10, 10, 10, 0.72);
  backdrop-filter: blur(4px);
}

.job-cancel-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 16px;
  width: min(560px, 100%);
  padding: 28px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 8px;
  background: #211516;
  color: #ffffff;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.46);
}

.job-cancel-dialog .eyebrow {
  color: #ffb4ab;
}

.job-cancel-dialog h2 {
  margin: 0;
  font-size: 1.7rem;
}

.job-cancel-dialog p {
  margin: 0;
  color: #ffe7e4;
  font-weight: 900;
  line-height: 1.45;
}

.job-cancel-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 38px;
  min-height: 38px;
  padding: 0;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  font-size: 1.3rem;
}

.job-cancel-summary {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid rgba(255, 180, 171, 0.24);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.06);
}

.job-cancel-summary span,
.job-cancel-summary small {
  color: #ffd2cc;
}

.job-cancel-summary strong {
  font-size: 2rem;
}

.job-cancel-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.job-cancel-actions form {
  display: grid;
}

.job-cancel-confirm,
.job-cancel-assign {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  font-weight: 950;
  text-align: center;
}

.job-cancel-confirm {
  border: 0;
  background: #d92d20;
  color: #ffffff;
}

.job-cancel-assign {
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: #ffffff;
  color: #211516;
}

.job-counter-modal {
  position: fixed;
  inset: 0;
  z-index: 1000;
  isolation: isolate;
  display: none;
  place-items: center;
  padding: 18px;
}

.job-counter-modal.open {
  display: grid;
}

.job-counter-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 18% 18%, rgba(144, 92, 174, 0.24), transparent 28%),
    radial-gradient(circle at 88% 74%, rgba(43, 255, 0, 0.2), transparent 30%),
    rgba(10, 10, 10, 0.68);
  backdrop-filter: blur(8px);
}

.job-counter-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  width: min(880px, 100%);
  max-height: none;
  overflow: visible;
  padding: 24px 28px;
  border: 1px solid rgba(144, 92, 174, 0.24);
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(144, 92, 174, 0.055), transparent 170px),
    #ffffff;
  color: var(--ink);
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.34);
}

.job-counter-dialog::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  border-radius: 18px 18px 0 0;
  background: linear-gradient(90deg, #2bff00, #905CAE);
}

.job-counter-dialog .eyebrow {
  justify-content: flex-start;
  color: var(--accent);
}

.job-counter-dialog h2 {
  margin: 0;
  max-width: 520px;
  font-size: clamp(1.8rem, 4vw, 2.25rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.job-counter-dialog p {
  max-width: 540px;
  margin: 0;
  color: var(--muted);
  font-weight: 800;
  line-height: 1.5;
}

.job-counter-dialog form {
  display: grid;
  grid-template-columns: minmax(220px, 0.75fr) minmax(360px, 1.25fr);
  gap: 12px 16px;
}

.job-counter-dialog form > .field-grid {
  grid-template-columns: 1fr;
}

.job-counter-dialog form > label:not(.deadline-range-field),
.job-counter-dialog form > .job-counter-security-note,
.job-counter-dialog form > .job-counter-actions {
  grid-column: 1 / -1;
}

.job-counter-dialog label {
  display: grid;
  gap: 8px;
  color: #17191f;
  font-weight: 950;
}

.job-counter-dialog input,
.job-counter-dialog textarea {
  width: 100%;
  min-height: 56px;
  border: 1px solid rgba(144, 92, 174, 0.16);
  border-radius: 10px;
  background: #ffffff;
  color: #17191f;
  font-weight: 800;
  box-shadow: 0 12px 26px rgba(34, 43, 48, 0.045);
}

.job-counter-dialog .counter-amount-control {
  display: grid;
  gap: 12px;
  width: 100%;
  min-height: 143px;
  padding: 14px;
  border-color: rgba(144, 92, 174, 0.34);
}

.job-counter-dialog .counter-amount-head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 7px;
  align-items: center;
}

.job-counter-dialog .counter-amount-head > span {
  color: var(--muted);
  font-weight: 950;
}

.job-counter-dialog .counter-amount-head input {
  min-height: 34px;
  padding: 2px 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 1rem;
}

.job-counter-dialog .counter-amount-head input:focus {
  border: 0;
  outline: 0;
  box-shadow: none;
}

.job-counter-dialog .counter-amount-control input[type="range"] {
  min-height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.job-counter-dialog .counter-amount-labels {
  grid-template-columns: 1fr 1fr;
}

.job-counter-dialog .counter-amount-labels span:last-child {
  text-align: right;
}

.job-counter-dialog .counter-amount-rule {
  display: block;
  margin-top: -3px;
  color: var(--muted);
  font-size: .72rem;
  font-weight: 750;
  line-height: 1.35;
  text-align: center;
}

.job-counter-dialog textarea {
  min-height: 88px;
  resize: vertical;
}

.job-counter-dialog .job-counter-security-note {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  margin: -2px 0 0;
  padding: 12px 14px;
  border: 1px solid rgba(255, 176, 32, 0.38);
  border-radius: 12px;
  background: rgba(255, 176, 32, 0.09);
  color: #ffd991;
  font-size: 13px;
  line-height: 1.45;
  width: 100%;
  max-width: none;
}

.job-counter-dialog .job-counter-security-note strong {
  color: #ffbf47;
}

.job-counter-security-seal {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border: 1px solid rgba(255, 191, 71, 0.58);
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(255, 191, 71, 0.24), rgba(144, 92, 174, 0.22));
  color: #ffbf47;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 7px 16px rgba(0, 0, 0, 0.16);
}

.job-counter-security-seal svg {
  width: 25px;
  height: 25px;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body:not(.theme-dark):not(.route-admin-mestre) .job-counter-dialog .job-counter-security-note {
  border: 2px solid #d97706;
  background: linear-gradient(135deg, #fff7df, #ffead0);
  color: #5c2d00;
  box-shadow: 0 10px 24px rgba(180, 83, 9, 0.14);
}

body:not(.theme-dark):not(.route-admin-mestre) .job-counter-dialog .job-counter-security-note strong {
  color: #b42318;
}

body:not(.theme-dark):not(.route-admin-mestre) .job-counter-security-seal {
  border-color: #d97706;
  background: linear-gradient(145deg, #fff1bf, #ffdba3);
  color: #b45309;
  box-shadow: 0 7px 16px rgba(180, 83, 9, 0.16);
}

.job-counter-dialog .counter-deadline-control {
  width: 100%;
  border-color: rgba(144, 92, 174, 0.34);
}

.job-counter-dialog .counter-deadline-control input[type="range"] {
  min-height: 20px;
  padding: 0;
}

.job-counter-dialog input:focus,
.job-counter-dialog textarea:focus {
  border-color: #905CAE;
  outline: 3px solid rgba(144, 92, 174, 0.12);
  box-shadow: 0 0 0 1px rgba(43, 255, 0, 0.18), 0 14px 30px rgba(34, 43, 48, 0.07);
}

.job-counter-close {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 38px;
  min-height: 38px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-size: 1.3rem;
}

.job-counter-close:hover {
  background: rgba(144, 92, 174, 0.08);
}

.job-counter-actions {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 12px;
  margin-top: 2px;
}

.job-counter-actions button {
  min-height: 56px;
  border-radius: 10px;
  font-weight: 950;
}

.job-counter-secondary {
  border: 1px solid var(--line);
  background: var(--surface);
  color: var(--ink);
  box-shadow: none;
}

@media (max-width: 640px) {
  .freela-mascot-switch {
    left: 14px;
    bottom: 18px;
    width: 68px;
    height: 68px;
  }

  body .platform-chat-launch {
    opacity: 0.4 !important;
    box-shadow: 0 10px 26px rgba(43, 255, 0, 0.12);
  }

  body.mascot-chat-open .platform-chat-launch,
  body .platform-chat-launch:focus-visible {
    opacity: 0.72 !important;
  }

  .freela-mascot {
    left: 14px;
    right: auto;
    bottom: 94px;
    width: 78px;
    height: 90px;
  }

  .freela-mascot-head {
    left: 13px;
    width: 52px;
    height: 40px;
    border-width: 2px;
    border-radius: 17px;
  }

  .freela-mascot-face {
    inset: 10px 9px 9px;
    gap: 8px;
  }

  .freela-mascot-face i {
    width: 7px;
    height: 6px;
  }

  .freela-mascot-ear {
    top: 23px;
    width: 11px;
    height: 18px;
    border-width: 2px;
  }

  .freela-mascot-ear.left {
    left: 7px;
  }

  .freela-mascot-ear.right {
    right: 7px;
  }

  .freela-mascot-body {
    top: 50px;
    left: 18px;
    width: 43px;
    height: 33px;
    border-width: 2px;
    border-radius: 12px;
  }

  .freela-mascot-mark {
    top: 7px;
    left: 8px;
    font-size: 0.64rem;
  }

  .freela-mascot-core {
    right: 8px;
    bottom: 9px;
    width: 7px;
    height: 7px;
  }

  .freela-mascot-arm {
    top: 56px;
    width: 12px;
    height: 23px;
    border-width: 2px;
  }

  .freela-mascot-arm.left {
    left: 8px;
  }

  .freela-mascot-arm.right {
    right: 8px;
  }

  .freela-mascot-leg {
    bottom: 6px;
    width: 13px;
    height: 13px;
    border-width: 2px;
    border-radius: 6px;
  }

  .freela-mascot-leg.left {
    left: 24px;
  }

  .freela-mascot-leg.right {
    right: 24px;
  }

  .freela-mascot-shadow {
    left: 17px;
    right: 16px;
    height: 10px;
  }

  .freela-mascot-flame {
    width: 15px;
    height: 23px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .freela-mascot-bot,
  .freela-mascot-shadow,
  .freela-mascot-face i,
  .freela-mascot-arm,
  .freela-mascot-flame,
  .freela-mascot-switch-icon::before,
  .freela-mascot-switch-icon::after {
    animation: none;
  }
}

/* First acceptance onboarding and the server-backed 48-hour negotiation window. */
.acceptance-window-panel {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  margin: 0 0 18px;
  padding: 16px;
  border: 1px solid rgba(144, 92, 174, 0.3);
  border-left: 4px solid #905CAE;
  border-radius: 8px;
  background:
    linear-gradient(90deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.08)),
    var(--surface);
  color: var(--ink);
}

.acceptance-window-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  border-radius: 8px;
  background: #26133a;
  color: #2bff00;
}

.acceptance-window-icon svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.acceptance-window-panel span,
.acceptance-window-clock small {
  color: #905CAE;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.acceptance-window-panel h3 {
  margin: 3px 0 4px;
  font-size: 1.05rem;
  line-height: 1.2;
}

.acceptance-window-panel p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.5;
}

.acceptance-window-clock {
  display: grid;
  gap: 2px;
  min-width: 150px;
  padding: 12px 14px;
  border: 1px solid rgba(43, 255, 0, 0.28);
  border-radius: 8px;
  background: rgba(43, 255, 0, 0.08);
  text-align: right;
}

.acceptance-window-clock strong {
  color: var(--ink);
  font-size: clamp(1.4rem, 2.5vw, 2rem);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  white-space: nowrap;
}

.acceptance-window-panel.is-expired {
  opacity: 0.58;
}

.freela-closing-journey {
  margin: 0 0 18px;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, .28);
  border-radius: 12px;
  background: var(--surface);
  color: var(--ink);
}

.freela-closing-journey > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 20px;
}

.freela-closing-journey > header span,
.freela-closing-journey > header small {
  color: #905cae;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.freela-closing-journey > header h3 {
  margin: 4px 0 0;
  font-size: 1.05rem;
  line-height: 1.25;
}

.freela-closing-journey ol {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.freela-closing-journey li {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 10px;
  min-width: 0;
  padding: 0 8px;
  text-align: center;
}

.freela-closing-journey li::before {
  content: "";
  position: absolute;
  top: 17px;
  right: 50%;
  width: 100%;
  height: 2px;
  background: rgba(144, 92, 174, .2);
  transform: translateX(-17px);
}

.freela-closing-journey li:first-child::before {
  content: none;
}

.freela-closing-journey li.is-complete::before,
.freela-closing-journey li.is-current::before {
  background: #2bff00;
}

.freela-closing-journey li > b {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(144, 92, 174, .35);
  border-radius: 50%;
  background: var(--surface);
  color: var(--muted);
  font-size: .82rem;
}

.freela-closing-journey li.is-complete > b {
  border-color: #2bff00;
  background: #2bff00;
  color: #101512;
}

.freela-closing-journey li.is-current > b {
  border-color: #b45cff;
  background: #905cae;
  color: #fff;
  box-shadow: 0 0 0 6px rgba(144, 92, 174, .14);
  animation: freelaJourneyPulse 1.8s ease-in-out infinite;
}

.freela-closing-journey li.is-skipped {
  opacity: .48;
}

.freela-closing-journey li strong,
.freela-closing-journey li span {
  display: block;
}

.freela-closing-journey li strong {
  font-size: .8rem;
  line-height: 1.3;
}

.freela-closing-journey li span {
  margin-top: 4px;
  color: var(--muted);
  font-size: .7rem;
  line-height: 1.35;
}

@keyframes freelaJourneyPulse {
  0%, 100% { box-shadow: 0 0 0 4px rgba(144, 92, 174, .1); }
  50% { box-shadow: 0 0 0 9px rgba(144, 92, 174, .2); }
}

.first-acceptance-modal {
  position: fixed;
  inset: 0;
  z-index: 1300;
  isolation: isolate;
  display: none;
  place-items: center;
  padding: 18px;
}

.first-acceptance-modal.open {
  display: grid;
}

.first-acceptance-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  min-height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(9, 12, 11, 0.76);
  backdrop-filter: blur(10px);
}

.first-acceptance-modal .first-acceptance-backdrop:hover,
.first-acceptance-modal .first-acceptance-backdrop:focus,
.first-acceptance-modal .first-acceptance-backdrop:focus-visible,
.first-acceptance-modal .first-acceptance-backdrop:active {
  background: rgba(9, 12, 11, 0.76);
  color: transparent;
  box-shadow: none;
  outline: 0;
  transform: none;
}

.first-acceptance-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  width: min(680px, 100%);
  max-height: calc(100dvh - 36px);
  overflow: auto;
  padding: clamp(22px, 4vw, 34px);
  border: 1px solid rgba(144, 92, 174, 0.5);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.12), transparent 44%),
    linear-gradient(315deg, rgba(144, 92, 174, 0.12), transparent 48%),
    #ffffff;
  color: #17191f;
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.38);
}

.first-acceptance-dialog::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #2bff00, #905CAE);
}

.first-acceptance-close {
  position: absolute;
  top: 15px;
  right: 16px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 34px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #17191f;
  font-size: 1.45rem;
  line-height: 1;
}

.first-acceptance-dialog > header {
  display: flex;
  gap: 12px;
  align-items: center;
  padding-right: 42px;
}

.first-acceptance-dialog > header div {
  display: grid;
  gap: 2px;
}

.first-acceptance-dialog > header small,
.first-acceptance-copy .eyebrow,
.first-acceptance-deadline span {
  color: #905CAE;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.first-acceptance-dialog > header strong {
  font-size: 1rem;
}

.first-acceptance-mark {
  display: grid;
  place-items: center;
  width: 54px;
  height: 54px;
  overflow: hidden;
  border: 1px solid rgba(43, 255, 0, 0.56);
  border-radius: 8px;
  background: #ffffff;
}

.first-acceptance-mark img {
  width: 43px;
  height: 43px;
  object-fit: contain;
}

.first-acceptance-copy h2 {
  max-width: 570px;
  margin: 7px 0 8px;
  color: #17191f;
  font-size: clamp(1.75rem, 4vw, 2.65rem);
  line-height: 1.02;
}

.first-acceptance-copy p {
  max-width: 580px;
  margin: 0;
  color: #566071;
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.55;
}

.first-acceptance-steps {
  display: grid;
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid rgba(144, 92, 174, 0.18);
}

.first-acceptance-steps li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 13px 0;
  border-bottom: 1px solid rgba(144, 92, 174, 0.18);
}

.first-acceptance-steps li > span {
  color: #905CAE;
  font-size: 0.82rem;
  font-weight: 950;
}

.first-acceptance-steps li div {
  display: grid;
  gap: 2px;
}

.first-acceptance-steps strong {
  font-size: 0.94rem;
}

.first-acceptance-steps small {
  color: #667080;
  font-size: 0.8rem;
  line-height: 1.4;
}

.first-acceptance-deadline {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 4px 16px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid rgba(43, 255, 0, 0.38);
  border-radius: 8px;
  background: rgba(43, 255, 0, 0.09);
}

.first-acceptance-deadline strong {
  grid-row: span 2;
  color: #17191f;
  font-size: clamp(1.6rem, 4vw, 2.3rem);
  font-variant-numeric: tabular-nums;
  line-height: 1;
  white-space: nowrap;
}

.first-acceptance-deadline small {
  color: #667080;
  font-size: 0.78rem;
}

.first-acceptance-confirm {
  width: 100%;
  min-height: 52px;
  border: 1px solid #1dd800;
  border-radius: 8px;
  background: #2bff00;
  color: #101510;
  font-weight: 950;
}

body.theme-dark:not(.route-admin-mestre) .acceptance-window-panel {
  background:
    linear-gradient(90deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.12)),
    #111a16;
}

body.theme-dark:not(.route-admin-mestre) .acceptance-window-panel span,
body.theme-dark:not(.route-admin-mestre) .acceptance-window-clock small {
  color: #b984d7;
}

body.theme-dark:not(.route-admin-mestre) .first-acceptance-dialog {
  border-color: rgba(144, 92, 174, 0.62);
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.1), transparent 44%),
    linear-gradient(315deg, rgba(144, 92, 174, 0.15), transparent 48%),
    #101814;
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .first-acceptance-close,
body.theme-dark:not(.route-admin-mestre) .first-acceptance-copy h2,
body.theme-dark:not(.route-admin-mestre) .first-acceptance-deadline strong {
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .first-acceptance-copy p,
body.theme-dark:not(.route-admin-mestre) .first-acceptance-steps small,
body.theme-dark:not(.route-admin-mestre) .first-acceptance-deadline small {
  color: #bdc9c2;
}

body.theme-dark:not(.route-admin-mestre) .first-acceptance-mark {
  background: #f8faf8;
}

@media (max-width: 680px) {
  .acceptance-window-panel {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 12px;
    padding: 14px;
  }

  .acceptance-window-icon {
    width: 42px;
    height: 42px;
  }

  .acceptance-window-clock {
    grid-column: 1 / -1;
    grid-template-columns: 1fr auto;
    align-items: center;
    min-width: 0;
    text-align: left;
  }

  .freela-closing-journey {
    padding: 16px 14px;
  }

  .freela-closing-journey > header {
    display: grid;
    gap: 6px;
  }

  .freela-closing-journey ol {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .freela-closing-journey li {
    grid-template-columns: 36px minmax(0, 1fr);
    justify-items: stretch;
    gap: 12px;
    min-height: 72px;
    padding: 0;
    text-align: left;
  }

  .freela-closing-journey li::before {
    top: -38px;
    left: 17px;
    right: auto;
    width: 2px;
    height: 55px;
    transform: none;
  }

  .freela-closing-journey li > b {
    width: 34px;
    height: 34px;
  }

  .freela-closing-journey li strong {
    font-size: .88rem;
  }

  .freela-closing-journey li span {
    font-size: .76rem;
  }

  .first-acceptance-modal {
    align-items: end;
    padding: 10px;
  }

  .first-acceptance-dialog {
    gap: 14px;
    width: 100%;
    max-height: calc(100dvh - 20px);
    padding: 20px 18px;
  }

  .first-acceptance-copy h2 {
    font-size: clamp(1.65rem, 8vw, 2.1rem);
  }

  .first-acceptance-steps li {
    padding: 11px 0;
  }

  .first-acceptance-deadline {
    grid-template-columns: 1fr;
  }

  .first-acceptance-deadline strong {
    grid-row: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .freela-closing-journey li.is-current > b {
    animation: none;
  }
}

/* Escala editorial: evita títulos desproporcionais em telas largas. */
body:not(.route-admin-mestre) main h1,
body:not(.route-admin-mestre) .dev-profile-copy h1 {
  font-size: clamp(2rem, 3vw, 2.65rem) !important;
  line-height: 1.08 !important;
}

body:not(.route-admin-mestre) .section-heading h2,
body:not(.route-admin-mestre) .dev-testimonials-content h2,
body:not(.route-admin-mestre) .split-section > div > h2,
body:not(.route-admin-mestre) .page-head h2 {
  font-size: clamp(1.75rem, 2.7vw, 2.4rem) !important;
  line-height: 1.1 !important;
}

@media (prefers-reduced-motion: reduce) {
  .first-acceptance-confirm {
    animation: none !important;
  }
}

/* Admin Mestre: fila de validacao Pix */
.pix-validation-module {
  width: min(1472px, calc(100% - 68px));
  margin-right: auto;
  margin-left: auto;
  margin-bottom: 34px;
  padding: 26px;
}

.pix-validation-head {
  align-items: center;
}

.pix-validation-summary {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.pix-validation-summary span {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 7px;
  padding: 7px 11px;
  border: 1px solid #353a3e;
  border-radius: 8px;
  background: #171a1d;
  color: #bfc6ce;
  font-size: 0.78rem;
  font-weight: 850;
}

.pix-validation-summary b {
  color: #fff;
  font-size: 1rem;
}

.pix-validation-summary .is-pending {
  border-color: rgba(245, 185, 66, 0.34);
}

.pix-validation-summary .is-confirmed {
  border-color: rgba(0, 200, 83, 0.38);
}

.pix-validation-summary .is-rejected {
  border-color: rgba(255, 77, 79, 0.34);
}

.pix-validation-list {
  display: grid;
  max-height: 760px;
  gap: 18px;
  overflow-x: hidden;
  overflow-y: auto;
  padding: 2px 8px 2px 2px;
}

.pix-validation-row {
  display: grid;
  grid-template-columns: minmax(260px, 0.78fr) minmax(360px, 1.22fr);
  gap: 18px 28px;
  align-items: center;
  padding: 20px;
  border: 1px solid #353a3e;
  border-left: 4px solid #f5b942;
  border-radius: 8px;
  background: #171a1d;
}

.pix-validation-row.is-confirmada {
  border-left-color: #00c853;
}

.pix-validation-row.is-rejeitada {
  border-left-color: #ff4d4f;
}

.pix-freelancer-identity {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
}

.pix-freelancer-avatar {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  border-radius: 8px;
  background: #00c853;
  color: #041208;
  font-weight: 950;
}

.pix-freelancer-identity h3 {
  margin: 3px 0;
  color: #fff;
  font-size: 1rem;
}

.pix-freelancer-identity p,
.pix-key-copy small {
  margin: 0;
  color: #9ea7b1;
  font-size: 0.78rem;
}

.pix-review-status,
.pix-key-copy > span,
.pix-review-form label {
  color: #aeb7c2;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.pix-validation-row.is-confirmada .pix-review-status {
  color: #21e56d;
}

.pix-validation-row.is-rejeitada .pix-review-status {
  color: #ff6b6d;
}

.pix-key-copy {
  display: grid;
  min-width: 0;
  gap: 7px;
}

.pix-key-copy > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 7px;
}

.pix-key-copy input,
.pix-review-form input[type="text"] {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  border: 1px solid #343a40;
  border-radius: 8px;
  background: #0d1114;
  color: #fff;
  font: inherit;
  font-weight: 800;
  padding: 0 12px;
}

.master-card .pix-key-copy button {
  width: 42px;
  min-height: 42px;
  padding: 9px;
  border-color: #3b4249;
  background: #22272c;
  color: #dce3ea;
}

.pix-key-copy button svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.pix-review-form {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 130px minmax(260px, 1fr) minmax(230px, 0.72fr) auto;
  gap: 12px;
  align-items: end;
  padding-top: 18px;
  border-top: 1px solid #30363b;
}

.pix-review-form label {
  display: grid;
  gap: 6px;
}

.pix-test-confirm {
  display: flex !important;
  min-height: 42px;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid #343a40;
  border-radius: 8px;
  background: #111519;
  color: #d5dbe1 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.pix-test-confirm span {
  line-height: 1.35;
}

.pix-test-confirm input {
  accent-color: #00c853;
}

.pix-review-actions {
  display: flex;
  gap: 7px;
}

.master-card .pix-review-actions button {
  min-height: 42px;
  padding: 8px 16px;
  white-space: nowrap;
}

.master-card .pix-review-actions .pix-reject {
  border-color: rgba(255, 77, 79, 0.48);
  background: rgba(255, 77, 79, 0.1);
  color: #ff7779;
}

.pix-validation-empty {
  display: grid;
  gap: 5px;
  padding: 24px;
  border: 1px dashed #3b4249;
  border-radius: 8px;
  background: #171a1d;
  color: #aeb7c2;
  text-align: center;
}

.pix-validation-empty strong {
  color: #fff;
}

/* Repasses: resultado persistente da revisao Pix */
.pix-review-notification {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-top: 22px;
  padding: 20px;
  border: 1px solid rgba(245, 185, 66, 0.35);
  border-radius: 18px;
  background: rgba(245, 185, 66, 0.08);
}

.pix-review-notification.is-confirmada {
  border-color: rgba(43, 255, 0, 0.35);
  background: rgba(43, 255, 0, 0.08);
}

.pix-review-notification.is-rejeitada,
.withdraw-pix-status-card.is-rejected {
  border-color: rgba(255, 77, 79, 0.38);
  background: rgba(255, 77, 79, 0.08);
}

.pix-review-notification-icon {
  display: grid;
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  place-items: center;
  border-radius: 50%;
  background: #f5b942;
  color: #101010;
  font-size: 1.35rem;
  font-weight: 1000;
}

.pix-review-notification-icon svg {
  width: 29px;
  height: 29px;
  fill: #f5b942;
  stroke: #101010;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.pix-review-notification.is-confirmada .pix-review-notification-icon {
  background: #2bff00;
}

.pix-review-notification.is-rejeitada .pix-review-notification-icon {
  background: #ff4d4f;
  color: #fff;
}

.pix-review-notification h2 {
  margin: 3px 0 4px;
  font-size: 1.25rem;
}

.pix-review-notification p,
.pix-review-notification small {
  margin: 0;
  color: var(--muted);
}

.withdraw-pix-status-card.is-rejected .pix-status-dot {
  background: #ff4d4f;
  box-shadow: 0 0 0 6px rgba(255, 77, 79, 0.14);
  animation: none;
}

@media (max-width: 1180px) {
  .pix-validation-row {
    grid-template-columns: minmax(220px, 0.8fr) minmax(300px, 1.2fr);
  }

  .pix-review-form {
    grid-template-columns: 120px minmax(220px, 1fr) minmax(210px, 0.8fr);
  }

  .pix-review-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
  }
}

@media (max-width: 760px) {
  .pix-validation-module {
    width: calc(100% - 24px);
    padding: 18px;
  }

  .pix-validation-head,
  .pix-validation-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .pix-validation-summary {
    justify-content: flex-start;
  }

  .pix-review-form {
    grid-template-columns: 1fr;
  }

  .pix-review-actions {
    grid-column: auto;
  }

  .pix-review-actions button {
    flex: 1;
  }

  .pix-review-notification {
    align-items: flex-start;
  }
}

.floating-chat-panel header button:hover,
.floating-chat-panel header button:focus-visible {
  transform: translateY(-50%) scale(1.04);
}

/* Final hover layer. Keep this at the end so component rules do not flatten it. */
@media (hover: hover) and (pointer: fine) {
  .btn,
  button,
  .social-button,
  .profile-trigger,
  .theme-light-toggle,
  .freela-mascot-switch,
  .mobile-menu-button {
    transition:
      transform 180ms cubic-bezier(.2, .8, .2, 1),
      box-shadow 180ms ease,
      border-color 180ms ease,
      background 180ms ease,
      color 180ms ease,
      opacity 180ms ease;
  }

  .btn:hover,
  button:hover,
  .social-button:hover,
  .profile-trigger:hover,
  .theme-light-toggle:hover,
  .freela-mascot-switch:hover,
  .mobile-menu-button:hover {
    transform: translateY(-2px);
  }

  .btn.primary:hover,
  .auth-primary:hover,
  .publish-job-button:hover,
  .hire-priority-action:hover,
  .playful-hero .btn.primary:hover {
    box-shadow: 0 16px 34px rgba(43, 255, 0, 0.28), 0 0 0 4px rgba(43, 255, 0, 0.12);
  }

  .btn.ghost:hover,
  .auth-secondary:hover,
  .playful-hero .btn.ghost:hover {
    border-color: rgba(144, 92, 174, 0.55);
    box-shadow: 0 14px 30px rgba(144, 92, 174, 0.14);
  }

  .btn:active,
  button:active,
  .social-button:active,
  .profile-trigger:active,
  .theme-light-toggle:active,
  .freela-mascot-switch:active {
    transform: translateY(0) scale(0.98);
  }

  .btn:disabled,
  button:disabled,
  .btn[aria-disabled="true"],
  button[aria-disabled="true"] {
    transform: none;
    box-shadow: none;
  }

  .hero-panel,
  .metrics-band,
  .metrics-band article,
  .workflow-card,
  .talent-card,
  .task-card,
  .job-card,
  .dev-command-stats article,
  .dev-mini-card,
  .dev-opportunity-card,
  .dev-active-hero,
  .dev-panel-card,
  .briefing-info-card,
  .loyalty-rule-card,
  .loyalty-product-card,
  .refined-price-card,
  .rank-vitrine-panel article,
  .hire-impact-card,
  .hire-option-card,
  .hire-priority-panel,
  .client-project-vision-card,
  .profile-metric,
  .dev-profile-stats article,
  .mega-visual-card {
    transition:
      transform 220ms cubic-bezier(.2, .8, .2, 1),
      box-shadow 220ms ease,
      border-color 220ms ease,
      background 220ms ease;
  }

  .workflow-card:hover,
  .talent-card:hover,
  .task-card:hover,
  .job-card:hover,
  .dev-mini-card:hover,
  .dev-opportunity-card:hover,
  .dev-panel-card:hover,
  .briefing-info-card:hover,
  .loyalty-rule-card:hover,
  .loyalty-product-card:hover,
  .rank-vitrine-panel article:hover,
  .hire-impact-card:hover,
  .hire-option-card:hover,
  .client-project-vision-card:hover,
  .profile-metric:hover,
  .dev-profile-stats article:hover,
  .mega-visual-card:hover {
    transform: translateY(-5px);
    border-color: rgba(144, 92, 174, 0.42);
    box-shadow: 0 24px 54px rgba(22, 25, 29, 0.13);
  }

  .metrics-band:hover,
  .refined-price-card:hover,
  .hire-priority-panel:hover,
  .dev-active-hero:hover,
  .hero-panel:hover {
    transform: translateY(-3px);
    box-shadow: 0 26px 62px rgba(22, 25, 29, 0.14);
  }

  .trust-row span,
  .refined-rates li,
  .dispatch-pill {
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
  }

  .trust-row span:hover,
  .refined-rates li:hover,
  .dispatch-pill:hover {
    transform: translateY(-2px);
    border-color: rgba(43, 255, 0, 0.42);
  }
}

/* Mantem os bilhetes da home acima das regras legadas de cards e do mobile. */
body.route-home .home-briefing-section .workflow-card .workflow-icon,
body.route-home .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon,
body.route-home.theme-dark .home-briefing-section .workflow-card .workflow-icon,
body.route-home.theme-dark .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon {
  width: 48px;
  height: 48px;
  margin: 0 0 18px;
  background: rgba(144, 92, 174, .14);
  color: #71388e;
  box-shadow: none;
}

body.route-home .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon,
body.route-home.theme-dark .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon {
  background: rgba(36, 197, 20, .14);
  color: #187c16;
}

@media (max-width: 760px) {
  body.route-home .home-briefing-section .workflow-card,
  body.route-home .home-briefing-section .workflow-card:nth-child(even) {
    min-height: 260px;
    align-items: flex-start;
    padding: 54px 38px 34px;
    text-align: left;
    transform-origin: 50% 8%;
    animation: workflowPaperSway 5.8s ease-in-out var(--workflow-note-delay) infinite;
  }

  body.route-home .home-briefing-section .workflow-card:hover,
  body.route-home .home-briefing-section .workflow-card:nth-child(even):hover {
    background: transparent;
    transform: translateY(-6px) rotate(calc(var(--workflow-note-angle) * -1.4)) scale(1.018);
  }

  body.route-home .home-briefing-section .workflow-card .workflow-icon {
    width: 48px;
    height: 48px;
    margin: 0 0 16px;
    animation: none;
  }

  body.route-home .home-briefing-section .workflow-card h3,
  body.route-home .home-briefing-section .workflow-card p {
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    text-align: left;
    animation: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-home .home-briefing-section .workflow-card,
  body.route-home .home-briefing-section .workflow-pin {
    animation: none !important;
  }

  body.route-home .home-briefing-section .workflow-card {
    transform: rotate(var(--workflow-note-angle));
  }
}

/* Janela restaurada: contraste específico para os temas claro e escuro. */
body:not(.theme-dark) .public-job-grid .job-window-restore-form button,
body:not(.theme-dark) .public-job-grid .job-window-restore-upgrade {
  border-color: #874caf;
  background: #874caf;
  color: #ffffff;
}

body:not(.theme-dark) .public-job-grid .job-window-restore-form button span,
body:not(.theme-dark) .public-job-grid .job-window-restore-form button small,
body:not(.theme-dark) .public-job-grid .job-window-restore-upgrade {
  color: #ffffff;
}

body:not(.theme-dark) .public-job-grid .job-window-restore-form button:hover,
body:not(.theme-dark) .public-job-grid .job-window-restore-form button:focus-visible,
body:not(.theme-dark) .public-job-grid .job-window-restore-upgrade:hover,
body:not(.theme-dark) .public-job-grid .job-window-restore-upgrade:focus-visible {
  border-color: #693482;
  background: #693482;
}

body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-window-restore-form button,
body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-window-restore-upgrade {
  border-color: #2bff00;
  background: #2bff00;
  color: #10200d;
}

body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-window-restore-form button span,
body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-window-restore-form button small,
body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-window-restore-upgrade {
  color: #10200d;
}

body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-window-restore-form button:hover,
body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-window-restore-form button:focus-visible,
body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-window-restore-upgrade:hover,
body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-window-restore-upgrade:focus-visible {
  border-color: #6bff4e;
  background: #6bff4e;
}

/* Contratar mobile: cada bilhete precisa de respiro para o alfinete. */
@media (max-width: 760px) {
  body.route-contratar .hire-way-showcase .hire-way-list {
    gap: 44px;
  }
}

/* Preco no tema escuro: papel legivel e painel com tons menos fechados. */
body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item-price .mega-menu-content {
  border-right-color: rgba(58, 44, 62, 0.26);
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item-price .mega-menu-content h3,
body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item-price .mega-action strong {
  color: #2b2130;
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item-price .mega-action small {
  color: #69716c;
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item-price .mega-action:hover strong,
body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item-price .mega-action:focus-visible strong {
  color: #8b2ee8;
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item-price .mega-price-visual {
  border-color: rgba(190, 151, 218, 0.34);
  background:
    radial-gradient(circle at 8% 0, rgba(171, 104, 221, 0.23), transparent 42%),
    radial-gradient(circle at 94% 8%, rgba(86, 196, 105, 0.2), transparent 42%),
    linear-gradient(135deg, #372b40 0%, #29393a 54%, #23402f 100%);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item-price .mega-price-label {
  color: #c978ff;
}

body.theme-dark:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier {
  border-color: rgba(255, 255, 255, 0.15);
  background: rgba(255, 255, 255, 0.09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

body.theme-dark:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier:hover,
body.theme-dark:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier:focus-visible {
  border-color: rgba(203, 152, 239, 0.38);
  background: rgba(255, 255, 255, 0.13);
}

body.theme-dark:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier small {
  color: rgba(239, 240, 238, 0.72);
}

/* Cascata final: textura roxa no rodape claro; o dark permanece inalterado. */
body:not(.theme-dark) .site-footer {
  border-top: 0 !important;
  background-color: #4a126d !important;
  background-image:
    radial-gradient(circle at 88% 18%, rgba(176, 74, 211, .48) 0%, rgba(122, 43, 161, .2) 28%, transparent 52%),
    linear-gradient(145deg, #481064 0%, #74249a 46%, #541378 72%, #3d0d5e 100%) !important;
  color: #fff !important;
}

body:not(.theme-dark) .site-footer::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0 0 auto;
  height: 30%;
  background:
    linear-gradient(to bottom, rgba(74, 18, 109, 0) 0%, rgba(74, 18, 109, .08) 52%, #6c218f 100%),
    url('../img/footer-light-purple-texture.jpg') center top / cover no-repeat;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(to bottom, #000 0%, #000 64%, rgba(0, 0, 0, .9) 76%, rgba(0, 0, 0, .42) 90%, transparent 100%);
  mask-image: linear-gradient(to bottom, #000 0%, #000 64%, rgba(0, 0, 0, .9) 76%, rgba(0, 0, 0, .42) 90%, transparent 100%);
}

body:not(.theme-dark) .site-footer .footer-brand,
body:not(.theme-dark) .site-footer .site-footer-col h5,
body:not(.theme-dark) .site-footer .site-footer-bottom strong {
  color: #fff !important;
}

body:not(.theme-dark) .site-footer .site-footer-brand p,
body:not(.theme-dark) .site-footer .site-footer-col a,
body:not(.theme-dark) .site-footer .site-footer-bottom,
body:not(.theme-dark) .site-footer .footer-apps-label,
body:not(.theme-dark) .site-footer .footer-games-col > small {
  color: #f0e5f6 !important;
}

body:not(.theme-dark) .site-footer .site-footer-col a:hover,
body:not(.theme-dark) .site-footer .site-footer-col a:focus-visible {
  color: #9dff88 !important;
}

body:not(.theme-dark) .site-footer .site-footer-bottom {
  border-top-color: rgba(255, 255, 255, .2) !important;
}

body:not(.theme-dark) .site-footer .footer-updates-link.has-new-updates span,
body:not(.theme-dark) .site-footer .footer-game-login {
  color: #f0e5f6 !important;
}

body:not(.theme-dark) .site-footer .footer-game-login i {
  border-color: rgba(255, 255, 255, .42) !important;
  background: rgba(255, 255, 255, .12) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(34, 8, 49, .16);
}

body:not(.theme-dark) .site-footer .footer-swoosh-mark {
  stroke: #fff !important;
  opacity: .08 !important;
}

/* Rodape: redes sociais flat, sem superficie de card. */
.site-footer .footer-socials a,
body:not(.theme-dark) .site-footer .footer-socials a,
body.theme-dark:not(.route-admin-mestre) .site-footer .footer-socials a {
  width: 50px;
  height: 50px;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: #fff !important;
  box-shadow: none !important;
}

.site-footer .footer-socials a:hover,
.site-footer .footer-socials a:focus-visible,
body:not(.theme-dark) .site-footer .footer-socials a:hover,
body.theme-dark:not(.route-admin-mestre) .site-footer .footer-socials a:hover {
  border: 0 !important;
  background: transparent !important;
  color: #9dff88 !important;
  box-shadow: none !important;
  transform: translateY(-2px);
}

.site-footer .footer-socials a:focus-visible {
  outline: 2px solid #9dff88;
  outline-offset: 2px;
}

.site-footer .footer-socials svg {
  width: 30px;
  height: 30px;
}

/* Mobile: o alfinete entra uma vez e permanece prendendo cada bilhete. */
@media (max-width: 760px) {
  body.route-home .home-briefing-section .workflow-grid.has-mobile-pin-reveal .workflow-pin {
    opacity: 0;
    animation: none;
    transform: translate3d(-50%, -112px, 0) rotate(-24deg) scale(1.34);
    will-change: opacity, transform;
  }

  body.route-home .home-briefing-section .workflow-grid.has-mobile-pin-reveal .workflow-card.is-pin-attached .workflow-pin {
    animation: workflowPinAttachOnce 1040ms cubic-bezier(.16, .78, .2, 1.12) both;
  }
}

@keyframes workflowPinAttachOnce {
  0% {
    opacity: 0;
    transform: translate3d(-50%, -112px, 0) rotate(-24deg) scale(1.34);
  }
  58% {
    opacity: 1;
    transform: translate3d(-50%, 8px, 0) rotate(5deg) scale(.92);
  }
  76% {
    transform: translate3d(-50%, -5px, 0) rotate(-9deg) scale(1.07);
  }
  89% {
    transform: translate3d(-50%, 3px, 0) rotate(-3deg) scale(.98);
  }
  100% {
    opacity: 1;
    transform: translate3d(-50%, 0, 0) rotate(-2deg) scale(1);
  }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  body.route-home .home-briefing-section .workflow-grid.has-mobile-pin-reveal .workflow-pin,
  body.route-home .home-briefing-section .workflow-grid.has-mobile-pin-reveal .workflow-card.is-pin-attached .workflow-pin {
    opacity: 1;
    animation: none;
    transform: translateX(-50%);
    will-change: auto;
  }
}

/* Cascata final do carrossel de Jobs aceitos em papel. */
body.route-admin-dev .dev-accepted-jobs .dev-mini-card,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card.active {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 198px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  overflow: visible;
  padding: 58px 34px 42px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #27231d;
  box-shadow: none;
  transform-origin: 50% 9%;
  animation: acceptedNoteSway 5.6s ease-in-out var(--accepted-note-delay) infinite;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card strong,
body.route-admin-dev .dev-accepted-jobs .dev-mini-card span,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card span {
  position: relative;
  z-index: 1;
  color: #27231d;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card span,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card span {
  color: #61594e;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card.active strong {
  color: #176c16;
}

@media (hover: hover) {
  body.route-admin-dev .dev-accepted-jobs .dev-mini-card:hover,
  body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card:hover {
    border: 0;
    background: transparent;
    box-shadow: none;
    animation-play-state: paused;
    transform: translateY(-6px) rotate(calc(var(--accepted-note-angle) * -1.6)) scale(1.025);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-admin-dev .dev-accepted-jobs .dev-mini-card,
  body.route-admin-dev .dev-accepted-jobs .dev-mini-card::after {
    animation: none !important;
  }

  body.route-admin-dev .dev-accepted-jobs .dev-mini-card {
    transform: rotate(var(--accepted-note-angle));
  }
}

/* Workspace freela: um Job aceito por vez, apresentado como bilhete preso. */
body.route-admin-dev .dev-accepted-list {
  min-height: 218px;
  align-items: stretch;
  padding: 8px 4px 12px;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card.active {
  --accepted-note-angle: -1deg;
  --accepted-note-delay: 0s;
  --accepted-note-paper: url('../img/workflow-paper-01.png');
  --accepted-note-pin: url('../img/workflow-pin-01.png');
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 198px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  overflow: visible;
  padding: 58px 34px 42px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #27231d;
  box-shadow: none;
  transform-origin: 50% 9%;
  animation: acceptedNoteSway 5.6s ease-in-out var(--accepted-note-delay) infinite;
}

body.route-admin-dev .dev-accepted-list .dev-mini-card:nth-child(4n + 2) {
  --accepted-note-angle: .85deg;
  --accepted-note-delay: -1.1s;
  --accepted-note-paper: url('../img/workflow-paper-02.png');
  --accepted-note-pin: url('../img/workflow-pin-02.png');
}

body.route-admin-dev .dev-accepted-list .dev-mini-card:nth-child(4n + 3) {
  --accepted-note-angle: -.7deg;
  --accepted-note-delay: -2.2s;
  --accepted-note-paper: url('../img/workflow-paper-03.png');
  --accepted-note-pin: url('../img/workflow-pin-03.png');
}

body.route-admin-dev .dev-accepted-list .dev-mini-card:nth-child(4n + 4) {
  --accepted-note-angle: 1deg;
  --accepted-note-delay: -3.3s;
  --accepted-note-paper: url('../img/workflow-paper-04.png');
  --accepted-note-pin: url('../img/workflow-pin-04.png');
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: -10px -7px;
  background: var(--accepted-note-paper) center / 100% 100% no-repeat;
  filter:
    drop-shadow(0 9px 7px rgba(10, 8, 5, .28))
    drop-shadow(0 20px 16px rgba(10, 8, 5, .2));
  pointer-events: none;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -13px;
  left: 50%;
  width: 50px;
  height: 50px;
  background: var(--accepted-note-pin) center / contain no-repeat;
  pointer-events: none;
  transform: translateX(-50%);
  transform-origin: 50% 72%;
  animation: acceptedPinPress 3.2s ease-in-out var(--accepted-note-delay) infinite;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card strong,
body.route-admin-dev .dev-accepted-jobs .dev-mini-card span,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card span {
  position: relative;
  z-index: 1;
  color: #27231d;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card strong {
  font-size: 1.05rem;
  line-height: 1.35;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card span,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card span {
  color: #61594e;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card.active strong {
  color: #176c16;
}

@media (hover: hover) {
  body.route-admin-dev .dev-accepted-jobs .dev-mini-card:hover,
  body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card:hover {
    border: 0;
    background: transparent;
    box-shadow: none;
    animation-play-state: paused;
    transform: translateY(-6px) rotate(calc(var(--accepted-note-angle) * -1.6)) scale(1.025);
  }

  body.route-admin-dev .dev-accepted-jobs .dev-mini-card:hover::after {
    animation-play-state: paused;
    transform: translateX(-50%) translateY(-2px) rotate(6deg) scale(1.06);
  }
}

@keyframes acceptedNoteSway {
  0%, 100% { transform: translateY(0) rotate(var(--accepted-note-angle)); }
  50% { transform: translateY(-4px) rotate(calc(var(--accepted-note-angle) * -.6)); }
}

@keyframes acceptedPinPress {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(-2deg); }
  50% { transform: translateX(-50%) translateY(2px) rotate(2deg) scale(.96); }
}

@media (prefers-reduced-motion: reduce) {
  body.route-admin-dev .dev-accepted-jobs .dev-mini-card,
  body.route-admin-dev .dev-accepted-jobs .dev-mini-card::after {
    animation: none !important;
  }

  body.route-admin-dev .dev-accepted-jobs .dev-mini-card {
    transform: rotate(var(--accepted-note-angle));
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  button,
  .social-button,
  .profile-trigger,
  .theme-light-toggle,
  .freela-mascot-switch,
  .mobile-menu-button,
  .hero-panel,
  .metrics-band,
  .metrics-band article,
  .workflow-card,
  .talent-card,
  .task-card,
  .job-card,
  .dev-command-stats article,
  .dev-mini-card,
  .dev-opportunity-card,
  .dev-active-hero,
  .dev-panel-card,
  .briefing-info-card,
  .loyalty-rule-card,
  .loyalty-product-card,
  .refined-price-card,
  .rank-vitrine-panel article,
  .hire-impact-card,
  .hire-option-card,
  .hire-priority-panel,
  .client-project-vision-card,
  .profile-metric,
  .dev-profile-stats article,
  .mega-visual-card,
  .trust-row span,
  .refined-rates li,
  .dispatch-pill {
    transition: none !important;
    transform: none !important;
  }
}

.floating-chat-panel header button:hover,
.floating-chat-panel header button:focus-visible {
  transform: translateY(-50%) scale(1.04);
}

/* Final hover layer. Keep this at the end so component rules do not flatten it. */
@media (hover: hover) and (pointer: fine) {
  .btn,
  button,
  .social-button,
  .profile-trigger,
  .theme-light-toggle,
  .freela-mascot-switch,
  .mobile-menu-button {
    transition:
      transform 180ms cubic-bezier(.2, .8, .2, 1),
      box-shadow 180ms ease,
      border-color 180ms ease,
      background 180ms ease,
      color 180ms ease,
      opacity 180ms ease;
  }

  .btn:hover,
  button:hover,
  .social-button:hover,
  .profile-trigger:hover,
  .theme-light-toggle:hover,
  .freela-mascot-switch:hover,
  .mobile-menu-button:hover {
    transform: translateY(-2px);
  }

  .btn.primary:hover,
  .auth-primary:hover,
  .publish-job-button:hover,
  .hire-priority-action:hover,
  .playful-hero .btn.primary:hover {
    box-shadow: 0 16px 34px rgba(43, 255, 0, 0.28), 0 0 0 4px rgba(43, 255, 0, 0.12);
  }

  .btn.ghost:hover,
  .auth-secondary:hover,
  .playful-hero .btn.ghost:hover {
    border-color: rgba(144, 92, 174, 0.55);
    box-shadow: 0 14px 30px rgba(144, 92, 174, 0.14);
  }

  .btn:active,
  button:active,
  .social-button:active,
  .profile-trigger:active,
  .theme-light-toggle:active,
  .freela-mascot-switch:active {
    transform: translateY(0) scale(0.98);
  }

  .btn:disabled,
  button:disabled,
  .btn[aria-disabled="true"],
  button[aria-disabled="true"] {
    transform: none;
    box-shadow: none;
  }

  .hero-panel,
  .metrics-band,
  .metrics-band article,
  .workflow-card,
  .talent-card,
  .task-card,
  .job-card,
  .dev-command-stats article,
  .dev-mini-card,
  .dev-opportunity-card,
  .dev-active-hero,
  .dev-panel-card,
  .briefing-info-card,
  .loyalty-rule-card,
  .loyalty-product-card,
  .refined-price-card,
  .rank-vitrine-panel article,
  .hire-impact-card,
  .hire-option-card,
  .hire-priority-panel,
  .client-project-vision-card,
  .profile-metric,
  .dev-profile-stats article,
  .mega-visual-card {
    transition:
      transform 220ms cubic-bezier(.2, .8, .2, 1),
      box-shadow 220ms ease,
      border-color 220ms ease,
      background 220ms ease;
  }

  .workflow-card:hover,
  .talent-card:hover,
  .task-card:hover,
  .job-card:hover,
  .dev-mini-card:hover,
  .dev-opportunity-card:hover,
  .dev-panel-card:hover,
  .briefing-info-card:hover,
  .loyalty-rule-card:hover,
  .loyalty-product-card:hover,
  .rank-vitrine-panel article:hover,
  .hire-impact-card:hover,
  .hire-option-card:hover,
  .client-project-vision-card:hover,
  .profile-metric:hover,
  .dev-profile-stats article:hover,
  .mega-visual-card:hover {
    transform: translateY(-5px);
    border-color: rgba(144, 92, 174, 0.42);
    box-shadow: 0 24px 54px rgba(22, 25, 29, 0.13);
  }

  .metrics-band:hover,
  .refined-price-card:hover,
  .hire-priority-panel:hover,
  .dev-active-hero:hover,
  .hero-panel:hover {
    transform: translateY(-3px);
    box-shadow: 0 26px 62px rgba(22, 25, 29, 0.14);
  }

  .trust-row span,
  .refined-rates li,
  .dispatch-pill {
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
  }

  .trust-row span:hover,
  .refined-rates li:hover,
  .dispatch-pill:hover {
    transform: translateY(-2px);
    border-color: rgba(43, 255, 0, 0.42);
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  button,
  .social-button,
  .profile-trigger,
  .theme-light-toggle,
  .freela-mascot-switch,
  .mobile-menu-button,
  .hero-panel,
  .metrics-band,
  .metrics-band article,
  .workflow-card,
  .talent-card,
  .task-card,
  .job-card,
  .dev-command-stats article,
  .dev-mini-card,
  .dev-opportunity-card,
  .dev-active-hero,
  .dev-panel-card,
  .briefing-info-card,
  .loyalty-rule-card,
  .loyalty-product-card,
  .refined-price-card,
  .rank-vitrine-panel article,
  .hire-impact-card,
  .hire-option-card,
  .hire-priority-panel,
  .client-project-vision-card,
  .profile-metric,
  .dev-profile-stats article,
  .mega-visual-card,
  .trust-row span,
  .refined-rates li,
  .dispatch-pill {
    transition: none !important;
    transform: none !important;
  }
}

/* Interaction polish: buttons and cards feel alive without changing layout. */
@media (hover: hover) and (pointer: fine) {
  .btn,
  button,
  .social-button,
  .profile-trigger,
  .theme-light-toggle,
  .freela-mascot-switch,
  .mobile-menu-button,
  .auth-member-link {
    transition:
      transform 180ms cubic-bezier(.2, .8, .2, 1),
      box-shadow 180ms ease,
      border-color 180ms ease,
      background 180ms ease,
      color 180ms ease,
      opacity 180ms ease;
    will-change: transform;
  }

  .btn:hover,
  button:hover,
  .social-button:hover,
  .profile-trigger:hover,
  .theme-light-toggle:hover,
  .freela-mascot-switch:hover,
  .mobile-menu-button:hover,
  .auth-member-link:hover {
    transform: translateY(-2px);
  }

  .btn.primary:hover,
  .auth-primary:hover,
  .publish-job-button:hover,
  .hire-priority-action:hover,
  .playful-hero .btn.primary:hover {
    box-shadow: 0 16px 34px rgba(43, 255, 0, 0.28), 0 0 0 4px rgba(43, 255, 0, 0.12);
  }

  .btn.ghost:hover,
  .auth-secondary:hover,
  .playful-hero .btn.ghost:hover {
    border-color: rgba(144, 92, 174, 0.55);
    box-shadow: 0 14px 30px rgba(144, 92, 174, 0.14);
  }

  .btn:active,
  button:active,
  .social-button:active,
  .profile-trigger:active,
  .theme-light-toggle:active,
  .freela-mascot-switch:active {
    transform: translateY(0) scale(0.98);
  }

  .btn:disabled,
  button:disabled,
  .btn[aria-disabled="true"],
  button[aria-disabled="true"] {
    transform: none;
    box-shadow: none;
    will-change: auto;
  }

  .hero-panel,
  .metrics-band,
  .metrics-band article,
  .workflow-card,
  .talent-card,
  .task-card,
  .job-card,
  .dev-command-stats article,
  .dev-mini-card,
  .dev-opportunity-card,
  .dev-active-hero,
  .dev-panel-card,
  .briefing-info-card,
  .loyalty-rule-card,
  .loyalty-product-card,
  .refined-price-card,
  .rank-vitrine-panel article,
  .hire-impact-card,
  .hire-option-card,
  .hire-priority-panel,
  .client-project-vision-card,
  .profile-metric,
  .dev-profile-stats article,
  .mega-menu-panel,
  .mega-visual-card {
    transition:
      transform 220ms cubic-bezier(.2, .8, .2, 1),
      box-shadow 220ms ease,
      border-color 220ms ease,
      background 220ms ease;
    will-change: transform;
  }

  .workflow-card:hover,
  .talent-card:hover,
  .task-card:hover,
  .job-card:hover,
  .dev-mini-card:hover,
  .dev-opportunity-card:hover,
  .dev-panel-card:hover,
  .briefing-info-card:hover,
  .loyalty-rule-card:hover,
  .loyalty-product-card:hover,
  .rank-vitrine-panel article:hover,
  .hire-impact-card:hover,
  .hire-option-card:hover,
  .client-project-vision-card:hover,
  .profile-metric:hover,
  .dev-profile-stats article:hover,
  .mega-visual-card:hover {
    transform: translateY(-5px);
    border-color: rgba(144, 92, 174, 0.42);
    box-shadow: 0 24px 54px rgba(22, 25, 29, 0.13);
  }

  .metrics-band:hover,
  .refined-price-card:hover,
  .hire-priority-panel:hover,
  .dev-active-hero:hover,
  .hero-panel:hover {
    transform: translateY(-3px);
    box-shadow: 0 26px 62px rgba(22, 25, 29, 0.14);
  }

  .metrics-band article:hover {
    background: rgba(255, 255, 255, 0.08);
  }

  .trust-row span,
  .refined-rates li,
  .hire-priority-note,
  .dispatch-pill {
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
  }

  .trust-row span:hover,
  .refined-rates li:hover,
  .dispatch-pill:hover {
    transform: translateY(-2px);
    border-color: rgba(43, 255, 0, 0.42);
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  button,
  .social-button,
  .profile-trigger,
  .theme-light-toggle,
  .freela-mascot-switch,
  .mobile-menu-button,
  .auth-member-link,
  .hero-panel,
  .metrics-band,
  .metrics-band article,
  .workflow-card,
  .talent-card,
  .task-card,
  .job-card,
  .dev-command-stats article,
  .dev-mini-card,
  .dev-opportunity-card,
  .dev-active-hero,
  .dev-panel-card,
  .briefing-info-card,
  .loyalty-rule-card,
  .loyalty-product-card,
  .refined-price-card,
  .rank-vitrine-panel article,
  .hire-impact-card,
  .hire-option-card,
  .hire-priority-panel,
  .client-project-vision-card,
  .profile-metric,
  .dev-profile-stats article,
  .mega-menu-panel,
  .mega-visual-card,
  .trust-row span,
  .refined-rates li,
  .hire-priority-note,
  .dispatch-pill {
    transition: none !important;
    transform: none !important;
    will-change: auto !important;
  }
}

.cycle-limit-modal {
  position: fixed;
  inset: 0;
  z-index: 1200;
  isolation: isolate;
  display: none;
  place-items: center;
  padding: 18px;
}

.cycle-limit-modal.open {
  display: grid;
}

.cycle-limit-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  background: rgba(13, 12, 18, 0.72);
  backdrop-filter: blur(10px);
}

.cycle-limit-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 18px;
  width: min(560px, 100%);
  max-height: min(720px, calc(100dvh - 32px));
  overflow: auto;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid rgba(43, 255, 0, 0.26);
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(43, 255, 0, 0.08), transparent 190px),
    linear-gradient(135deg, rgba(144, 92, 174, 0.08), transparent 240px),
    #ffffff;
  color: #17191f;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.34);
}

.cycle-limit-dialog::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #2bff00, #905CAE, #1d8f07);
}

.cycle-limit-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 38px;
  min-height: 38px;
  padding: 0;
  border: 1px solid rgba(144, 92, 174, 0.16);
  border-radius: 50%;
  background: #ffffff;
  color: #17191f;
  font-size: 24px;
  line-height: 1;
  box-shadow: 0 12px 24px rgba(23, 25, 31, 0.08);
}

.cycle-limit-head {
  display: grid;
  gap: 10px;
  padding-right: 42px;
}

.cycle-limit-head .eyebrow {
  justify-content: flex-start;
  color: var(--accent);
}

.cycle-limit-head h2 {
  max-width: 440px;
  margin: 0;
  color: #17191f;
  font-size: 2.1rem;
  line-height: 1.02;
  letter-spacing: 0;
}

.cycle-limit-head p {
  max-width: 480px;
  margin: 0;
  color: #5f6878;
  font-weight: 800;
  line-height: 1.52;
}

.cycle-limit-meter {
  display: grid;
  gap: 10px;
  padding: 16px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.82);
}

.cycle-limit-meter div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.cycle-limit-meter span {
  color: var(--accent);
  font-size: 12px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cycle-limit-meter strong {
  color: #17191f;
  font-size: 28px;
  font-weight: 950;
}

.cycle-limit-meter i {
  display: block;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: #e8e3dc;
}

.cycle-limit-meter b {
  display: block;
  width: var(--cycle-used);
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2bff00, #905CAE);
}

.cycle-limit-meter small {
  color: #6b7280;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.45;
}

.cycle-limit-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.cycle-limit-grid div {
  display: grid;
  gap: 2px;
  min-height: 118px;
  padding: 14px 12px;
  border: 1px solid rgba(144, 92, 174, 0.16);
  border-radius: 8px;
  background: #ffffff;
  text-align: center;
}

.cycle-limit-grid div.featured {
  border-color: rgba(43, 255, 0, 0.42);
  background: linear-gradient(180deg, rgba(43, 255, 0, 0.12), #ffffff);
}

.cycle-limit-grid span {
  color: var(--accent);
  font-size: 11px;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.cycle-limit-grid strong {
  color: #17191f;
  font-size: 34px;
  font-weight: 950;
  line-height: 1;
}

.cycle-limit-grid small {
  color: #6b7280;
  font-size: 11px;
  font-weight: 850;
  line-height: 1.3;
}

.cycle-limit-actions {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
}

.cycle-limit-actions a,
.cycle-limit-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 16px;
  border-radius: 8px;
  font-weight: 950;
  text-align: center;
}

.cycle-limit-actions a {
  background: #2bff00;
  color: #10210c;
  box-shadow: 0 16px 32px rgba(43, 255, 0, 0.22);
}

.cycle-limit-actions button {
  border: 1px solid rgba(144, 92, 174, 0.2);
  background: #ffffff;
  color: var(--accent);
}

@media (max-width: 560px) {
  .cycle-limit-dialog {
    padding: 22px 16px 16px;
  }

  .cycle-limit-head h2 {
    font-size: 1.65rem;
  }

  .cycle-limit-grid {
    grid-template-columns: 1fr;
  }

  .cycle-limit-grid div {
    min-height: 92px;
  }

  .cycle-limit-actions {
    grid-template-columns: 1fr;
  }
}

.menu-alert-badge{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:auto;padding:0 6px;border:2px solid #fff;border-radius:999px;background:#ff3d57;color:#fff!important;box-shadow:0 0 0 3px #ff3d5733,0 4px 12px #0005;font-size:11px!important;font-weight:950;line-height:1;animation:menu-alert-pulse 1.1s ease-in-out infinite alternate}
.profile-dropdown .menu-alert-badge,.mobile-menu .menu-alert-badge{margin-left:auto}
@keyframes menu-alert-pulse{to{transform:scale(1.12);box-shadow:0 0 0 5px #ff3d5722,0 4px 16px #ff3d5788}}
@media(prefers-reduced-motion:reduce){.menu-alert-badge{animation:none}}

/* Saldo em formato de cartão financeiro */
.withdraw-balance-card {
  display: grid;
  grid-template-columns: minmax(300px, 0.95fr) minmax(300px, 1.05fr);
  align-items: center;
  min-height: 0;
  padding: clamp(22px, 3vw, 38px);
  overflow: hidden;
  border: 1px solid rgba(43, 255, 0, 0.24);
  background:
    radial-gradient(circle at 8% 12%, rgba(43, 255, 0, 0.13), transparent 34%),
    linear-gradient(135deg, #101a15 0%, #111812 56%, #171320 100%);
  color: #fff;
  box-shadow: 0 22px 58px rgba(3, 16, 8, 0.16);
}

.withdraw-bank-card {
  position: relative;
  display: flex;
  min-height: 226px;
  padding: 24px;
  overflow: hidden;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(255, 255, 255, 0.18);
  border-radius: 24px;
  background:
    radial-gradient(circle at 88% 12%, rgba(255, 255, 255, 0.2), transparent 24%),
    linear-gradient(135deg, #59278b 0%, #8f54b4 48%, #20d64c 140%);
  color: #fff;
  box-shadow: 0 22px 44px rgba(17, 4, 31, 0.3);
}

.withdraw-bank-card::after {
  position: absolute;
  right: -42px;
  bottom: -92px;
  width: 210px;
  height: 210px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  content: "";
}

.withdraw-bank-card-top,
.withdraw-bank-card-bottom {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.withdraw-bank-brand,
.withdraw-bank-card-bottom span {
  font-weight: 900;
  letter-spacing: 0.08em;
}

.withdraw-bank-card-balance {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 5px;
}

.withdraw-bank-card-balance span,
.withdraw-bank-card-bottom small {
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.withdraw-bank-card-balance strong {
  color: #fff;
  font-size: clamp(2.2rem, 4vw, 3.8rem);
  line-height: 1;
}

.withdraw-bank-mastercard {
  width: 44px;
  height: auto;
}

.withdraw-balance-actions {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
}

.withdraw-balance-actions .withdraw-balance-caption {
  padding: 0 2px 8px;
  background: transparent;
  color: #d3ddd6;
  font-weight: 650;
}

.withdraw-balance-actions span:not(.withdraw-balance-caption),
.withdraw-balance-actions small {
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.055);
  color: #e8eee9;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-balance-card,
body.theme-dark:not(.route-admin-mestre) .withdraw-balance-card .eyebrow,
body.theme-dark:not(.route-admin-mestre) .withdraw-balance-card p,
body.theme-dark:not(.route-admin-mestre) .withdraw-balance-card h1 {
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-balance-actions .withdraw-balance-caption {
  background: transparent;
  color: #d3ddd6;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-balance-actions span:not(.withdraw-balance-caption),
body.theme-dark:not(.route-admin-mestre) .withdraw-balance-actions small {
  background: rgba(255, 255, 255, 0.055);
  color: #e8eee9;
}

@media (max-width: 820px) {
  .withdraw-balance-card {
    display: grid;
    grid-template-columns: 1fr;
  }

  .withdraw-balance-actions {
    max-width: none;
    margin: 0;
  }
}

@media (max-width: 480px) {
  .withdraw-bank-card {
    min-height: 205px;
    padding: 20px;
    border-radius: 20px;
  }

  .withdraw-bank-card-bottom {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }
}

/* Retrato circular do perfil público do dev */
.dev-profile-identity {
  align-content: center;
  justify-items: center;
}

.dev-profile-photo {
  width: min(100%, 350px);
  min-height: 0;
  aspect-ratio: 1;
  padding: 14px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 25% 20%, rgba(43, 255, 0, 0.17), transparent 30%),
    linear-gradient(145deg, rgba(144, 92, 174, 0.3), rgba(255, 255, 255, 0.92));
}

.dev-profile-photo::before {
  inset: 14px;
  border-radius: 50%;
}

.dev-profile-photo img,
.dev-profile-photo.is-illustrated img {
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  border-radius: 50%;
  object-fit: cover;
  object-position: center;
}

.dev-profile-photo.is-illustrated {
  padding: 14px;
}

.dev-profile-badge-showcase {
  width: min(100%, 420px);
}

@media (max-width: 680px) {
  .dev-profile-photo {
    width: min(84vw, 310px);
    min-height: 0;
  }
}

.delete-account-backdrop,
.delete-account-backdrop:hover,
.delete-account-backdrop:focus,
.delete-account-backdrop:focus-visible,
.delete-account-backdrop:active {
  background: rgba(3, 7, 5, 0.9) !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0;
  transform: none !important;
}

/* Loyalty */
.loyalty-page {
  padding: 72px 20px 110px;
  background: radial-gradient(circle at 8% 0%, rgba(43, 255, 0, 0.1), transparent 34%), var(--page-bg, #fbfff8);
}

.loyalty-shell {
  max-width: 1180px;
  margin: 0 auto;
  display: grid;
  gap: 22px;
}

.loyalty-hero,
.loyalty-rules-grid,
.loyalty-shop-grid,
.loyalty-history-grid {
  width: 100%;
}

.loyalty-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 24px;
  align-items: stretch;
  padding: 34px;
  border: 1px solid rgba(151, 91, 183, 0.22);
  border-radius: 22px;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(238, 255, 234, 0.94));
  box-shadow: 0 28px 70px rgba(20, 40, 24, 0.1);
}

.loyalty-hero h1 {
  margin: 10px 0 12px;
  font-size: clamp(2.2rem, 5vw, 4.6rem);
  line-height: 0.96;
  letter-spacing: 0;
}

.loyalty-hero p {
  max-width: 640px;
  color: #536173;
  font-size: 1.08rem;
  line-height: 1.65;
}

.loyalty-guest-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
  margin-top: 24px;
}

.loyalty-guest-actions .btn {
  min-width: 178px;
}

.loyalty-balance-card {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  padding: 28px;
  border-radius: 20px;
  background: linear-gradient(135deg, #2bff00, #9b5bb7);
  color: #06110a;
  box-shadow: 0 24px 54px rgba(43, 255, 0, 0.25);
}

.loyalty-balance-card span,
.loyalty-rule-card span,
.loyalty-product-body span {
  font-weight: 900;
  text-transform: uppercase;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  color: #9b5bb7;
}

.loyalty-balance-card strong {
  font-size: 4rem;
  line-height: 1;
}

.loyalty-balance-card small {
  font-weight: 800;
}

.loyalty-rules-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.loyalty-rule-card,
.loyalty-product-card,
.loyalty-history-card {
  border: 1px solid rgba(151, 91, 183, 0.18);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.92);
  box-shadow: 0 20px 54px rgba(22, 32, 24, 0.08);
}

.loyalty-rule-card {
  padding: 22px;
}

.loyalty-rule-card strong {
  display: block;
  margin: 10px 0;
  font-size: 2.4rem;
  color: #2bff00;
  text-shadow: 0 0 18px rgba(43, 255, 0, 0.18);
}

.loyalty-rule-card p,
.loyalty-history-card p {
  color: #647084;
  line-height: 1.55;
}

.loyalty-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-top: 12px;
}

.loyalty-section-head h2,
.loyalty-history-card h2 {
  margin: 8px 0 0;
  font-size: 2rem;
}

.loyalty-section-head > span {
  padding: 10px 14px;
  border-radius: 999px;
  background: #eef8ee;
  font-weight: 900;
  color: #152018;
}

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

.loyalty-product-card {
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.loyalty-product-visual {
  min-height: 190px;
  display: grid;
  place-items: center;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.14), rgba(151, 91, 183, 0.16));
}

.loyalty-product-visual img {
  width: min(160px, 70%);
  aspect-ratio: 1;
  object-fit: contain;
  filter: drop-shadow(0 18px 30px rgba(0, 0, 0, 0.18));
}

.loyalty-product-body {
  padding: 20px;
  display: grid;
  gap: 10px;
  flex: 1;
}

.loyalty-product-body h3 {
  margin: 0;
  font-size: 1.25rem;
}

.loyalty-product-body p {
  margin: 0;
  min-height: 48px;
  color: #5c6878;
  line-height: 1.5;
}

.loyalty-product-meta {
  margin-top: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.loyalty-product-meta strong {
  font-size: 1.35rem;
  color: #111827;
}

.loyalty-product-meta .btn {
  min-width: 130px;
  background: #2bff00;
  color: #06110a;
  border: 0;
}

.loyalty-product-meta .btn:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  filter: grayscale(0.5);
}

.loyalty-history-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.loyalty-history-card {
  padding: 24px;
}

.loyalty-transaction {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(17, 24, 39, 0.08);
}

.loyalty-transaction:last-child {
  border-bottom: 0;
}

.loyalty-transaction strong {
  display: block;
}

.loyalty-transaction small {
  display: block;
  margin-top: 4px;
  color: #647084;
}

.loyalty-transaction b {
  color: #2bff00;
  white-space: nowrap;
}

.loyalty-orders-card {
  display: grid;
  align-content: start;
  gap: 14px;
}

.loyalty-order-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 8px;
  background: var(--surface);
}

.loyalty-order-card header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.loyalty-order-card header span,
.loyalty-order-card header strong {
  display: block;
}

.loyalty-order-card header span {
  margin-bottom: 4px;
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.loyalty-order-card header b {
  color: var(--brand);
  white-space: nowrap;
}

.loyalty-order-progress {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.loyalty-order-progress > div {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 7px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 800;
  text-align: center;
}

.loyalty-order-progress > div::before {
  content: "";
  position: absolute;
  top: 6px;
  right: 50%;
  left: -50%;
  height: 2px;
  background: var(--line);
}

.loyalty-order-progress > div:first-child::before {
  display: none;
}

.loyalty-order-progress i {
  position: relative;
  z-index: 1;
  width: 14px;
  height: 14px;
  border: 2px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
}

.loyalty-order-progress .is-done::before,
.loyalty-order-progress .is-done i {
  border-color: var(--brand);
  background: var(--brand);
}

.loyalty-order-progress .is-current {
  color: var(--ink);
}

.loyalty-order-progress .is-current i {
  box-shadow: 0 0 0 5px rgba(43, 255, 0, 0.12);
}

.loyalty-order-card footer {
  display: grid;
  gap: 4px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.loyalty-order-card footer > strong {
  display: none;
}

.loyalty-order-card footer small,
.loyalty-order-card footer p {
  margin: 0;
  color: var(--muted);
}

.loyalty-order-card footer p {
  margin-top: 5px;
  font-size: 0.88rem;
  line-height: 1.45;
}

.loyalty-order-cancelled {
  color: #d92d20 !important;
  font-weight: 850;
}

.loyalty-order-card.status-cancelado {
  border-color: rgba(217, 45, 32, 0.3);
}

.loyalty-status-notification {
  position: fixed;
  top: 96px;
  right: 18px;
  z-index: 1150;
  display: grid;
  width: min(390px, calc(100% - 36px));
  gap: 8px;
  padding: 18px 54px 18px 18px;
  border: 1px solid rgba(144, 92, 174, 0.32);
  border-left: 5px solid var(--accent);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 24px 65px rgba(14, 18, 16, 0.24);
  transition: opacity 180ms ease, transform 180ms ease;
}

.loyalty-status-notification > button {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 1.15rem;
}

.loyalty-status-notification > span {
  color: var(--accent);
  font-size: 0.7rem;
  font-weight: 950;
  text-transform: uppercase;
}

.loyalty-status-notification > strong {
  line-height: 1.35;
}

.loyalty-status-notification > p {
  margin: 0;
  color: var(--muted);
  font-size: 0.86rem;
}

.loyalty-status-notification > a {
  width: fit-content;
  margin-top: 4px;
  color: var(--brand);
  font-size: 0.84rem;
  font-weight: 950;
}

.loyalty-status-notification.status-entregue,
.loyalty-status-notification.status-enviado {
  border-left-color: var(--brand);
}

.loyalty-status-notification.status-cancelado {
  border-left-color: #d92d20;
}

.loyalty-status-notification.hide {
  opacity: 0;
  transform: translateY(-10px);
}

.loyalty-empty {
  padding: 24px;
  border: 1px dashed rgba(151, 91, 183, 0.35);
  border-radius: 16px;
  color: #647084;
  font-weight: 800;
  grid-column: 1 / -1;
}

/* Admin loyalty */
.loyalty-admin-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, 520px);
  gap: 24px;
  align-items: center;
}

.loyalty-admin-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.loyalty-admin-summary article,
.loyalty-admin-card,
.loyalty-product-editor,
.loyalty-redemption-card {
  border: 1px solid rgba(43, 255, 0, 0.18);
  background: rgba(10, 18, 14, 0.55);
  border-radius: 16px;
}

.loyalty-admin-summary article {
  padding: 18px;
}

.loyalty-admin-summary span {
  display: block;
  color: #a9bdd4;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.loyalty-admin-summary strong {
  display: block;
  margin-top: 6px;
  color: #fff;
  font-size: 2rem;
}

.loyalty-admin-card {
  padding: 24px;
}

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

.loyalty-admin-form .field-grid,
.loyalty-product-editor-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.loyalty-admin-form label,
.loyalty-product-editor label,
.loyalty-redemption-card label {
  display: grid;
  gap: 8px;
  color: #bfd0e3;
  font-weight: 900;
  text-transform: uppercase;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
}

.loyalty-admin-form input,
.loyalty-admin-form textarea,
.loyalty-product-editor input,
.loyalty-redemption-card input,
.loyalty-redemption-card select {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 12px;
  padding: 14px;
  background: #07120d;
  color: #fff;
  font: inherit;
  text-transform: none;
  letter-spacing: 0;
}

.loyalty-product-editor input[type="file"] {
  cursor: pointer;
  border-style: dashed;
}

.loyalty-product-editor input[type="file"]::file-selector-button {
  margin-right: 12px;
  border: 0;
  border-radius: 10px;
  padding: 10px 14px;
  background: #2bff00;
  color: #07120d;
  font-weight: 900;
  cursor: pointer;
}

.loyalty-product-editor label small {
  color: #a9bdd4;
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0;
  text-transform: none;
}

.loyalty-checkbox {
  display: flex !important;
  grid-auto-flow: column;
  justify-content: start;
  align-items: center;
}

.loyalty-checkbox input {
  width: auto;
  accent-color: #2bff00;
}

.loyalty-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 18px;
}

.loyalty-product-editor {
  padding: 18px;
  display: grid;
  gap: 12px;
}

.loyalty-product-preview {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border-radius: 14px;
  background: rgba(43, 255, 0, 0.08);
}

.loyalty-product-preview img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.06);
}

.loyalty-product-preview strong {
  display: block;
  color: #fff;
}

.loyalty-product-preview small {
  color: #a9bdd4;
}

.loyalty-upload-preview {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 12px;
  border: 1px solid rgba(43, 255, 0, 0.55);
  border-radius: 14px;
  background: rgba(43, 255, 0, 0.1);
  animation: loyalty-preview-in 0.28s ease-out both;
}

.loyalty-upload-preview[hidden] {
  display: none;
}

.loyalty-upload-preview img {
  width: 88px;
  height: 88px;
  flex: 0 0 88px;
  object-fit: contain;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.08);
}

.loyalty-upload-preview strong,
.loyalty-upload-preview small {
  display: block;
}

.loyalty-upload-preview strong {
  color: #fff;
}

.loyalty-upload-preview small {
  margin-top: 5px;
  color: #a9bdd4;
  overflow-wrap: anywhere;
}

@keyframes loyalty-preview-in {
  from { opacity: 0; transform: translateY(-5px) scale(0.98); }
  to { opacity: 1; transform: translateY(0) scale(1); }
}

.loyalty-editor-actions {
  display: flex;
  gap: 10px;
}

.loyalty-editor-actions .btn {
  flex: 1;
}

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

.loyalty-redemption-card {
  display: grid;
  grid-template-columns: minmax(240px, 1fr) 180px minmax(220px, 1fr) auto;
  gap: 14px;
  align-items: end;
  padding: 18px;
}

.loyalty-redemption-card h3 {
  margin: 8px 0 6px;
  color: #fff;
}

.loyalty-redemption-card p {
  margin: 0 0 8px;
  color: #a9bdd4;
}

.loyalty-redemption-card strong {
  color: #2bff00;
}

.loyalty-status-pill {
  display: inline-flex;
  width: max-content;
  padding: 6px 10px;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 900;
  text-transform: uppercase;
  background: rgba(255, 193, 7, 0.16);
  color: #ffc247;
}

.loyalty-status-pill.status-entregue {
  background: rgba(43, 255, 0, 0.14);
  color: #2bff00;
}

.loyalty-status-pill.status-cancelado {
  background: rgba(255, 80, 80, 0.16);
  color: #ff7777;
}

.loyalty-status-pill.status-separando {
  background: rgba(151, 91, 183, 0.18);
  color: #c78aff;
}

.loyalty-status-pill.status-enviado {
  background: rgba(64, 132, 255, 0.16);
  color: #78a7ff;
}

body.theme-dark .loyalty-page {
  background: radial-gradient(circle at 10% 0%, rgba(43, 255, 0, 0.1), transparent 35%), #07100c;
}

body.theme-dark .loyalty-hero,
body.theme-dark .loyalty-rule-card,
body.theme-dark .loyalty-product-card,
body.theme-dark .loyalty-history-card {
  background: linear-gradient(135deg, rgba(10, 19, 14, 0.96), rgba(30, 20, 42, 0.94));
  border-color: rgba(151, 91, 183, 0.32);
  color: #fff;
}

body.theme-dark .loyalty-hero p,
body.theme-dark .loyalty-rule-card p,
body.theme-dark .loyalty-product-body p,
body.theme-dark .loyalty-history-card p,
body.theme-dark .loyalty-transaction small {
  color: #c9d6de;
}

body.theme-dark .loyalty-product-meta strong {
  color: #fff;
}

body.theme-dark .loyalty-section-head > span {
  background: rgba(43, 255, 0, 0.12);
  color: #2bff00;
}

body.theme-dark .loyalty-transaction {
  border-color: rgba(255, 255, 255, 0.08);
}

@media (max-width: 900px) {
  .loyalty-page {
    padding: 36px 14px 86px;
  }

  .loyalty-hero,
  .loyalty-admin-hero {
    grid-template-columns: 1fr;
    padding: 24px;
  }

  .loyalty-rules-grid,
  .loyalty-shop-grid,
  .loyalty-history-grid,
  .loyalty-admin-grid {
    grid-template-columns: 1fr;
  }

  .loyalty-admin-form .field-grid,
  .loyalty-product-editor-grid,
  .loyalty-admin-summary {
    grid-template-columns: 1fr;
  }

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

  .loyalty-balance-card strong {
    font-size: 3.1rem;
  }

  .loyalty-hero h1 {
    font-size: 2.6rem;
  }
}

@media (max-width: 560px) {
  .loyalty-status-notification {
    top: 84px;
    right: 12px;
    left: 12px;
    width: auto;
  }

  .loyalty-order-card {
    padding: 15px;
  }

  .loyalty-order-progress span {
    font-size: 0.62rem;
  }

  .loyalty-product-meta {
    align-items: stretch;
    flex-direction: column;
  }

  .loyalty-product-meta .btn {
    width: 100%;
  }

  .loyalty-section-head {
    align-items: flex-start;
    flex-direction: column;
  }
}

.withdraw-pix-form .withdraw-pix-save,
button.withdraw-pix-save,
body.theme-dark:not(.route-admin-mestre) .withdraw-pix-form .withdraw-pix-save,
body.theme-dark:not(.route-admin-mestre) button.withdraw-pix-save {
  background: #2bff00 !important;
  color: #ffffff !important;
  border: 0 !important;
  opacity: 1 !important;
  text-shadow: none;
  box-shadow: 0 12px 26px rgba(43, 255, 0, 0.28) !important;
}

.withdraw-pix-form .withdraw-pix-save:hover,
button.withdraw-pix-save:hover {
  background: #28bd55 !important;
  color: #ffffff !important;
}

.withdraw-pix-form .withdraw-pix-save.is-confirmed,
button.withdraw-pix-save.is-confirmed,
.withdraw-pix-form .withdraw-pix-save:disabled,
button.withdraw-pix-save:disabled {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 148px;
  background: #2bff00 !important;
  color: #ffffff !important;
  cursor: default !important;
  pointer-events: none;
  box-shadow: 0 10px 24px rgba(43, 255, 0, 0.22) !important;
  transform: none !important;
}

@media (prefers-reduced-motion: reduce) {
  .pix-status-dot {
    animation: none;
  }
}

body.theme-dark:not(.route-admin-mestre) .withdraw-pix-status-card {
  border-color: rgba(245, 185, 66, 0.28);
  background:
    radial-gradient(circle at 92% 14%, rgba(245, 185, 66, 0.14), transparent 26%),
    linear-gradient(135deg, rgba(28, 23, 11, 0.9), rgba(7, 20, 14, 0.82));
}

body.theme-dark:not(.route-admin-mestre) .withdraw-pix-status-card.is-confirmed {
  border-color: rgba(43, 255, 0, 0.28);
  background:
    radial-gradient(circle at 92% 14%, rgba(43, 255, 0, 0.14), transparent 26%),
    linear-gradient(135deg, rgba(7, 29, 15, 0.94), rgba(8, 17, 13, 0.86));
}

body.theme-dark:not(.route-admin-mestre) .withdraw-pix-status-card h2 {
  color: #f8fff9;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-pix-form input {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(7, 20, 14, 0.84);
  color: #f8fff9;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-pix-form button,
body.theme-dark:not(.route-admin-mestre) .referral-payout-actions button {
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .referral-payout-item {
  border-color: rgba(255, 255, 255, 0.1);
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.1), rgba(144, 92, 174, 0.09)),
    rgba(7, 20, 14, 0.82);
}

body.theme-dark:not(.route-admin-mestre) .referral-payout-item.is-socio {
  border-color: rgba(245, 185, 66, 0.34);
  background:
    radial-gradient(circle at 92% 8%, rgba(245, 185, 66, 0.18), transparent 24%),
    linear-gradient(135deg, rgba(43, 255, 0, 0.1), rgba(144, 92, 174, 0.09)),
    rgba(7, 20, 14, 0.86);
}

body.theme-dark:not(.route-admin-mestre) .referral-payout-main h3,
body.theme-dark:not(.route-admin-mestre) .referral-payout-money strong,
body.theme-dark:not(.route-admin-mestre) .referral-payout-pix strong {
  color: #f8fff9;
}

body.theme-dark:not(.route-admin-mestre) .referral-payout-people span,
.route-admin-mestre .referral-payout-people span {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(7, 20, 14, 0.42);
  color: #f8fff9;
}

@media (max-width: 720px) {
  .withdraw-pix-form {
    grid-template-columns: 1fr;
  }

  .withdraw-pix-form button {
    width: 100%;
  }

  .referral-payout-plan-head {
    align-items: flex-start;
  }

  .referral-payout-plan-head img {
    width: 48px;
    height: 48px;
    flex-basis: 48px;
  }
}

.withdraw-pix-form button,
body.theme-dark:not(.route-admin-mestre) .withdraw-pix-form button,
.withdraw-pix-form button:disabled {
  background: var(--green) !important;
  color: #fff !important;
  opacity: 1;
  border: 0;
  box-shadow: 0 12px 26px rgba(43, 255, 0, 0.26);
}

.withdraw-pix-form button:hover {
  filter: brightness(0.96);
}

@media (max-width: 640px) {
  .job-counter-modal {
    align-items: start;
    padding: 14px;
    overflow-y: auto;
  }

  .job-counter-dialog {
    width: 100%;
    max-height: none;
    margin: 20px 0;
    padding: 26px 22px 24px;
    border-radius: 16px;
  }

  .job-counter-dialog form {
    grid-template-columns: 1fr;
  }

  .job-counter-dialog::before {
    border-radius: 16px 16px 0 0;
  }

  .job-counter-dialog h2 {
    padding-right: 26px;
  }

  .job-counter-dialog .field-grid,
  .job-counter-actions {
    grid-template-columns: 1fr;
  }

  .job-counter-actions button {
    width: 100%;
  }
}

.compact-step {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdf8;
}

.compact-step + .compact-step {
  margin-top: 10px;
}

.stage-control {
  gap: 12px;
}

.stage-control-head,
.stage-readonly > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.stage-control-head strong,
.stage-readonly strong {
  color: var(--accent);
}

.stage-control-head span,
.stage-readonly span,
.stage-readonly small {
  color: var(--muted);
  font-size: 0.9rem;
}

.stage-control-head b {
  color: var(--brand);
  font-size: 1.25rem;
}

.stage-completion-mark {
  display: flex;
  align-items: center;
  gap: 9px;
}

.stage-complete-icon {
  display: grid;
  width: 0;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #2bff00, #18bf4b);
  color: #09230f;
  opacity: 0;
  overflow: hidden;
  transform: scale(0.55) rotate(-18deg);
  transition: width 220ms ease, opacity 220ms ease, transform 260ms cubic-bezier(0.2, 0.9, 0.3, 1.35);
  box-shadow: 0 7px 18px rgba(43, 255, 0, 0.28);
}

.stage-complete-icon svg {
  width: 23px;
  height: 23px;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.stage-control.is-locked .stage-complete-icon {
  width: 36px;
  opacity: 1;
  transform: scale(1) rotate(0);
}

.stage-control.is-locked .stage-completion-mark b {
  color: #16ba3f;
}

body.theme-dark:not(.route-admin-mestre) .stage-complete-icon {
  color: #061c0b;
  box-shadow: 0 0 0 5px rgba(43, 255, 0, 0.08), 0 8px 22px rgba(43, 255, 0, 0.22);
}

.stage-meter {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #ece8df;
}

.stage-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand), var(--accent));
  transition: width 220ms ease;
}

.stage-meter.editable {
  height: 16px;
  box-shadow: inset 0 0 0 1px rgba(144, 92, 174, 0.14);
}

.stage-range {
  width: 100%;
  accent-color: var(--brand);
}

.stage-control.is-locked {
  border-color: rgba(43, 255, 0, 0.28);
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.07), rgba(144, 92, 174, 0.035)),
    var(--surface);
}

.stage-control.is-locked .stage-range {
  opacity: 0.48;
  cursor: not-allowed;
}

.stage-control.is-locked input:disabled {
  color: var(--muted);
  cursor: not-allowed;
}

.stage-control.is-blocked {
  border-color: rgba(144, 92, 174, 0.18);
  background: color-mix(in srgb, var(--surface) 94%, #905cae 6%);
  opacity: 0.68;
}

.stage-control.is-blocked input,
.stage-control.is-blocked select,
.stage-control.is-blocked textarea,
.stage-control.is-blocked .stage-range {
  cursor: not-allowed;
}

.stage-block-note {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid rgba(144, 92, 174, 0.24);
  border-radius: 999px;
  color: var(--muted);
  background: rgba(144, 92, 174, 0.08);
  font-size: 0.78rem;
  font-weight: 850;
}

.stage-lock-note {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 6px 10px;
  border: 1px solid rgba(43, 255, 0, 0.22);
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.08);
  color: #2bff00;
  font-size: 0.78rem;
  font-weight: 900;
}

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

.stage-readonly {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdf8;
}

.stage-readonly.done {
  border-color: rgba(43, 255, 0, 0.45);
  background: rgba(43, 255, 0, 0.08);
}

.client-project-vision-card {
  display: grid;
  gap: 22px;
  padding: 24px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background:
    radial-gradient(circle at 92% 6%, rgba(43, 255, 0, 0.1), transparent 32%),
    linear-gradient(135deg, #ffffff, #fbfdf8);
  box-shadow: var(--shadow);
}

.client-project-vision-head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 16px;
  align-items: center;
  width: 100%;
  cursor: pointer;
  list-style: none;
}

.client-project-vision-head::-webkit-details-marker {
  display: none;
}

.client-project-vision-heading {
  display: grid;
  gap: 8px;
  max-width: none;
}

.client-project-vision-heading > .eyebrow {
  transform: translateX(29px);
}

.client-project-vision-heading > strong,
.client-stage-messages h4 {
  margin: 0;
}

.client-project-vision-heading > strong {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.2;
}

.client-project-vision-heading > small,
.client-stage-messages p {
  margin: 0;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.55;
}

.client-project-vision-toggle {
  position: relative;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(144, 92, 174, 0.34);
  border-radius: 50%;
  background: rgba(144, 92, 174, 0.1);
}

.client-project-vision-toggle::before,
.client-project-vision-toggle::after {
  display: none;
}

.client-project-vision-card[open] .client-project-vision-toggle {
  transform: rotate(180deg);
  background: rgba(144, 92, 174, 0.12);
}

.client-project-vision-card:not([open]) .client-project-vision-toggle {
  transform: none;
  background: transparent;
}

.client-project-vision-card:not([open]) {
  gap: 0;
}

.client-project-vision-body {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.75fr);
  gap: 18px;
  align-items: start;
}

.client-milestone-alert {
  position: fixed;
  right: 18px;
  bottom: 18px;
  z-index: 1120;
  width: min(410px, calc(100vw - 36px));
  padding: 20px 52px 20px 20px;
  border: 1px solid rgba(196, 106, 255, 0.66);
  border-radius: 18px;
  background:
    radial-gradient(circle at 100% 0%, rgba(43, 255, 0, 0.2), transparent 38%),
    linear-gradient(135deg, #351346, #6b258d 58%, #331243);
  color: #fff;
  box-shadow: 0 24px 62px rgba(47, 11, 64, 0.38);
  opacity: 0;
  transform: translateY(18px) scale(0.98);
  transition: opacity 220ms ease, transform 220ms ease;
}

.client-milestone-alert.is-visible {
  opacity: 1;
  transform: translateY(0) scale(1);
}

.client-milestone-alert > button {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 32px;
  height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #fff;
  font-size: 1.35rem;
  box-shadow: none;
}

.client-milestone-alert > span {
  display: block;
  margin-bottom: 7px;
  color: #dca7ff;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.client-milestone-alert > strong {
  display: block;
  font-size: 1.18rem;
}

.client-milestone-alert > p {
  margin: 7px 0 14px;
  color: #f2e9f7;
  line-height: 1.45;
}

.client-milestone-alert > a {
  color: #72ff57;
  font-weight: 900;
}

@media (max-width: 640px) {
  .client-project-vision-head {
    grid-template-columns: minmax(0, 1fr) 42px;
  }

  .client-project-vision-toggle {
    width: 42px;
    height: 42px;
  }

  .client-milestone-alert {
    top: 86px;
    right: 14px;
    bottom: auto;
    width: calc(100vw - 28px);
  }
}

.client-stage-timeline {
  gap: 12px;
}

.client-stage-detail {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px;
  align-items: start;
  padding: 16px;
  border-radius: 10px;
}

.client-stage-marker {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 14px;
  background: rgba(144, 92, 174, 0.08);
  color: var(--accent);
  font-weight: 950;
}

.client-stage-marker span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  color: currentColor;
  font-size: 1rem;
  font-weight: 950;
  line-height: 1;
  text-align: center;
}

.client-stage-detail.done .client-stage-marker {
  border-color: rgba(43, 255, 0, 0.34);
  background: rgba(43, 255, 0, 0.14);
  color: var(--brand);
}

.client-stage-content {
  display: grid;
  gap: 10px;
  min-width: 0;
}

.client-stage-title {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.client-stage-title span {
  text-align: right;
  white-space: nowrap;
  font-weight: 850;
}

.client-stage-content small {
  display: block;
  max-width: 58rem;
  line-height: 1.5;
}

.client-stage-messages {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 10px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.08)),
    #ffffff;
}

.client-stage-message-list {
  display: grid;
  gap: 10px;
  max-height: 320px;
  overflow: auto;
}

.client-stage-message-list article {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
}

.client-stage-message-list article strong {
  color: var(--ink);
}

.client-stage-message-list article p {
  font-size: 0.92rem;
}

.client-stage-messages button {
  width: 100%;
  min-height: 50px;
  border: 0;
  border-radius: 8px;
  background: #15191f;
  color: #fff;
  font-weight: 950;
  box-shadow: 0 10px 0 rgba(0, 0, 0, 0.08);
}

.client-stage-messages small {
  color: var(--muted);
  font-weight: 850;
}

.delivery-confirm-card {
  position: relative;
  display: grid;
  grid-template-columns: minmax(220px, 0.8fr) minmax(320px, 1.2fr);
  align-items: start;
  gap: 18px;
  padding: 20px;
  border: 2px solid rgba(43, 255, 0, 0.68);
  border-radius: 14px;
  background:
    radial-gradient(circle at 92% 8%, rgba(144, 92, 174, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(43, 255, 0, 0.14), rgba(144, 92, 174, 0.09));
  box-shadow: 0 20px 52px rgba(43, 255, 0, 0.13), 0 0 0 5px rgba(43, 255, 0, 0.045);
  overflow: hidden;
}

.delivery-confirm-card:not(.done)::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #2bff00, #70e983 48%, #905cae);
}

.delivery-confirm-card:not(.done) > div:first-child .eyebrow {
  display: inline-flex;
  align-items: center;
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.12);
  color: #16b93d;
}

.delivery-confirm-card h2 {
  margin: 6px 0;
}

.delivery-confirm-card p {
  margin: 0;
  color: var(--muted);
}

.delivery-confirm-card button {
  width: 100%;
  min-width: 0;
}

.delivery-confirm-card button:disabled {
  cursor: not-allowed;
  opacity: 0.5;
  filter: grayscale(0.45);
  transform: none;
}

.delivery-confirm-card.done {
  border-color: rgba(144, 92, 174, 0.36);
  align-items: center;
}

.delivery-confirm-seal {
  display: flex;
  justify-self: end;
  align-items: center;
  gap: 12px;
  min-width: 210px;
  padding: 13px 15px;
  border: 1px solid rgba(43, 255, 0, 0.38);
  border-radius: 8px;
  background: rgba(43, 255, 0, 0.09);
}

.delivery-confirm-seal > span {
  display: grid;
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 50%;
  background: var(--brand);
  color: #071006;
  box-shadow: 0 0 0 6px rgba(43, 255, 0, 0.11);
}

.delivery-confirm-seal svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: currentColor;
  stroke-width: 4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.delivery-confirm-seal div {
  display: grid;
  gap: 2px;
}

.delivery-confirm-seal strong {
  color: var(--ink);
  font-size: 1.02rem;
}

.delivery-confirm-seal small {
  color: var(--muted);
  font-weight: 800;
}

.delivery-confirm-form {
  display: grid;
  gap: 12px;
}

.delivery-rating {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 0;
  border: 0;
}

.delivery-rating legend,
.delivery-tip-field span,
.delivery-review-field span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.delivery-rating-stars {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.delivery-rating-stars label {
  cursor: pointer;
}

.delivery-rating-stars input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.delivery-rating-stars span {
  display: inline-flex;
  min-height: 36px;
  align-items: center;
  padding: 8px 12px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.08);
  color: var(--accent);
  font-weight: 950;
  letter-spacing: 0.04em;
  transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}

.delivery-rating-stars input:checked + span {
  border-color: rgba(43, 255, 0, 0.44);
  background: rgba(43, 255, 0, 0.14);
  color: var(--brand);
  transform: translateY(-1px);
}

.delivery-tip-field,
.delivery-review-field {
  display: grid;
  gap: 8px;
}

.delivery-tip-field input,
.delivery-review-field textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
  font-weight: 850;
}

.delivery-tip-field input {
  min-height: 46px;
  padding: 0 14px;
  font-size: 1.05rem;
}

.delivery-review-field textarea {
  min-height: 92px;
  padding: 12px 14px;
  resize: vertical;
}

.delivery-field-note {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 750;
  line-height: 1.45;
}

.delivery-tip-status {
  display: grid;
  gap: 8px;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(144, 92, 174, 0.28);
  border-radius: 8px;
  background: var(--surface);
}

.delivery-tip-status.is-paid {
  border-color: rgba(43, 255, 0, 0.4);
}

.delivery-tip-status span {
  color: var(--muted);
  line-height: 1.45;
}

.delivery-tip-status .button {
  width: fit-content;
  margin-top: 2px;
}

.delivery-tip-pix {
  grid-template-columns: minmax(0, 1fr) 150px;
  align-items: center;
  gap: 14px;
  border-color: rgba(43, 255, 0, 0.42);
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.08));
}

.delivery-tip-pix > div,
.delivery-tip-pix label,
.delivery-tip-pix button {
  grid-column: 1;
}

.delivery-tip-pix > img {
  grid-column: 2;
  grid-row: 1 / span 3;
  width: 150px;
  height: 150px;
  padding: 8px;
  border-radius: 8px;
  background: #ffffff;
  object-fit: contain;
}

.delivery-tip-pix label {
  display: grid;
  gap: 7px;
}

.delivery-tip-pix textarea {
  width: 100%;
  min-height: 82px;
  resize: none;
  overflow-wrap: anywhere;
  font-size: 0.76rem;
}

.delivery-tip-pix button {
  width: 100%;
}

@media (max-width: 680px) {
  .delivery-tip-pix {
    grid-template-columns: 1fr;
  }

  .delivery-tip-pix > div,
  .delivery-tip-pix label,
  .delivery-tip-pix button,
  .delivery-tip-pix > img {
    grid-column: 1;
    grid-row: auto;
  }

  .delivery-tip-pix > img {
    width: min(100%, 220px);
    height: auto;
    aspect-ratio: 1;
    justify-self: center;
  }
}

.dispute-entry {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 24px;
  margin: 18px 0;
  padding: 20px;
  border: 1px solid rgba(219, 57, 69, 0.36);
  border-left: 5px solid #db3945;
  border-radius: 8px;
  background: color-mix(in srgb, var(--surface) 94%, #db3945 6%);
}

.dispute-entry h3 {
  margin: 6px 0;
}

.dispute-entry p {
  max-width: 52rem;
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.dispute-open-button,
.dispute-submit-button {
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid #b9202d;
  border-radius: 7px;
  background: #db3945;
  color: #fff;
  font-weight: 950;
  box-shadow: 0 6px 0 rgba(114, 12, 22, 0.18);
}

.dispute-open-button:hover,
.dispute-submit-button:hover {
  background: #bd2633;
}

.dispute-modal {
  position: fixed;
  inset: 0;
  z-index: 460;
  display: none;
  place-items: center;
  padding: 20px;
}

.dispute-modal[aria-hidden="false"] {
  display: grid;
}

.dispute-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(5, 9, 8, 0.78);
  backdrop-filter: blur(6px);
}

.dispute-dialog {
  position: relative;
  z-index: 1;
  width: min(720px, 100%);
  max-height: min(880px, calc(100dvh - 32px));
  overflow: auto;
  padding: 26px;
  border: 1px solid rgba(219, 57, 69, 0.5);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.34);
}

.dispute-dialog-close {
  position: absolute;
  top: 14px;
  right: 14px;
  width: 38px;
  height: 38px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-size: 1.5rem;
  font-weight: 950;
}

.dispute-dialog-head {
  display: flex;
  align-items: center;
  gap: 14px;
  padding-right: 42px;
}

.dispute-dialog-head h2 {
  margin: 5px 0 0;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
}

.dispute-alert-mark {
  display: grid;
  flex: 0 0 52px;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 50%;
  background: #db3945;
  color: #fff;
  font-size: 1.8rem;
  font-weight: 950;
}

.dispute-serious-copy {
  margin: 18px 0;
  padding: 14px 16px;
  border-left: 4px solid #db3945;
  background: rgba(219, 57, 69, 0.08);
  color: var(--ink);
  font-weight: 800;
  line-height: 1.55;
}

.dispute-deadline-preview {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 18px;
}

.dispute-deadline-preview > div {
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
}

.dispute-deadline-preview small,
.dispute-open-form label > span,
.dispute-statement-form .eyebrow,
.dispute-resolution-form label > span {
  color: var(--muted);
  font-size: 0.75rem;
  font-weight: 950;
  text-transform: uppercase;
}

.dispute-open-form,
.dispute-resolution-form {
  display: grid;
  gap: 14px;
}

.dispute-open-form label,
.dispute-resolution-form label {
  display: grid;
  gap: 7px;
}

.dispute-open-form select,
.dispute-open-form textarea,
.dispute-resolution-form select,
.dispute-resolution-form input,
.dispute-resolution-form textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--ink);
}

.dispute-open-form select,
.dispute-resolution-form select,
.dispute-resolution-form input {
  min-height: 48px;
  padding: 0 13px;
}

.dispute-open-form textarea,
.dispute-resolution-form textarea {
  padding: 12px 13px;
  resize: vertical;
}

.dispute-open-form label small,
.dispute-resolution-form label small {
  color: var(--muted);
}

.dispute-confirm-check {
  display: flex !important;
  align-items: flex-start;
  gap: 10px !important;
  padding: 12px;
  border: 1px solid rgba(219, 57, 69, 0.22);
  border-radius: 7px;
}

.dispute-confirm-check input {
  width: 18px;
  height: 18px;
  margin-top: 2px;
  accent-color: #db3945;
}

.dispute-confirm-check span {
  color: var(--ink) !important;
  font-size: 0.88rem !important;
  line-height: 1.45;
  text-transform: none !important;
}

.dispute-dialog-actions {
  display: grid;
  grid-template-columns: 0.35fr 0.65fr;
  gap: 10px;
}

.dispute-case {
  margin: 18px 0;
  padding: 22px;
  border: 1px solid rgba(219, 57, 69, 0.46);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.dispute-case.is-resolved {
  border-color: rgba(144, 92, 174, 0.42);
}

.dispute-case-head {
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: flex-start;
}

.dispute-case-head h2 {
  margin: 8px 0 4px;
}

.dispute-case-head p {
  margin: 0;
  color: var(--muted);
}

.dispute-status-pill {
  display: inline-flex;
  width: fit-content;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(219, 57, 69, 0.12);
  color: #db3945;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.dispute-final-deadline {
  display: grid;
  flex: 0 0 auto;
  gap: 4px;
  padding: 12px 14px;
  border: 1px solid rgba(219, 57, 69, 0.26);
  border-radius: 7px;
  text-align: right;
}

.dispute-final-deadline small {
  color: var(--muted);
}

.dispute-case-summary,
.dispute-admin-finance {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 18px 0;
}

.dispute-case-summary > div,
.dispute-admin-finance > div {
  display: grid;
  gap: 5px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface) 96%, var(--accent) 4%);
}

.dispute-case-summary small,
.dispute-admin-finance small {
  color: var(--muted);
  font-weight: 800;
}

.dispute-timeline {
  display: flex;
  margin: 20px 0;
  padding: 0;
  list-style: none;
}

.dispute-timeline li {
  position: relative;
  display: flex;
  flex: 1;
  gap: 9px;
  min-width: 0;
  padding-right: 12px;
}

.dispute-timeline li::after {
  content: "";
  position: absolute;
  top: 7px;
  right: 0;
  left: 14px;
  height: 2px;
  background: rgba(144, 92, 174, 0.26);
}

.dispute-timeline li:last-child::after {
  display: none;
}

.dispute-timeline li > span {
  --dispute-dot-rgb: 43, 255, 0;
  position: relative;
  z-index: 1;
  flex: 0 0 16px;
  width: 16px;
  height: 16px;
  border: 3px solid var(--surface);
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 0 0 1px rgba(43, 255, 0, 0.5);
  animation: dispute-timeline-blink 1.45s ease-in-out infinite;
}

.dispute-timeline li.pending > span {
  --dispute-dot-rgb: 243, 184, 63;
  background: #f3b83f;
  box-shadow: 0 0 0 1px rgba(243, 184, 63, 0.55);
}

.dispute-timeline li:nth-child(3n + 2) > span {
  animation-delay: 0.22s;
}

.dispute-timeline li:nth-child(3n) > span {
  animation-delay: 0.44s;
}

@keyframes dispute-timeline-blink {
  0%,
  100% {
    opacity: 1;
    transform: scale(1);
    box-shadow:
      0 0 0 1px rgba(var(--dispute-dot-rgb), 0.62),
      0 0 0 0 rgba(var(--dispute-dot-rgb), 0.28);
  }

  50% {
    opacity: 0.42;
    transform: scale(0.78);
    box-shadow:
      0 0 0 1px rgba(var(--dispute-dot-rgb), 0.34),
      0 0 0 7px rgba(var(--dispute-dot-rgb), 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dispute-timeline li > span {
    animation: none;
  }
}

.dispute-timeline li > div {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 3px;
  padding-right: 8px;
  background: var(--surface);
}

.dispute-timeline strong {
  font-size: 0.82rem;
}

.dispute-timeline small {
  color: var(--muted);
  font-size: 0.72rem;
}

.dispute-versions,
.dispute-admin-versions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.dispute-versions > article,
.dispute-admin-versions > article {
  display: grid;
  align-content: start;
  gap: 8px;
  min-height: 190px;
  padding: 16px;
  border: 1px solid var(--line);
  border-top: 3px solid var(--accent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface) 96%, var(--accent) 4%);
}

.dispute-versions > article > span,
.dispute-admin-versions > article > span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.dispute-versions p,
.dispute-admin-versions p {
  margin: 0;
  color: var(--ink);
  line-height: 1.55;
}

.dispute-versions small,
.dispute-admin-versions small,
.dispute-versions .waiting,
.dispute-admin-versions .waiting {
  color: var(--muted);
}

.dispute-statement-form {
  display: grid;
  grid-template-columns: minmax(210px, 0.5fr) minmax(280px, 1fr);
  gap: 12px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(43, 255, 0, 0.34);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface) 94%, var(--brand) 6%);
}

.dispute-statement-form h3,
.dispute-statement-form p {
  margin: 5px 0;
}

.dispute-statement-form p {
  color: var(--muted);
}

.dispute-statement-form textarea {
  width: 100%;
  min-height: 130px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
  color: var(--ink);
}

.dispute-statement-form button {
  grid-column: 2;
}

.dispute-history {
  margin-top: 14px;
  border: 1px solid var(--line);
  border-radius: 7px;
  background: var(--surface);
}

.dispute-history summary {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 14px;
  cursor: pointer;
  font-weight: 950;
}

.dispute-history summary span {
  color: var(--muted);
  font-size: 0.78rem;
}

.dispute-history > div {
  display: grid;
  gap: 8px;
  max-height: 360px;
  overflow: auto;
  padding: 0 14px 14px;
}

.dispute-history article {
  padding: 11px;
  border-left: 3px solid rgba(144, 92, 174, 0.5);
  background: color-mix(in srgb, var(--surface) 95%, var(--accent) 5%);
}

.dispute-history article > div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
}

.dispute-history article p {
  margin: 6px 0 0;
  color: var(--muted);
}

.dispute-history article small {
  color: var(--muted);
}

.dispute-decision {
  display: grid;
  gap: 8px;
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.42);
  border-left: 5px solid var(--accent);
  border-radius: 7px;
  background: color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);
}

.dispute-decision h3,
.dispute-decision p {
  margin: 0;
}

.dispute-decision p {
  line-height: 1.6;
}

.profile-dispute-link,
.mobile-dispute-link {
  color: #db3945 !important;
}

.profile-dispute-link.is-active,
.mobile-dispute-link.is-active {
  background: rgba(219, 57, 69, 0.11) !important;
}

.profile-dispute-link b,
.mobile-dispute-link b {
  margin-left: auto;
  padding: 2px 7px;
  border-radius: 999px;
  background: #db3945;
  color: #fff;
  font-size: 0.7rem;
}

.icon-dispute,
.dispute-mark {
  display: grid !important;
  place-items: center;
  color: #db3945 !important;
  font-weight: 950;
}

.dispute-admin-console .master-workspace {
  min-width: 0;
}

.dispute-admin-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  padding: 20px;
}

.dispute-admin-stats article {
  display: grid;
  gap: 5px;
  padding: 17px;
  border: 1px solid var(--admin-line, #303030);
  border-radius: 7px;
  background: var(--admin-card, #171717);
}

.dispute-admin-stats small,
.dispute-admin-stats span {
  color: #aeb4bd;
}

.dispute-admin-stats strong {
  color: #fff;
  font-size: 1.8rem;
}

.dispute-admin-layout {
  display: grid;
  grid-template-columns: minmax(250px, 0.32fr) minmax(0, 1fr);
  gap: 16px;
  padding: 0 20px 24px;
}

.dispute-admin-queue,
.dispute-admin-case,
.dispute-admin-empty {
  border: 1px solid #343434;
  border-radius: 8px;
  background: #171817;
  color: #fff;
}

.dispute-admin-queue {
  align-self: start;
  overflow: hidden;
}

.dispute-admin-queue > div {
  padding: 17px;
  border-bottom: 1px solid #303030;
}

.dispute-admin-queue h2 {
  margin: 5px 0 0;
}

.dispute-admin-queue > a {
  display: grid;
  gap: 6px;
  padding: 15px 17px;
  border-bottom: 1px solid #2d2d2d;
  color: #fff;
}

.dispute-admin-queue > a.active {
  background: #25202a;
  box-shadow: inset 4px 0 0 #905cae;
}

.dispute-admin-queue > a > span {
  width: fit-content;
  color: #f36b76;
  font-size: 0.67rem;
  font-weight: 950;
  text-transform: uppercase;
}

.dispute-admin-queue > a > span.done {
  color: #2bff00;
}

.dispute-admin-queue small,
.dispute-admin-queue b {
  color: #aeb4bd;
  font-size: 0.76rem;
}

.dispute-admin-case {
  min-width: 0;
  padding: 20px;
}

.dispute-admin-case > header {
  display: flex;
  justify-content: space-between;
  gap: 20px;
}

.dispute-admin-case > header h2 {
  margin: 8px 0 4px;
}

.dispute-admin-case > header p {
  margin: 0;
  color: #aeb4bd;
}

.dispute-admin-case .dispute-final-deadline,
.dispute-admin-case .dispute-admin-finance > div,
.dispute-admin-case .dispute-admin-versions > article,
.dispute-admin-case .dispute-history,
.dispute-admin-case .dispute-history article {
  border-color: #343434;
  background: #111713;
}

.dispute-admin-case .dispute-admin-finance small,
.dispute-admin-case .dispute-admin-versions small,
.dispute-admin-case .dispute-admin-versions p,
.dispute-admin-case .dispute-history article p,
.dispute-admin-case .dispute-history article small {
  color: #b6bec8;
}

.dispute-admin-case .admin-decision {
  padding: 20px 22px;
  border: 1px solid #3b3440;
  border-left: 4px solid #905cae;
  background: #17141b;
  color: #f6f7fb;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.025);
}

.dispute-admin-case .admin-decision .eyebrow {
  color: #b77bd2;
}

.dispute-admin-case .admin-decision h3 {
  color: #ffffff;
  font-size: 1.18rem;
}

.dispute-admin-case .admin-decision > strong {
  width: fit-content;
  padding: 6px 9px;
  border-radius: 5px;
  background: rgba(144, 92, 174, 0.13);
  color: #d9b5e9;
}

.dispute-admin-case .admin-decision p {
  max-width: 980px;
  color: #c3c8d0;
}

.dispute-admin-case .admin-decision small {
  color: #89929e;
}

.dispute-resolution-form {
  margin-top: 16px;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.45);
  border-radius: 7px;
  background: #1e1923;
}

.dispute-resolution-form h3 {
  margin: 5px 0;
}

.dispute-resolution-form select,
.dispute-resolution-form input,
.dispute-resolution-form textarea {
  border-color: #45404b;
  background: #111713;
  color: #fff;
}

.dispute-resolution-form button {
  min-height: 50px;
  border: 0;
  border-radius: 7px;
  background: #2bff00;
  color: #081008;
  font-weight: 950;
}

.dispute-resolution-form button:disabled,
.dispute-resolution-form select:disabled,
.dispute-resolution-form textarea:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.dispute-wait-warning {
  color: #f1c15b;
}

.dispute-admin-empty {
  margin: 20px;
  padding: 30px;
}

body.theme-dark:not(.route-admin-mestre) .dispute-dialog,
body.theme-dark:not(.route-admin-mestre) .dispute-case,
body.theme-dark:not(.route-admin-mestre) .dispute-entry {
  background: #101713;
}

@media (max-width: 900px) {
  .dispute-entry,
  .dispute-statement-form,
  .dispute-admin-layout {
    grid-template-columns: 1fr;
  }

  .dispute-statement-form button {
    grid-column: 1;
  }

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

@media (max-width: 640px) {
  .delivery-confirm-seal {
    width: 100%;
    min-width: 0;
    justify-self: stretch;
  }

  .dispute-modal {
    align-items: end;
    padding: 8px;
  }

  .dispute-dialog {
    width: 100%;
    max-height: calc(100dvh - 16px);
    padding: 20px 16px;
  }

  .dispute-deadline-preview,
  .dispute-case-summary,
  .dispute-admin-finance,
  .dispute-versions,
  .dispute-admin-versions,
  .dispute-dialog-actions,
  .dispute-admin-stats {
    grid-template-columns: 1fr;
  }

  .dispute-entry {
    align-items: stretch;
  }

  .dispute-entry .dispute-open-button {
    width: 100%;
  }

  .dispute-case {
    padding: 16px;
  }

  .dispute-case-head,
  .dispute-admin-case > header {
    display: grid;
  }

  .dispute-final-deadline {
    text-align: left;
  }

  .dispute-timeline {
    display: grid;
    gap: 10px;
  }

  .dispute-timeline li::after {
    display: none;
  }

  .dispute-admin-layout {
    padding: 0 12px 20px;
  }

  .dispute-admin-case {
    padding: 15px;
  }
}

.client-chat-summary {
  align-content: space-between;
  min-height: 280px;
  background:
    radial-gradient(circle at 92% 14%, rgba(144, 92, 174, 0.12), transparent 34%),
    linear-gradient(135deg, #ffffff, #fbfdf8);
}

.client-chat-summary p {
  max-width: 34rem;
  color: var(--muted);
  line-height: 1.55;
}

.client-chat-summary button {
  width: 100%;
  border: 0;
  border-radius: 8px;
  background: #15191f;
  color: #fff;
  box-shadow: 0 10px 0 rgba(0, 0, 0, 0.08);
}

.dev-context-column {
  position: sticky;
  top: 104px;
}

.dev-context-column .timeline {
  margin: 0;
  padding-left: 0;
}

.dev-context-column .timeline li {
  display: grid;
  gap: 4px;
}

.dev-context-column .timeline span {
  color: var(--muted);
  font-size: 0.9rem;
}

body.theme-dark:not(.route-admin-mestre) .dev-command-stats article,
body.theme-dark:not(.route-admin-mestre) .dev-command-queue,
body.theme-dark:not(.route-admin-mestre) .dev-command-workspace,
body.theme-dark:not(.route-admin-mestre) .dev-mini-card,
body.theme-dark:not(.route-admin-mestre) .dev-opportunity-card,
body.theme-dark:not(.route-admin-mestre) .dev-active-hero,
body.theme-dark:not(.route-admin-mestre) .dev-detail-strip article,
body.theme-dark:not(.route-admin-mestre) .dev-panel-card,
body.theme-dark:not(.route-admin-mestre) .dev-empty-panel,
body.theme-dark:not(.route-admin-mestre) .dev-action-focus,
body.theme-dark:not(.route-admin-mestre) .dev-action-card,
body.theme-dark:not(.route-admin-mestre) .briefing-lead-card,
body.theme-dark:not(.route-admin-mestre) .briefing-info-card,
body.theme-dark:not(.route-admin-mestre) .completed-lock-card,
body.theme-dark:not(.route-admin-mestre) .completed-side-card,
body.theme-dark:not(.route-admin-mestre) .compact-step {
  border-color: #27372f;
  background: #121916;
  box-shadow: 0 18px 46px rgba(0, 0, 0, 0.18);
}

body.theme-dark:not(.route-admin-mestre) .dev-command-workspace {
  background: #0f1512;
}

body.theme-dark:not(.route-admin-mestre) .dev-accepted-pager button {
  border-color: #27372f;
  background: #101714;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .dev-accepted-pager span {
  color: #9fb0a7;
}

body.theme-dark:not(.route-admin-mestre) .dev-accepted-pager [data-dev-pager-current] {
  color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .dev-detail-strip article.payment-rejected-card {
  border-color: rgba(255, 102, 91, 0.46);
  background:
    linear-gradient(135deg, rgba(217, 45, 32, 0.18), rgba(144, 92, 174, 0.06)),
    #1b1111;
  color: #ffd6d2;
  box-shadow: 0 18px 46px rgba(217, 45, 32, 0.12);
}

body.theme-dark:not(.route-admin-mestre) .dev-detail-strip article.payment-rejected-card small,
body.theme-dark:not(.route-admin-mestre) .dev-detail-strip article.payment-rejected-card span {
  color: #ffaaa3;
}

body.theme-dark:not(.route-admin-mestre) .dev-detail-strip article.payment-rejected-card strong {
  color: #ff6b61;
}

body.theme-dark:not(.route-admin-mestre) .dev-detail-strip article.payment-waiting-card {
  border-color: rgba(190, 120, 240, 0.72);
  background: linear-gradient(135deg, #2b0d43 0%, #54206b 52%, #8740a0 100%);
  color: #fff;
  box-shadow: 0 18px 46px rgba(91, 35, 118, 0.24);
}

body.theme-dark:not(.route-admin-mestre) .dev-detail-strip article.payment-waiting-card small,
body.theme-dark:not(.route-admin-mestre) .dev-detail-strip article.payment-waiting-card span {
  color: rgba(255, 255, 255, 0.76);
}

body.theme-dark:not(.route-admin-mestre) .dev-detail-strip article.payment-waiting-card strong {
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .payment-rejected-lock {
  border-color: rgba(255, 102, 91, 0.50) !important;
  background:
    linear-gradient(135deg, rgba(217, 45, 32, 0.20), rgba(144, 92, 174, 0.05)),
    #1b1111 !important;
  color: #ffd6d2;
}

body.theme-dark:not(.route-admin-mestre) .payment-rejected-lock span,
body.theme-dark:not(.route-admin-mestre) .payment-rejected-lock .eyebrow,
body.theme-dark:not(.route-admin-mestre) .payment-rejected-lock h3,
body.theme-dark:not(.route-admin-mestre) .payment-rejected-lock h4 {
  color: #ff8a80;
}

body.theme-dark:not(.route-admin-mestre) .payment-waiting-lock {
  border-color: rgba(190, 120, 240, 0.76) !important;
  background: linear-gradient(135deg, #290c40 0%, #511f68 52%, #833d9b 100%) !important;
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .payment-waiting-lock span,
body.theme-dark:not(.route-admin-mestre) .payment-waiting-lock .eyebrow,
body.theme-dark:not(.route-admin-mestre) .payment-waiting-lock h3,
body.theme-dark:not(.route-admin-mestre) .payment-waiting-lock h4 {
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .payment-waiting-lock p {
  color: rgba(255, 255, 255, 0.8);
}

body.theme-dark:not(.route-admin-mestre) .stage-control.is-locked {
  border-color: rgba(43, 255, 0, 0.34);
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.10), rgba(144, 92, 174, 0.06)),
    #0f1713;
}

body.theme-dark:not(.route-admin-mestre) .stage-lock-note {
  border-color: rgba(43, 255, 0, 0.32);
  background: rgba(43, 255, 0, 0.12);
  color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .dev-opportunity-card b {
  border-color: rgba(144, 92, 174, 0.3);
  background: rgba(144, 92, 174, 0.12);
}

body.theme-dark:not(.route-admin-mestre) .dev-action-focus-head h3,
body.theme-dark:not(.route-admin-mestre) .dev-action-card p,
body.theme-dark:not(.route-admin-mestre) .dev-action-card li,
body.theme-dark:not(.route-admin-mestre) .briefing-lead-card p {
  color: #f5fff8;
}

body.theme-dark:not(.route-admin-mestre) .production-overview article {
  border-color: #27372f;
  background: rgba(255, 255, 255, 0.04);
}

body.theme-dark:not(.route-admin-mestre) .stage-readonly,
body.theme-dark:not(.route-admin-mestre) .delivery-confirm-card,
body.theme-dark:not(.route-admin-mestre) .client-project-vision-card,
body.theme-dark:not(.route-admin-mestre) .client-stage-messages,
body.theme-dark:not(.route-admin-mestre) .client-stage-message-list article,
body.theme-dark:not(.route-admin-mestre) .client-chat-summary {
  border-color: #27372f;
  background: #111a15;
}

body.theme-dark:not(.route-admin-mestre) .stage-readonly.done,
body.theme-dark:not(.route-admin-mestre) .delivery-confirm-card.done {
  border-color: rgba(43, 255, 0, 0.42);
  background: rgba(43, 255, 0, 0.1);
}

body.theme-dark:not(.route-admin-mestre) .delivery-confirm-card:not(.done) {
  border-color: rgba(43, 255, 0, 0.72);
  background:
    radial-gradient(circle at 92% 8%, rgba(144, 92, 174, 0.22), transparent 36%),
    linear-gradient(145deg, rgba(43, 255, 0, 0.095), rgba(17, 26, 21, 0.98) 48%, rgba(144, 92, 174, 0.09));
  box-shadow: 0 22px 58px rgba(0, 0, 0, 0.28), 0 0 0 5px rgba(43, 255, 0, 0.055);
}

body.theme-dark:not(.route-admin-mestre) .delivery-confirm-card:not(.done) > div:first-child .eyebrow {
  color: #69ff4d;
  background: rgba(43, 255, 0, 0.11);
}

body.theme-dark:not(.route-admin-mestre) .client-project-vision-card,
body.theme-dark:not(.route-admin-mestre) .client-stage-messages {
  background:
    radial-gradient(circle at 92% 6%, rgba(43, 255, 0, 0.1), transparent 32%),
    #111a15;
}

body.theme-dark:not(.route-admin-mestre) .client-stage-marker {
  border-color: rgba(144, 92, 174, 0.34);
  background: rgba(144, 92, 174, 0.16);
}

body.theme-dark:not(.route-admin-mestre) .client-stage-message-list article {
  background: #0d1712;
}

body.theme-dark:not(.route-admin-mestre) .client-stage-message-list article strong {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .delivery-tip-field input,
body.theme-dark:not(.route-admin-mestre) .delivery-review-field textarea {
  border-color: #27372f;
  background: #0d1712;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .delivery-rating-stars span {
  border-color: rgba(144, 92, 174, 0.32);
  background: rgba(144, 92, 174, 0.14);
}

body.theme-dark:not(.route-admin-mestre) .stage-meter {
  background: #26302b;
}

@media (prefers-reduced-motion: reduce) {
  .floating-chat-button {
    animation: none;
  }

  .dev-command-actions .dev-public-showcase-cta {
    animation: none;
  }
}

/* Final global compact pass requested for the full product surface. */
.hero h1,
.page-head h1,
.pricing-head h1,
.dashboard-side h1,
.payment-hub-side h1,
.profile-hero h1,
.dev-ops-side h1,
.dev-command-header h1,
.master-command-hero h2,
.master-hero h2 {
  font-size: clamp(1.6rem, 2.85vw, 2.55rem) !important;
  line-height: 1.06 !important;
  letter-spacing: 0 !important;
}

.section-heading h2,
.split-section h2,
.aside-panel h2,
.payment-hub-card h2,
.client-project-hero h2,
.dev-active-hero h2 {
  font-size: clamp(1.25rem, 2vw, 1.85rem) !important;
  line-height: 1.1 !important;
  letter-spacing: 0 !important;
}

.hero,
.page-head,
.pricing-head,
.section-heading,
.route-contratar .form-layout > .aside-panel,
.route-devs .split-section > div:first-child {
  text-align: center;
}

.hero p,
.page-head p,
.pricing-head p,
.section-heading p,
.split-section p,
.dashboard-side p,
.payment-hub-side p,
.dev-ops-side p {
  font-size: 0.9rem !important;
  line-height: 1.52 !important;
}

.hero h1 strong,
.page-head h1 strong,
.pricing-head h1 strong,
.section-heading h2 strong,
.split-section h2 strong {
  color: #905CAE;
}

body.theme-dark .hero h1 strong,
body.theme-dark .page-head h1 strong,
body.theme-dark .pricing-head h1 strong,
body.theme-dark .section-heading h2 strong,
body.theme-dark .split-section h2 strong {
  color: #2bff00;
}

.talent-card h2,
.task-card h3,
.workflow-card h3,
.job-card h3 {
  font-size: 0.96rem !important;
}

.talent-card p,
.task-card p,
.workflow-card p,
.job-card p,
.check-list li {
  font-size: 0.82rem !important;
}

@media (max-width: 640px) {
  .hero h1,
  .page-head h1,
  .pricing-head h1,
  .dashboard-side h1,
  .payment-hub-side h1,
  .profile-hero h1,
  .dev-ops-side h1,
  .dev-command-header h1 {
    font-size: clamp(1.45rem, 7.4vw, 2.05rem) !important;
  }
}

@media (max-width: 1180px) {
  .dev-command-grid,
  .dev-workspace-layout {
    grid-template-columns: 1fr;
  }

  .dev-command-queue,
  .dev-context-column {
    position: static;
    max-height: none;
  }

  .dev-command-queue {
    overflow: visible;
  }

  .dev-queue-section:last-child {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dev-queue-section:last-child .dev-section-title {
    grid-column: 1 / -1;
  }
}

@media (max-width: 760px) {
  .dev-command-page {
    width: min(100% - 24px, 680px);
    margin-top: 24px;
  }

  .dev-command-header,
  .dev-command-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .dev-command-stats,
  .dev-detail-strip,
  .dev-queue-section:last-child,
  .dev-active-hero,
  .dev-action-grid,
  .production-overview,
  .briefing-card-grid {
    grid-template-columns: 1fr;
  }

  .dev-action-grid {
    gap: 18px;
  }

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

  .dev-action-card.phase-step {
    grid-template-columns: 60px minmax(0, 1fr);
    min-height: 108px;
    border-radius: 34px 10px 10px 34px;
  }

  .phase-step-number {
    width: 56px;
    height: 56px;
    font-size: 2.2rem;
  }

  .dev-action-card.phase-step::after {
    top: auto;
    right: auto;
    bottom: -20px;
    left: 40px;
    width: 0;
    height: 20px;
    border-top: 0;
    border-left: 3px dotted rgba(144, 92, 174, 0.42);
  }

  .briefing-info-card.wide {
    grid-column: auto;
  }

  body.route-admin-dev .dev-command-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  body.route-admin-dev .dev-command-stats article {
    min-height: 116px;
    padding: 14px;
  }

  body.route-admin-dev .dev-command-stats strong {
    font-size: clamp(1.55rem, 7vw, 2rem);
  }

  body.route-admin-dev .dev-command-stats .rank-stat-card {
    order: -1;
    grid-column: 1 / -1;
    min-height: 134px;
    padding: 18px;
    border-color: rgba(144, 92, 174, 0.52) !important;
    background:
      radial-gradient(circle at 92% 20%, rgba(144, 92, 174, 0.22), transparent 34%),
      linear-gradient(135deg, rgba(43, 255, 0, 0.12), rgba(144, 92, 174, 0.13)),
      var(--surface) !important;
  }

  body.route-admin-dev .dev-command-stats .rank-stat-card strong {
    color: var(--accent);
    font-size: clamp(2.2rem, 12vw, 3.2rem);
    line-height: 0.95;
  }

  body.route-admin-dev .dev-accepted-jobs,
  body.route-admin-dev .dev-public-jobs {
    gap: 14px;
  }

  body.route-admin-dev .dev-accepted-pager {
    justify-content: space-between;
    padding: 6px 0 0;
  }

  body.route-admin-dev .dev-accepted-pager button {
    min-width: 96px;
  }

  .sales-action-row {
    grid-template-columns: 1fr;
  }

  .sales-action-buttons {
    align-items: stretch;
    flex-direction: column;
  }

  .sales-action-buttons button {
    width: 100%;
  }
}

.gateway-page {
  display: grid;
  gap: 18px;
  width: min(100% - 56px, 1260px);
  margin: 28px auto 64px;
  padding: 28px;
  border: 1px solid #2a3632;
  border-radius: 8px;
  background:
    radial-gradient(circle at 88% 0%, rgba(0, 200, 190, 0.14), transparent 34%),
    #1f1f1f;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
}

.gateway-hero {
  display: flex;
  justify-content: space-between;
  gap: 18px;
}

.gateway-hero h2,
.gateway-detail h2 {
  margin: 3px 0;
  color: #fff;
  font-size: 1.8rem;
}

.gateway-hero p,
.gateway-detail p,
.gateway-token-field small {
  color: #aebfd3;
}

.gateway-icon {
  display: inline-grid;
  width: 48px;
  height: 48px;
  margin-right: 14px;
  border: 1px solid rgba(0, 204, 190, 0.5);
  border-radius: 12px;
  background: rgba(0, 204, 190, 0.12);
  vertical-align: middle;
}

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

.gateway-stats article,
.gateway-list article,
.gateway-detail {
  border: 1px solid #313b3a;
  border-radius: 8px;
  background: #121716;
}

.gateway-stats article {
  padding: 18px;
}

.gateway-stats small {
  display: block;
  color: #91a1b5;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.gateway-stats strong {
  display: block;
  margin-top: 12px;
  color: #fff;
  font-size: 1.6rem;
}

.gateway-grid {
  display: grid;
  grid-template-columns: 430px minmax(0, 1fr);
  gap: 18px;
}

.gateway-list {
  display: grid;
  align-content: start;
  gap: 12px;
}

.gateway-list article {
  display: grid;
  grid-template-columns: 58px 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 14px;
}

.gateway-list article.selected {
  border-color: #00c8be;
  background: linear-gradient(135deg, rgba(0, 200, 190, 0.16), rgba(0, 200, 83, 0.06));
}

.gateway-brand {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border-radius: 8px;
  background: #20282a;
  color: #c7f8ef;
  font-size: 0.75rem;
  font-weight: 950;
  text-transform: lowercase;
}

.gateway-list strong,
.gateway-detail label {
  color: #fff;
  font-weight: 900;
}

.gateway-list small {
  display: block;
  margin-top: 4px;
  color: #9fb0c3;
}

.gateway-list b {
  padding: 8px 12px;
  border-radius: 999px;
  background: #293138;
  color: #bdd0e4;
  font-size: 0.7rem;
  text-transform: uppercase;
}

.gateway-list b.on {
  background: rgba(0, 200, 83, 0.18);
  color: #25e875;
}

.gateway-detail {
  padding: 22px;
}

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

.gateway-detail-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid #313b3a;
}

.gateway-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: max-content;
  padding: 8px 12px;
  border: 1px solid #354342;
  border-radius: 999px;
  background: #111514;
  color: #fff;
  cursor: pointer;
}

.gateway-toggle input {
  position: absolute;
  opacity: 0;
}

.gateway-toggle span {
  position: relative;
  width: 46px;
  height: 26px;
  border-radius: 999px;
  background: #30363a;
}

.gateway-toggle span::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #fff;
  transition: transform 160ms ease;
}

.gateway-toggle input:checked + span {
  background: #00c853;
}

.gateway-toggle input:checked + span::after {
  transform: translateX(20px);
}

.gateway-token-field {
  display: grid;
  gap: 10px;
  color: #aebfd3;
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.gateway-token-field input {
  min-height: 54px;
  border-color: #9ee6b5;
  background: #0b0f0e;
  color: #fff;
  font-size: 1rem;
  letter-spacing: 0.08em;
}

.gateway-webhook {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid #2f383a;
  border-radius: 8px;
  background: #111514;
}

.gateway-webhook small {
  color: #8da0b4;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.gateway-webhook code {
  color: #caf4d7;
  overflow-wrap: anywhere;
}

.gateway-save {
  min-height: 52px;
  background: #ffc247;
  color: #140f04;
}

.withdraw-admin-panel {
  display: grid;
  gap: 14px;
  margin-top: 20px;
  padding: 24px;
  border: 1px solid #27332d;
  border-radius: 18px;
  background: rgba(18, 22, 20, 0.78);
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.18);
}

.withdraw-admin-panel .gateway-detail-head {
  margin-bottom: 4px;
}

.withdraw-admin-panel .gateway-detail-head > strong {
  display: inline-grid;
  min-width: 92px;
  min-height: 42px;
  place-items: center;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.12);
  color: #2bff00;
}

.withdraw-admin-empty,
.withdraw-admin-card {
  border: 1px solid #2c3832;
  border-radius: 12px;
  background: #0f1512;
}

.withdraw-admin-empty {
  padding: 18px;
  color: #a9b9b0;
}

.withdraw-admin-card {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) minmax(220px, 1.35fr) minmax(190px, 1.05fr) minmax(110px, 0.55fr) minmax(260px, 1.2fr);
  gap: 14px;
  align-items: center;
  padding: 16px;
}

.withdraw-admin-card small,
.withdraw-admin-card span {
  display: block;
  color: #9fb2a7;
}

.withdraw-admin-card strong {
  display: block;
  color: #fff;
}

.withdraw-admin-card b {
  display: inline-flex;
  width: fit-content;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(255, 176, 31, 0.14);
  color: #ffb01f;
}

.withdraw-admin-card.status-pago b {
  background: rgba(43, 255, 0, 0.14);
  color: #2bff00;
}

.withdraw-admin-card.status-rejeitado b {
  background: rgba(255, 70, 80, 0.14);
  color: #ff4650;
}

.withdraw-admin-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.withdraw-admin-actions form {
  margin: 0;
}

.withdraw-admin-actions button {
  min-height: 40px;
  padding-inline: 12px;
  border: 1px solid #33423b;
  border-radius: 8px;
  background: #18211d;
  color: #dcece3;
  font-weight: 900;
}

.withdraw-admin-actions button.confirm {
  border-color: rgba(43, 255, 0, 0.4);
  background: #00c84f;
  color: #061409;
}

.withdraw-admin-actions button.reject {
  border-color: rgba(255, 70, 80, 0.45);
  background: rgba(255, 70, 80, 0.12);
  color: #ff737b;
}

.payment-hub-page {
  display: grid;
  grid-template-columns: minmax(240px, 330px) minmax(0, 1fr);
  gap: 42px;
  width: min(100% - 48px, 1180px);
  margin: 64px auto 84px;
}

.payment-hub-side {
  position: sticky;
  top: 118px;
  align-self: start;
}

/* O resumo do checkout de planos deve acompanhar o fluxo normal da pagina. */
.plan-checkout-page .payment-hub-side {
  position: static;
  top: auto;
}

.payment-hub-side h1 {
  margin: 12px 0;
  font-size: clamp(2.4rem, 6vw, 4.8rem);
  line-height: 0.95;
}

.payment-hub-side p,
.payment-hero-card p,
.payment-card p,
.payment-list-clear,
.payment-breakdown small {
  color: var(--muted);
}

.payment-hub-main {
  display: grid;
  gap: 18px;
}

.payment-hero-card,
.payment-card,
.payment-empty {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 18px 50px rgba(22, 25, 29, 0.06);
}

.payment-hero-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 28px;
}

.payment-hero-card span {
  color: var(--muted);
  font-weight: 700;
}

.payment-hero-card h2 {
  margin: 10px 0 6px;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
}

.payment-hero-card > strong {
  color: var(--brand);
  font-size: clamp(1.8rem, 4vw, 3rem);
  white-space: nowrap;
}

.plan-checkout-hero {
  position: relative;
  align-items: center;
  overflow: hidden;
  isolation: isolate;
  border-color: rgba(203, 145, 239, 0.54);
  background:
    radial-gradient(circle at 9% 5%, rgba(255, 255, 255, 0.17), transparent 27%),
    radial-gradient(circle at 91% 14%, rgba(43, 255, 0, 0.18), transparent 32%),
    linear-gradient(135deg, #9c55bf 0%, #6d2997 42%, #3d126d 100%);
  color: #fff;
  box-shadow: 0 20px 48px rgba(74, 20, 112, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.plan-checkout-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(115deg, rgba(255, 255, 255, 0.08), transparent 38%, rgba(0, 0, 0, 0.1));
  pointer-events: none;
}

.plan-checkout-hero > div {
  position: relative;
  z-index: 2;
}

.plan-checkout-hero > div:first-of-type > span {
  display: inline-flex;
  min-height: 30px;
  align-items: center;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.12);
  color: #f5dcff;
  font-size: 0.73rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  backdrop-filter: blur(8px);
}

.plan-checkout-hero h2 {
  color: #fff;
  text-shadow: 0 8px 22px rgba(35, 4, 55, 0.25);
}

.plan-checkout-hero p,
body.theme-dark:not(.route-admin-mestre) .plan-checkout-hero p {
  color: rgba(255, 255, 255, 0.78);
}

.plan-checkout-watermark {
  position: absolute;
  z-index: 0;
  top: 50%;
  right: -24px;
  width: 150px;
  height: 150px;
  object-fit: contain;
  opacity: 0.13;
  filter: grayscale(0.25) contrast(1.08);
  transform: translateY(-50%) rotate(-7deg);
  pointer-events: none;
}

.plan-checkout-badge {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 150px;
  justify-content: center;
  padding: 12px 16px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.38);
  background: linear-gradient(135deg, rgba(20, 55, 24, 0.52), rgba(26, 19, 43, 0.58));
  color: #fff;
  font-weight: 950;
  backdrop-filter: blur(10px);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.12);
}

.plan-checkout-badge img {
  width: 46px;
  height: 46px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.18));
}

@media (max-width: 680px) {
  .plan-checkout-hero {
    align-items: stretch;
    gap: 22px;
    padding: 26px 22px;
  }

  .plan-checkout-badge {
    width: min(100%, 300px);
    min-width: 0;
    justify-self: start;
  }

  .plan-checkout-watermark {
    top: 34%;
    right: -34px;
    width: 132px;
    height: 132px;
  }
}

.plan-checkout-advantages {
  display: grid;
  gap: 18px;
  padding: clamp(20px, 4vw, 30px);
  border: 1px solid rgba(144, 92, 174, 0.3);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: 0 18px 42px rgba(17, 24, 39, 0.08);
}

.plan-checkout-advantages header {
  display: grid;
  gap: 7px;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--line);
}

.plan-checkout-advantages header > span {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.plan-checkout-advantages h3,
.plan-checkout-advantages p {
  margin: 0;
}

.plan-checkout-advantages h3 {
  color: var(--ink);
  font-size: clamp(1.35rem, 3vw, 2rem);
}

.plan-checkout-advantages header p {
  color: var(--accent);
  font-weight: 800;
  line-height: 1.5;
}

.plan-checkout-advantages ul {
  display: grid;
  gap: 10px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.plan-checkout-advantages li {
  position: relative;
  display: grid;
  grid-template-columns: 42px auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 9px 12px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface) 92%, var(--accent));
  color: var(--ink);
}

.plan-checkout-advantage-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #a85fda, #7431a8);
  color: #fff;
  font-size: 0.76rem;
  font-weight: 950;
}

.plan-checkout-icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.plan-checkout-advantage-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.plan-checkout-advantages li > strong {
  display: grid;
  min-width: 48px;
  min-height: 32px;
  place-items: center;
  padding: 5px 8px;
  border-radius: 9px;
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
  color: var(--accent);
}

.plan-checkout-advantages li > span:last-child {
  font-weight: 750;
  line-height: 1.35;
}

.plan-checkout-advantages li.is-referral-advantage {
  border: 2px solid rgba(43, 255, 0, 0.72);
  background: linear-gradient(105deg, rgba(43, 255, 0, 0.14), color-mix(in srgb, var(--surface) 94%, var(--accent)) 60%);
  box-shadow: 0 0 0 4px rgba(43, 255, 0, 0.08);
}

.plan-checkout-advantages li.is-referral-advantage::after {
  content: "DESTAQUE";
  position: absolute;
  top: -10px;
  right: 12px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #2bff00;
  color: #17300e;
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.08em;
}

.plan-checkout-advantages li.is-referral-advantage .plan-checkout-advantage-icon {
  background: linear-gradient(135deg, #2bff00, #7c35b2);
}

.plan-checkout-advantages li.is-referral-advantage > strong {
  background: #2bff00;
  color: #18300f;
}

.plan-checkout-advantages-note {
  display: grid;
  grid-template-columns: 34px 1fr;
  align-items: center;
  gap: 11px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface) 94%, var(--accent));
}

.plan-checkout-advantages-note > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 9px;
  background: linear-gradient(135deg, #a85fda, #7431a8);
  color: #fff;
  font-weight: 950;
}

.plan-checkout-advantages-note p {
  color: var(--muted);
  line-height: 1.45;
}

@media (max-width: 560px) {
  .plan-checkout-advantages li {
    grid-template-columns: 42px auto minmax(0, 1fr);
    padding-inline: 10px;
  }

  .plan-checkout-advantages li > strong {
    min-width: 44px;
  }
}

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

.payment-card {
  display: grid;
  align-content: start;
  gap: 18px;
  padding: 24px;
}

.payment-card.span-2 {
  grid-column: span 2;
}

.payment-card-head h3 {
  margin: 6px 0 0;
  font-size: 1.45rem;
}

.payment-dev-card {
  gap: 16px;
}

.payment-dev-profile {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  align-items: center;
  gap: 15px;
}

.payment-dev-avatar {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--brand) 38%, var(--line));
  border-radius: 8px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--surface)), color-mix(in srgb, var(--brand) 22%, var(--surface)));
  color: var(--ink);
  font-size: 1.25rem;
  font-weight: 950;
}

.payment-dev-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.payment-dev-profile h3 {
  margin: 0 0 5px;
  color: var(--ink);
  font-size: 1.4rem;
  line-height: 1.08;
}

.payment-dev-profile strong {
  color: var(--brand);
  font-size: 0.92rem;
}

.payment-dev-rating {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 9px;
  line-height: 1;
}

.payment-dev-stars {
  display: inline-flex;
  gap: 2px;
  margin: 0;
}

.payment-dev-stars i {
  color: transparent;
  background: linear-gradient(90deg, #f5b942 var(--star-fill), #d6d9d4 var(--star-fill));
  background-clip: text;
  -webkit-background-clip: text;
  font-size: 1rem;
  font-style: normal;
  filter: drop-shadow(0 1px 1px rgba(104, 69, 0, 0.12));
}

.payment-dev-rating b {
  color: var(--ink);
  font-size: 0.82rem;
}

.payment-dev-rating small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 720;
}

.payment-dev-highlight {
  margin: 0;
  line-height: 1.5;
}

.payment-dev-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.payment-dev-meta span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 750;
}

.payment-dev-meta b {
  color: var(--ink);
  font-size: 1.02rem;
}

.payment-dev-privacy {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid color-mix(in srgb, var(--brand) 24%, var(--line));
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 7%, var(--surface));
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 750;
  line-height: 1.4;
}

.payment-dev-privacy svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: var(--brand);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.payment-dev-privacy.is-unlocked {
  border-color: color-mix(in srgb, var(--accent) 42%, var(--line));
  background: color-mix(in srgb, var(--accent) 9%, var(--surface));
}

.payment-dev-privacy.is-unlocked svg {
  stroke: var(--accent);
}

.payment-method-card button,
.payment-method-card .btn {
  width: 100%;
}

.secondary-payment-action {
  border: 2px solid var(--accent);
  background: transparent;
  color: var(--accent);
}

.pix-box {
  display: grid;
  gap: 14px;
  justify-items: center;
  text-align: center;
}

.pix-box img {
  width: min(240px, 100%);
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  padding: 12px;
}

.pix-box label {
  display: grid;
  gap: 8px;
  width: 100%;
  max-width: 360px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pix-box textarea {
  min-height: 92px;
  resize: vertical;
  font-size: 0.82rem;
  line-height: 1.45;
  text-align: left;
}

.payment-approved {
  padding: 18px;
  border: 1px solid rgba(43, 255, 0, 0.32);
  border-radius: 8px;
  background: rgba(43, 255, 0, 0.1);
  color: var(--brand);
  font-weight: 900;
}

.plan-success-modal {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 28px;
}

.plan-success-modal.open {
  display: flex;
}

.plan-success-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(11, 15, 13, 0.68);
  backdrop-filter: blur(10px);
}

.plan-success-card {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(320px, 1.1fr);
  width: min(1040px, 100%);
  min-height: 500px;
  overflow: hidden;
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 34px 90px rgba(8, 12, 10, 0.34);
}

.plan-success-close {
  position: absolute;
  top: 22px;
  right: 24px;
  z-index: 3;
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  font-weight: 950;
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
}

.plan-success-visual {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 22px;
  padding: 56px;
  background:
    radial-gradient(circle at 46% 38%, rgba(247, 201, 74, 0.26), transparent 30%),
    linear-gradient(140deg, rgba(43, 255, 0, 0.11), rgba(144, 92, 174, 0.18));
}

.plan-success-coin {
  display: grid;
  place-items: center;
  width: min(260px, 68vw);
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 255, 255, 0.72), rgba(144, 92, 174, 0.12) 58%, transparent 59%);
  box-shadow: 0 28px 80px rgba(144, 92, 174, 0.26);
}

.plan-success-coin img {
  width: 78%;
  height: 78%;
  object-fit: contain;
  filter: drop-shadow(0 24px 28px rgba(0, 0, 0, 0.25));
  animation: planCoinFloat 2.8s ease-in-out infinite;
}

.plan-success-visual strong {
  color: var(--accent);
  font-size: clamp(2rem, 5vw, 4.2rem);
  font-weight: 950;
}

.plan-success-copy {
  display: grid;
  align-content: center;
  gap: 18px;
  padding: clamp(36px, 7vw, 72px);
}

.plan-success-copy h2 {
  margin: 0;
  max-width: 12ch;
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  line-height: 0.98;
}

.plan-success-copy p {
  max-width: 560px;
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.7;
}

.plan-success-copy .btn {
  justify-self: start;
  min-width: 240px;
}

.client-payment-success-card .plan-success-copy h2 {
  max-width: 13ch;
  font-size: clamp(2.2rem, 4.2vw, 3.35rem);
  line-height: 1.04;
}

.client-payment-success-card .plan-success-copy p {
  max-width: 460px;
}

.client-payment-success-card .plan-success-copy > .btn,
.client-payment-success-details,
.client-payment-success-option {
  width: 100%;
  max-width: 430px;
}

.client-payment-success-card .plan-success-copy > .btn {
  justify-self: start;
}

.client-payment-success-details {
  display: grid;
  gap: 6px;
  padding: 16px 18px;
  border: 1px solid rgba(43, 255, 0, 0.26);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.07)),
    var(--surface-soft);
  box-shadow: 0 18px 46px rgba(10, 18, 14, 0.07);
}

.client-payment-success-details span {
  color: var(--brand);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.client-payment-success-details strong {
  color: var(--ink);
  font-size: 1.02rem;
  line-height: 1.25;
}

.client-payment-success-details strong + span {
  margin-top: 8px;
}

.client-payment-success-option {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.06), rgba(144, 92, 174, 0.07));
  color: var(--muted);
  font-weight: 850;
  cursor: pointer;
}

.client-payment-success-option input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  padding: 0;
  accent-color: var(--brand);
}

.dev-payment-approved-card {
  border: 1px solid rgba(43, 255, 0, 0.2);
}

.dev-payment-approved-card .plan-success-copy h2 {
  max-width: 11ch;
}

.dev-payment-approved-card .plan-success-copy p strong {
  color: var(--ink);
}

.dev-payment-approved-job-card {
  display: grid;
  gap: 6px;
  width: 100%;
  max-width: 430px;
  padding: 16px 18px;
  border: 1px solid rgba(43, 255, 0, 0.28);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.1), rgba(144, 92, 174, 0.08)),
    var(--surface-soft);
  color: var(--ink);
  text-decoration: none;
  box-shadow: 0 18px 46px rgba(10, 18, 14, 0.08);
  transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.dev-payment-approved-job-card:hover {
  border-color: rgba(43, 255, 0, 0.48);
  box-shadow: 0 22px 56px rgba(10, 18, 14, 0.14);
  transform: translateY(-2px);
}

.dev-payment-approved-job-card span {
  color: var(--brand);
  font-size: 0.74rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dev-payment-approved-job-card strong {
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.2;
}

.dev-payment-approved-job-card small {
  color: var(--muted);
  font-weight: 850;
}

.dev-payment-approved-option {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  width: 100%;
  max-width: 430px;
  padding: 12px 14px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.06), rgba(144, 92, 174, 0.07));
  color: var(--muted);
  font-weight: 850;
  cursor: pointer;
}

.dev-payment-approved-card .plan-success-copy > .btn {
  width: 100%;
  max-width: 430px;
  justify-self: start;
}

.dev-payment-approved-option input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  padding: 0;
  accent-color: var(--brand);
}

.plan-celebration-confetti {
  position: fixed;
  top: -18px;
  z-index: 1600;
  width: 10px;
  height: 16px;
  border-radius: 3px;
  background: var(--confetti-color, #905CAE);
  pointer-events: none;
  animation: planCelebrationConfetti 1050ms ease-out forwards;
}

@keyframes planCoinFloat {
  0%,
  100% {
    transform: translateY(0) rotate(-2deg);
  }
  50% {
    transform: translateY(-10px) rotate(3deg);
  }
}

@keyframes planCelebrationConfetti {
  0% {
    opacity: 1;
    transform: translate3d(0, 0, 0) rotate(0deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(var(--confetti-x), var(--confetti-y), 0) rotate(var(--confetti-rotate));
  }
}

.payment-list-clear {
  display: grid;
  gap: 12px;
  margin: 0;
  padding-left: 18px;
}

.payment-list-clear li::marker {
  color: var(--accent);
}

.payment-list-clear .payment-service-request {
  display: grid;
  gap: 5px;
  margin: 0 0 4px -18px;
  padding: 14px 15px;
  border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--line));
  border-radius: 8px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 9%, var(--surface)), color-mix(in srgb, var(--accent) 7%, var(--surface)));
  list-style: none;
}

.payment-service-request strong {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.payment-service-request span {
  color: var(--ink);
  font-size: 0.96rem;
  font-weight: 750;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.payment-breakdown {
  display: grid;
  gap: 10px;
}

.payment-breakdown div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--line);
}

.payment-breakdown span {
  color: var(--muted);
}

.payment-breakdown div > strong {
  min-width: max-content;
  white-space: nowrap;
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.payment-breakdown .payment-breakdown-total {
  margin-top: 4px;
  padding: 14px 16px;
  border: 1px solid color-mix(in srgb, var(--brand) 34%, var(--line));
  border-radius: 10px;
  background: color-mix(in srgb, var(--brand) 8%, var(--surface));
}

.payment-breakdown-total span,
.payment-breakdown-total strong {
  color: var(--ink);
  font-weight: 900;
}

.payment-breakdown-total strong {
  color: var(--brand);
  font-size: 1.08rem;
}

.payment-breakdown .payment-breakdown-total-label {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  gap: 10px;
}

.payment-breakdown-total-label i {
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.22), rgba(144, 92, 174, 0.2));
  color: var(--brand);
}

.payment-breakdown-total-label svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.payment-breakdown-total-label b {
  color: var(--ink);
  line-height: 1.25;
}

@media (max-width: 480px) {
  .payment-breakdown div {
    gap: 10px;
  }

  .payment-breakdown div > strong {
    font-size: 0.96rem;
  }

  .payment-breakdown .payment-breakdown-total {
    padding: 12px;
  }

  .payment-breakdown-total-label i {
    flex-basis: 32px;
    width: 32px;
    height: 32px;
  }

  .payment-breakdown-total-label b {
    font-size: 0.9rem;
  }
}

.guarantee-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.guarantee-grid div {
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 7%, var(--surface));
}

.guarantee-grid strong,
.guarantee-grid span {
  display: block;
}

.guarantee-grid span {
  margin-top: 8px;
  color: var(--muted);
}

.guarantee-grid .guarantee-icon {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  margin: 0 0 14px;
  border: 1px solid color-mix(in srgb, var(--brand) 34%, var(--line));
  border-radius: 12px;
  color: var(--brand);
  background: color-mix(in srgb, var(--brand) 11%, var(--surface));
  box-shadow: 0 10px 24px color-mix(in srgb, var(--brand) 10%, transparent);
}

.guarantee-icon svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.payment-empty {
  width: min(100% - 32px, 620px);
  margin: 80px auto;
  padding: 30px;
}

body.theme-dark .payment-hero-card,
body.theme-dark .payment-card,
body.theme-dark .payment-empty {
  border-color: rgba(255, 255, 255, 0.14);
  background: #101714;
  box-shadow: none;
}

body.theme-dark .payment-hero-card > strong,
body.theme-dark .payment-approved {
  color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .dev-payment-approved-card {
  border-color: rgba(43, 255, 0, 0.24);
  background: #121916;
}

body.theme-dark:not(.route-admin-mestre) .dev-payment-approved-card .plan-success-copy p strong {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .dev-payment-approved-option {
  border-color: rgba(144, 92, 174, 0.32);
  background: rgba(16, 23, 20, 0.88);
  color: #c9d6cf;
}

body.theme-dark .secondary-payment-action {
  color: #905CAE;
  border-color: #905CAE;
}

@media (max-width: 980px) {
  .gateway-page {
    width: min(100% - 24px, 680px);
    padding: 18px;
  }

  .gateway-stats,
  .gateway-grid {
    grid-template-columns: 1fr;
  }

  .gateway-detail-head {
    display: grid;
  }

  .payment-hub-page,
  .payment-grid,
  .guarantee-grid {
    grid-template-columns: 1fr;
  }

  .payment-hub-page {
    width: min(100% - 24px, 680px);
    gap: 24px;
    margin-top: 34px;
  }

  .payment-hub-side {
    position: static;
  }

  .payment-card.span-2 {
    grid-column: auto;
  }

  .payment-hero-card {
    display: grid;
  }

  .plan-success-modal {
    padding: 14px;
  }

  .plan-success-card {
    grid-template-columns: 1fr;
    min-height: 0;
    max-height: min(86vh, 760px);
    overflow-y: auto;
  }

  .plan-success-close {
    top: 12px;
    right: 12px;
    width: 44px;
  }

  .plan-success-visual {
    padding: 34px 24px 24px;
  }

  .plan-success-coin {
    width: min(190px, 62vw);
  }

  .plan-success-copy {
    padding: 28px 24px 34px;
  }

  .plan-success-copy h2 {
    max-width: 100%;
    font-size: clamp(2rem, 12vw, 3.4rem);
  }

  .client-payment-success-card .plan-success-copy h2 {
    font-size: clamp(2rem, 9vw, 2.75rem);
    line-height: 1.06;
  }

  .plan-success-copy .btn {
    justify-self: stretch;
  }
}

@media (max-width: 640px) {
  body.route-admin-cliente > main,
  body.route-admin-cliente > .site-footer {
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  body.route-admin-cliente .client-dashboard {
    display: grid;
    grid-template-columns: minmax(0, 1fr) !important;
    width: calc(100% - 20px) !important;
    min-width: 0;
    max-width: none;
    gap: 24px;
    margin-inline: auto;
  }

  body.route-admin-cliente .client-dashboard > .dashboard-side,
  body.route-admin-cliente .client-dashboard > .dashboard-main,
  body.route-admin-cliente .client-dashboard article,
  body.route-admin-cliente .client-dashboard section {
    min-width: 0;
    max-width: 100%;
  }

  body.route-admin-cliente .site-footer {
    box-sizing: border-box;
    overflow-x: hidden;
  }

  body.route-admin-cliente .site-footer-inner {
    width: calc(100% - 28px);
    max-width: 100%;
  }

  .client-payment-success-modal {
    align-items: flex-start;
    padding: max(10px, env(safe-area-inset-top)) 10px max(10px, env(safe-area-inset-bottom));
    overflow: hidden;
  }

  .client-payment-success-card {
    display: grid;
    grid-template-columns: 1fr;
    width: 100%;
    min-height: 0;
    max-height: calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
    border-radius: 14px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .client-payment-success-card .plan-success-visual {
    grid-template-columns: auto 1fr;
    min-height: 132px;
    gap: 18px;
    padding: 22px 54px 20px 22px;
  }

  .client-payment-success-card .plan-success-coin {
    width: 88px;
  }

  .client-payment-success-card .plan-success-visual strong {
    justify-self: start;
    font-size: 1.8rem;
  }

  .client-payment-success-card .plan-success-copy {
    gap: 13px;
    padding: 22px 20px 24px;
  }

  .client-payment-success-card .plan-success-copy h2 {
    max-width: 16ch;
    font-size: clamp(1.75rem, 8vw, 2.15rem);
    line-height: 1.04;
  }

  .client-payment-success-card .plan-success-copy p {
    margin: 0;
    font-size: 0.9rem;
    line-height: 1.5;
  }

  .client-payment-success-details {
    padding: 13px 14px;
  }

  .client-payment-success-option {
    padding: 10px 12px;
    font-size: 0.84rem;
  }

  .client-payment-success-card .plan-success-copy > .btn {
    min-height: 48px;
    min-width: 0;
  }

  .client-milestone-alert {
    top: 76px;
    right: 10px;
    left: auto;
    bottom: auto;
    width: min(330px, calc(100vw - 20px));
    padding: 13px 44px 13px 15px;
    border-radius: 13px;
    box-shadow: 0 14px 34px rgba(47, 11, 64, 0.3);
  }

  .client-milestone-alert > span {
    margin-bottom: 3px;
    font-size: 0.64rem;
  }

  .client-milestone-alert > strong {
    font-size: 0.96rem;
  }

  .client-milestone-alert > p {
    margin: 4px 0 7px;
    font-size: 0.8rem;
    line-height: 1.35;
  }

  .client-milestone-alert > a {
    font-size: 0.8rem;
  }

  .client-milestone-alert > button {
    top: 7px;
    right: 7px;
  }
}

* {
  box-sizing: border-box;
}

html {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  scroll-behavior: smooth;
}

html.freela-inertial-scroll {
  scroll-behavior: auto;
}

body {
  width: 100%;
  max-width: 100%;
  overflow-x: clip;
  margin: 0;
  background: var(--bg);
  color: var(--ink);
  font-family: "DM Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.5;
}

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

button,
input,
textarea,
select {
  font: inherit;
}

.topbar {
  position: sticky;
  top: 0;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 16px clamp(18px, 4vw, 56px);
  border-bottom: 1px solid rgba(22, 25, 29, 0.08);
  background: rgba(246, 244, 239, 0.94);
  backdrop-filter: blur(12px);
}

.brand {
  display: flex;
  align-items: center;
  gap: 0;
  min-width: 0;
}

.brand-mark {
  display: grid;
  width: 176px;
  height: 44px;
  place-items: center;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-weight: 800;
}

.brand-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.brand-mark picture {
  display: block;
  width: 100%;
  height: 100%;
}

.brand strong,
.brand small {
  display: block;
}

.brand small,
.eyebrow,
.form-note,
.footer,
.task-card span,
.project-focus span {
  color: var(--muted);
  font-size: 0.83rem;
}

.nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
}

.nav a {
  min-height: 38px;
  padding: 9px 12px;
  border-radius: 8px;
  color: var(--muted);
  font-weight: 700;
}

.nav a:hover,
.nav a.active {
  background: var(--surface);
  color: var(--ink);
}

main {
  min-height: calc(100vh - 150px);
}

.hero,
.section,
.split-section,
.page-head,
.form-layout,
.dashboard-shell {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
}

body.route-contratar .page-head,
body.route-contratar .form-layout {
  width: min(1360px, calc(100% - 48px));
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, 0.75fr);
  gap: 44px;
  align-items: center;
  padding: clamp(46px, 8vw, 92px) 0 34px;
}

.hero h1,
.page-head h1,
.dashboard-side h1 {
  max-width: 820px;
  margin: 10px 0 18px;
  font-size: clamp(2.35rem, 6vw, 5rem);
  line-height: 0.96;
  letter-spacing: 0;
}

.hero p,
.page-head p,
.split-section p,
.dashboard-side p {
  max-width: 650px;
  color: var(--muted);
  font-size: 1.08rem;
}

.eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 800;
  text-transform: uppercase;
}

.eyebrow::before {
  content: "";
  width: 26px;
  height: 2px;
  background: var(--accent);
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.btn,
button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 12px 18px;
  border: 1px solid transparent;
  border-radius: 8px;
  cursor: pointer;
  font-weight: 800;
}

.btn.is-analyzing,
button.is-analyzing {
  position: relative;
  overflow: hidden;
  pointer-events: none;
  transform: translateY(1px);
  box-shadow: 0 0 0 6px rgba(43, 255, 0, 0.12), 0 14px 34px rgba(43, 255, 0, 0.22);
}

.btn.is-analyzing::after,
button.is-analyzing::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 0%, rgba(255, 255, 255, 0.34) 45%, transparent 70%);
  transform: translateX(-100%);
  animation: ai-button-scan 0.85s ease-in-out infinite;
}

@keyframes ai-button-scan {
  to {
    transform: translateX(100%);
  }
}

.btn.primary,
button {
  background: var(--brand);
  color: #fff;
}

.btn.primary:hover,
button:hover {
  background: var(--brand-strong);
}

.btn.ghost {
  border-color: var(--line);
  background: var(--surface);
}

.hero-panel,
.intake-card,
.aside-panel,
.talent-card,
.project-focus,
.board-column,
.task-card,
.table-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.hero-panel {
  padding: 26px;
}

.panel-header,
.project-focus,
.table-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.panel-header strong,
.project-focus strong {
  font-size: 2.2rem;
}

.progress {
  overflow: hidden;
  height: 10px;
  margin: 18px 0;
  border-radius: 999px;
  background: #ebe8df;
}

.progress.large {
  height: 14px;
}

.progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand), var(--accent));
  transition: width 1100ms cubic-bezier(0.22, 1, 0.36, 1);
}

.signal-list,
.check-list,
.timeline {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.signal-list li,
.feature-list div {
  display: grid;
  gap: 2px;
  padding: 14px 0;
  border-top: 1px solid var(--line);
}

.signal-list span,
.feature-list span,
.workflow-card p,
.talent-card p,
.task-card p,
.message p {
  margin: 0;
  color: var(--muted);
}

.metrics-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(1180px, calc(100% - 36px));
  margin: 28px auto;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-strong);
  color: #fff;
}

.metrics-band article {
  display: grid;
  gap: 4px;
  padding: 24px;
  border-right: 1px solid rgba(255, 255, 255, 0.12);
}

.metrics-band article:last-child {
  border-right: 0;
}

.metrics-band strong {
  font-size: clamp(2rem, 4vw, 3.3rem);
  line-height: 1;
}

.metrics-band small {
  color: rgba(255, 255, 255, 0.68);
}

.metrics-band.compact {
  width: 100%;
  margin: 0 0 22px;
}

.section,
.split-section,
.page-head,
.form-layout,
.dashboard-shell {
  padding: 54px 0;
}

.section-heading {
  max-width: 720px;
  margin-bottom: 24px;
}

.section-heading h2,
.split-section h2,
.aside-panel h2,
.table-card h2 {
  margin: 8px 0 12px;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.04;
  letter-spacing: 0;
}

.workflow-grid,
.talent-grid,
.dashboard-grid,
.kanban {
  display: grid;
  gap: 18px;
}

.workflow-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.workflow-card {
  min-height: 250px;
  padding: 22px;
  border-top: 3px solid var(--brand);
  background: rgba(255, 255, 255, 0.58);
}

.workflow-card span {
  color: var(--accent);
  font-weight: 900;
}

.split-section {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(320px, 0.65fr);
  gap: 36px;
  align-items: center;
}

.feature-list {
  position: relative;
  display: grid;
  gap: 26px;
  padding: 8px 18px;
}

.feature-list div {
  position: relative;
  overflow: visible;
  min-height: 86px;
  align-content: center;
  padding: 18px 96px 18px 22px;
  border: 1px solid var(--line);
  border-radius: 24px;
  background: var(--surface);
  transition: transform .26s cubic-bezier(.2, .8, .2, 1), border-color 220ms ease;
}

.feature-list div:nth-child(1),
.feature-list div:nth-child(3) {
  transform: translateX(-14px);
}

.feature-list div:nth-child(2) {
  transform: translateX(14px);
}

.feature-list div:nth-child(1) {
  border-color: rgba(144, 92, 174, .42);
}

.feature-list div:nth-child(2) {
  border-color: rgba(43, 255, 0, .38);
}

.feature-list div:nth-child(3) {
  border-color: rgba(126, 139, 147, .36);
}

@media (hover: hover) and (min-width: 761px) {
  .feature-list div:nth-child(1):hover,
  .feature-list div:nth-child(3):hover {
    transform: translateX(-14px) translateY(-4px) rotate(-1.8deg) scale(1.01);
  }

  .feature-list div:nth-child(2):hover {
    transform: translateX(14px) translateY(-4px) rotate(1.8deg) scale(1.01);
  }
}

.feature-list div::after {
  content: "";
  position: absolute;
  z-index: 3;
  bottom: -20px;
  left: 52%;
  width: 14px;
  height: 14px;
  border-right: 2px solid rgba(144, 92, 174, .72);
  border-bottom: 2px solid rgba(144, 92, 174, .72);
  transform: translateX(-50%) rotate(45deg);
  pointer-events: none;
}

.feature-list div:nth-child(2)::after {
  left: 48%;
  border-color: rgba(43, 255, 0, .72);
}

.feature-list div:last-child::after {
  content: none;
}

.feature-list .feature-list-icon {
  position: absolute;
  right: 12px;
  bottom: 4px;
  width: 72px;
  height: 72px;
  fill: none;
  stroke: rgba(144, 92, 174, 0.46);
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .8;
  pointer-events: none;
}

.feature-list .feature-list-portrait {
  position: absolute;
  z-index: 2;
  right: -8px;
  bottom: 0;
  width: 92px;
  height: 112px;
  object-fit: contain;
  object-position: center bottom;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 8px 8px rgba(18, 12, 24, .12));
}

.feature-list div:nth-child(2) .feature-list-portrait {
  right: -12px;
  bottom: -12px;
  width: 94px;
  height: 110px;
}

.feature-list div:nth-child(3) .feature-list-portrait {
  right: -5px;
  width: 90px;
  height: 108px;
}

.feature-list div:nth-child(2) .feature-list-icon {
  stroke: rgba(43, 255, 0, 0.52);
}

.feature-list div:nth-child(3) .feature-list-icon {
  stroke: rgba(22, 28, 35, 0.30);
}

body.theme-dark:not(.route-admin-mestre) .feature-list div:nth-child(3) .feature-list-icon {
  stroke: rgba(247, 255, 249, 0.34);
}

@media (max-width: 760px) {
  .feature-list {
    padding-inline: 0;
  }

  .feature-list div,
  .feature-list div:nth-child(1),
  .feature-list div:nth-child(2),
  .feature-list div:nth-child(3) {
    transform: none;
  }

  .feature-list .feature-list-portrait,
  .feature-list div:nth-child(3) .feature-list-portrait {
    right: -4px;
    width: 82px;
    height: 100px;
  }

  .feature-list div:nth-child(2) .feature-list-portrait {
    right: -4px;
    bottom: -10px;
    width: 78px;
    height: 94px;
  }
}

.feature-icon-check {
  stroke-dasharray: 15;
  stroke-dashoffset: 15;
  animation: featureClientCheck 3.6s ease-in-out infinite;
}

.feature-icon-status-ring {
  transform-box: fill-box;
  transform-origin: center;
  animation: featureClientConfirm 3.6s ease-in-out infinite;
}

.feature-icon-briefcase {
  transform-box: fill-box;
  transform-origin: center bottom;
  animation: featureFreelaBriefcase 3.4s cubic-bezier(.2, .8, .2, 1) infinite;
}

.feature-icon-opportunity {
  stroke-dasharray: 18;
  stroke-dashoffset: 18;
  animation: featureFreelaOpportunity 3.4s ease-in-out infinite;
}

.feature-icon-gear {
  transform-origin: 32px 30px;
  animation: featureMasterGear 8s linear infinite;
}

.feature-icon-shield {
  animation: featureMasterShield 4s ease-in-out infinite;
}

@keyframes featureClientCheck {
  0%, 18% { stroke-dashoffset: 15; opacity: .3; }
  42%, 82% { stroke-dashoffset: 0; opacity: 1; }
  100% { stroke-dashoffset: 15; opacity: .3; }
}

@keyframes featureClientConfirm {
  0%, 28%, 100% { transform: scale(1); opacity: .72; }
  42% { transform: scale(1.12); opacity: 1; }
  54% { transform: scale(1); opacity: .8; }
}

@keyframes featureFreelaBriefcase {
  0%, 20%, 100% { transform: translateY(0); }
  34% { transform: translateY(-4px) rotate(-1deg); }
  44% { transform: translateY(0) rotate(1deg); }
  52% { transform: rotate(0); }
}

@keyframes featureFreelaOpportunity {
  0%, 12%, 100% { stroke-dashoffset: 18; opacity: 0; }
  30%, 62% { stroke-dashoffset: 0; opacity: 1; }
  78% { opacity: 0; }
}

@keyframes featureMasterGear {
  to { transform: rotate(360deg); }
}

@keyframes featureMasterShield {
  0%, 100% { opacity: .62; }
  50% { opacity: 1; }
}

@media (prefers-reduced-motion: reduce) {
  .feature-list div {
    transition: none;
  }

  .feature-list .feature-list-icon * {
    animation: none;
  }
  .feature-icon-check,
  .feature-icon-opportunity {
    stroke-dashoffset: 0;
    opacity: 1;
  }
}

@media (prefers-reduced-motion: reduce) and (hover: hover) and (min-width: 761px) {
  .feature-list div:nth-child(1):hover,
  .feature-list div:nth-child(3):hover {
    transform: translateX(-14px);
  }

  .feature-list div:nth-child(2):hover {
    transform: translateX(14px);
  }
}

.page-head {
  padding-bottom: 24px;
}

.page-head h1 {
  font-size: clamp(2.2rem, 5vw, 4.2rem);
}

.form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 22px;
  align-items: start;
  padding-top: 12px;
}

body.route-contratar .form-layout {
  grid-template-columns: minmax(0, 1fr);
  gap: 28px;
}

body.route-contratar .intake-card {
  padding: 28px;
}

.intake-card,
.aside-panel,
.board-column,
.table-card {
  padding: 24px;
}

.intake-card {
  display: grid;
  gap: 18px;
}

.hire-priority-panel {
  display: grid;
  gap: 18px;
  padding: 20px;
  overflow: visible;
  border: 1px solid rgba(144, 92, 174, 0.28);
  border-radius: 8px;
  position: relative;
  background:
    radial-gradient(circle at 8% 0%, rgba(43, 255, 0, 0.13), transparent 32%),
    radial-gradient(circle at 92% 4%, rgba(144, 92, 174, 0.24), transparent 34%),
    linear-gradient(135deg, rgba(43, 255, 0, 0.06), rgba(144, 92, 174, 0.08)),
    #ffffff;
}

.hire-priority-panel .assistant-plan-head {
  align-items: end;
  justify-content: flex-end;
}

.hire-priority-panel .assistant-plan-head strong {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  border: 1px solid rgba(144, 92, 174, 0.36);
  border-radius: 999px;
  background: linear-gradient(135deg, #351651, #6b31a5);
  color: #ffffff;
  box-shadow: 0 10px 24px rgba(74, 29, 112, 0.2);
}

.hire-priority-panel .assistant-plan-head strong::before {
  content: "";
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #2bff00;
  box-shadow: 0 0 0 4px rgba(43, 255, 0, 0.14);
}

.hire-priority-panel .assistant-plan-head span {
  position: absolute;
  z-index: 3;
  top: 0;
  left: 50%;
  padding: 7px 20px;
  border-radius: 999px;
  background: #2bff00;
  color: #172016;
  font-size: 0.82rem;
  line-height: 1;
  letter-spacing: 0.04em;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  box-shadow: 0 5px 14px rgba(43, 255, 0, 0.2);
}

.hire-priority-visual {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.hire-impact-card {
  display: grid;
  align-content: space-between;
  min-height: 190px;
  padding: 20px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.82);
  box-shadow: 0 14px 34px rgba(22, 25, 29, 0.06);
}

.hire-impact-card.reach {
  min-height: 190px;
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.72fr);
  column-gap: 20px;
  align-items: center;
  padding-bottom: 20px;
}

.hire-impact-card.reach > span,
.hire-impact-card.reach > strong {
  grid-column: 1;
}

.hire-impact-card.reach .hire-reach-flow {
  grid-column: 1;
}

.hire-budget-impact {
  position: relative;
  isolation: isolate;
  grid-column: 2;
  grid-row: 1 / span 3;
  align-self: stretch;
  display: grid;
  align-content: center;
  gap: 8px;
  min-width: 0;
  padding: 26px 24px 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: visible;
}

.hire-budget-impact span,
.hire-budget-impact strong,
.hire-budget-impact small {
  position: relative;
  z-index: 1;
  color: #2a2030 !important;
}

.hire-budget-impact span {
  color: #8b2ee8 !important;
}

.hire-budget-impact small {
  color: #626878 !important;
}

.hire-budget-paper {
  position: absolute;
  z-index: -1;
  inset: -16px -20px -18px;
  width: calc(100% + 40px);
  height: calc(100% + 34px);
  object-fit: fill;
  pointer-events: none;
  filter: drop-shadow(0 16px 19px rgba(45, 27, 52, .24));
}

.hire-budget-pin {
  position: absolute;
  z-index: 3;
  top: -35px;
  left: 50%;
  width: 48px;
  height: 59px;
  object-fit: contain;
  opacity: 0;
  pointer-events: none;
  filter: drop-shadow(0 7px 6px rgba(67, 16, 24, .3));
  transform-origin: 50% 82%;
  animation: hireNoticePinAttach 820ms cubic-bezier(.2, .92, .2, 1.16) 280ms both;
}

@media (prefers-reduced-motion: reduce) {
  .hire-budget-pin {
    animation: none;
    opacity: 1;
    transform: translate3d(-50%, 0, 0);
  }
}

.hire-budget-impact strong {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1;
}

.hire-budget-impact small {
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
}

.hire-impact-card span {
  color: #4f5b6c;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.hire-impact-card strong {
  color: #23113d;
  font-size: clamp(1.2rem, 2vw, 1.75rem);
  line-height: 1;
}

.hire-impact-card small {
  color: #667085;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.35;
}

.hire-impact-card.featured {
  position: relative;
  overflow: hidden;
  align-content: center;
  gap: 12px;
  border-color: rgba(144, 92, 174, 0.34);
  background:
    radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.16), transparent 28%),
    linear-gradient(135deg, #321755, #5f2ea3);
  color: #fff;
}

.hire-impact-card.featured::after {
  content: "";
  position: absolute;
  inset: auto 18px 16px auto;
  width: 96px;
  height: 96px;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.12);
  filter: blur(24px);
  pointer-events: none;
}

.hire-impact-card.featured span,
.hire-impact-card.featured small,
.hire-impact-card.featured strong {
  position: relative;
  z-index: 1;
  color: #fff;
}

.hire-impact-card.featured strong {
  font-size: clamp(2.35rem, 5.4vw, 4.8rem);
  letter-spacing: 0;
  text-shadow: 0 12px 28px rgba(10, 6, 20, 0.34), 0 0 22px rgba(255, 255, 255, 0.14);
}

.hire-impact-card.featured small {
  max-width: 34ch;
  font-size: 13px;
  font-weight: 950;
}

.hire-impact-meter {
  position: relative;
  height: 12px;
  overflow: visible;
  border-radius: 999px;
  background: rgba(35, 17, 61, 0.12);
}

.hire-impact-meter i {
  position: relative;
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand), var(--accent));
  transition: width 220ms ease;
}

.hire-impact-meter i img {
  position: absolute;
  z-index: 2;
  top: 50%;
  right: 0;
  width: clamp(48px, 4.4vw, 66px);
  height: auto;
  pointer-events: none;
  filter: drop-shadow(0 8px 10px rgba(35, 17, 61, 0.24));
  transform: translate(48%, -50%);
  transition: transform 220ms ease, filter 220ms ease;
}

.hire-impact-card.speed:hover .hire-impact-meter i img {
  filter: drop-shadow(0 10px 14px rgba(144, 92, 174, 0.34));
  transform: translate(48%, -50%) scale(1.06);
}

.hire-reach-flow {
  display: grid;
  gap: 7px;
  min-height: 82px;
  margin-top: 2px;
}

.hire-reach-flow svg {
  width: 100%;
  height: 82px;
  overflow: visible;
  border-radius: 8px;
  background:
    linear-gradient(rgba(35, 17, 61, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(35, 17, 61, 0.08) 1px, transparent 1px),
    linear-gradient(180deg, rgba(43, 255, 0, 0.07), rgba(144, 92, 174, 0.04));
  background-size: 100% 20px, 55px 100%, 100% 100%;
}

.hire-reach-area {
  fill: url(#hireReachFill);
  transition: d 260ms ease;
}

.hire-reach-path {
  fill: none;
  stroke: url(#hireReachLine);
  stroke-width: 6;
  stroke-linecap: round;
  filter: drop-shadow(0 8px 12px rgba(43, 255, 0, 0.16));
  transition: d 260ms ease;
}

.hire-reach-points circle {
  fill: #2bff00;
  stroke: #101214;
  stroke-width: 4.5;
  filter: drop-shadow(0 8px 12px rgba(43, 255, 0, 0.30));
  transition: cx 260ms ease, cy 260ms ease, fill 260ms ease;
}

.hire-reach-points circle[data-hire-reach-dot] {
  opacity: 0.38;
  transition: cx 260ms ease, cy 260ms ease, fill 260ms ease, opacity 180ms ease;
}

.hire-reach-points circle[data-hire-reach-dot].is-complete {
  opacity: 0.72;
}

.hire-reach-points circle[data-hire-reach-dot].is-active {
  opacity: 1;
  stroke-width: 5.5;
}

.hire-reach-points circle:nth-child(2) {
  fill: #905CAE;
  filter: drop-shadow(0 8px 12px rgba(144, 92, 174, 0.25));
}

.hire-reach-points circle:nth-child(3) {
  fill: #ffcd40;
  filter: drop-shadow(0 8px 12px rgba(255, 205, 64, 0.30));
}

.hire-reach-points circle:nth-child(4) {
  fill: #2bff00;
  filter: drop-shadow(0 8px 12px rgba(43, 255, 0, 0.3));
}

.hire-reach-points .hire-reach-loop {
  fill: none;
  stroke: #2bff00;
  stroke-width: 2.5;
  stroke-dasharray: 4 3;
  filter: drop-shadow(0 5px 8px rgba(43, 255, 0, 0.34));
  transition: cx 260ms ease, cy 260ms ease;
}

.hire-reach-labels {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  color: #526071;
  font-size: 10.5px;
  font-weight: 950;
}

.hire-reach-labels small {
  color: inherit;
  font-size: inherit;
  line-height: 1;
  opacity: 0.52;
  transition: color 180ms ease, opacity 180ms ease;
}

.hire-reach-labels small.is-complete {
  opacity: 0.78;
}

.hire-reach-labels small.is-active {
  color: #55257a;
  opacity: 1;
  font-weight: 950;
}

body.theme-dark:not(.route-admin-mestre) .hire-reach-labels small.is-active {
  color: #7dff69;
}

.hire-reach-labels small:nth-child(2) {
  text-align: center;
}

.hire-reach-labels small:nth-child(3) {
  text-align: center;
}

.hire-reach-labels small:nth-child(4) {
  text-align: right;
}

.hire-option-groups {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.hire-choice-group {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  min-width: 0;
  margin: 0;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.38);
}

.hire-choice-group.wide {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.hire-choice-group legend {
  grid-column: 1 / -1;
  margin: 0 0 4px;
  padding: 0 8px;
  color: #4f5b6c;
  font-size: 12px;
  font-weight: 950;
  text-transform: uppercase;
}

.hire-choice-group label {
  position: relative;
  display: grid;
  grid-template-rows: auto auto;
  align-content: start;
  min-height: 122px;
  padding: 14px;
  border: 1px solid rgba(144, 92, 174, 0.16);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.86);
  cursor: pointer;
  transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease, background 180ms ease;
}

.hire-choice-toggle {
  position: relative;
  display: block;
  width: 42px;
  height: 24px;
  margin: 0 0 10px;
  border: 1px solid rgba(102, 112, 133, 0.22);
  border-radius: 999px;
  background: #e7e9ed;
  box-shadow: inset 0 2px 5px rgba(17, 24, 39, 0.08);
  transition: background-color 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.hire-choice-toggle b {
  position: absolute;
  top: 2px;
  left: 2px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff;
  box-shadow: 0 2px 6px rgba(17, 24, 39, 0.24);
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

.hire-choice-group input:checked + .hire-choice-toggle {
  border-color: #21d900;
  background: linear-gradient(135deg, #20f000, #33d79a);
  box-shadow: 0 6px 16px rgba(32, 240, 0, 0.22);
}

.hire-choice-group input:checked + .hire-choice-toggle b {
  transform: translateX(18px);
}

.hire-choice-group label:focus-within .hire-choice-toggle {
  outline: 3px solid rgba(144, 92, 174, 0.24);
  outline-offset: 2px;
}

.hire-plan-coin {
  align-self: end;
  justify-self: center;
  width: clamp(72px, 7vw, 102px);
  height: auto;
  margin-top: 14px;
  object-fit: contain;
  filter: drop-shadow(0 12px 16px rgba(17, 24, 39, 0.2));
  transition: transform 180ms ease, filter 180ms ease;
}

.hire-choice-group label:hover .hire-plan-coin,
.hire-choice-group label:has(input:checked) .hire-plan-coin {
  transform: translateY(-3px) scale(1.04);
  filter: drop-shadow(0 16px 20px rgba(144, 92, 174, 0.24));
}

.hire-choice-group label:has(input:checked) .hire-plan-coin {
  transform: translateY(-3px);
}

.hire-choice-group label:hover {
  transform: translateY(-2px);
  border-color: rgba(144, 92, 174, 0.34);
  box-shadow: 0 12px 28px rgba(22, 25, 29, 0.08);
}

.hire-choice-group label.is-disabled,
.hire-choice-group label.is-disabled:hover {
  transform: none;
  border-color: rgba(102, 112, 133, 0.14);
  background: rgba(231, 233, 237, 0.68);
  box-shadow: none;
  cursor: not-allowed;
  opacity: 0.52;
}

.hire-choice-group label.is-disabled .hire-choice-toggle {
  background: #d7dae0;
  box-shadow: none;
}

.hire-choice-group input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.hire-choice-group label:has(input:checked) {
  border-color: rgba(144, 92, 174, 0.74);
  background:
    radial-gradient(circle at 12% 0%, rgba(43, 255, 0, 0.16), transparent 36%),
    linear-gradient(180deg, rgba(144, 92, 174, 0.16), #ffffff);
  box-shadow: inset 0 0 0 1px rgba(144, 92, 174, 0.18), 0 14px 34px rgba(144, 92, 174, 0.12);
}

.hire-choice-group span {
  display: grid;
  align-content: start;
  gap: 6px;
}

.hire-choice-group strong {
  color: #111827;
  font-size: 14px;
  line-height: 1.15;
}

.hire-choice-group small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.hire-priority-note {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid rgba(43, 255, 0, 0.34);
  border-radius: 10px;
  background: linear-gradient(90deg, rgba(43, 255, 0, 0.14), rgba(144, 92, 174, 0.1));
  color: #17211b;
  font-size: 13px;
  font-weight: 900;
  line-height: 1.45;
  box-shadow: inset 4px 0 0 #2bff00;
}

.hire-priority-note::before {
  content: "!";
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #2bff00;
  color: #101512;
  font-size: 14px;
  font-weight: 950;
}

.hire-priority-action {
  width: 100%;
  color: #111827;
}

.model-compare {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.model-compare[hidden] {
  display: none;
}

.model-compare article {
  display: grid;
  gap: 8px;
  min-height: 180px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f7f7f3;
}

.model-compare article.recommended {
  border-color: rgba(43, 255, 0, 0.55);
  background: #effdf3;
  box-shadow: 0 10px 0 rgba(43, 255, 0, 0.12);
}

.model-compare span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.model-compare strong {
  font-size: clamp(1.55rem, 3vw, 2.2rem);
  line-height: 1;
}

.model-compare p {
  margin: 0;
  color: var(--muted);
}

.model-compare b {
  color: var(--brand);
}

.ai-analysis-card {
  display: grid;
  gap: 16px;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.25);
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff 0%, #f4fff7 48%, #f1eaff 100%);
  box-shadow: 0 12px 0 rgba(144, 92, 174, 0.08);
}

.ai-analysis-card[hidden] {
  display: none;
}

.ai-analysis-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.ai-analysis-head span,
.ai-analysis-grid small,
.ai-analysis-list strong {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.ai-analysis-head strong {
  color: var(--accent);
  font-size: 1.25rem;
}

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

.ai-analysis-grid div {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.ai-analysis-grid div.pending {
  border-style: dashed;
  background: rgba(144, 92, 174, 0.06);
}

.ai-analysis-grid div.pending b {
  color: var(--accent);
}

.ai-analysis-grid div.below-expected,
.ai-showcase-meta article.below-expected {
  border-color: rgba(245, 158, 11, 0.58);
  background: linear-gradient(135deg, rgba(255, 247, 237, 0.96), rgba(255, 251, 235, 0.86));
  animation: aiValueReveal 0.42s ease both;
}

.ai-analysis-grid div.above-expected,
.ai-showcase-meta article.above-expected {
  border-color: rgba(144, 92, 174, 0.62);
  background: linear-gradient(135deg, rgba(248, 243, 252, 0.98), rgba(240, 230, 248, 0.9));
  animation: aiValueReveal 0.42s ease both;
}

.ai-analysis-grid div.minimum-expected,
.ai-showcase-meta article.minimum-expected {
  border-color: rgba(144, 92, 174, 0.72);
  background: linear-gradient(135deg, rgba(249, 245, 252, 0.98), rgba(238, 228, 247, 0.92));
  box-shadow: inset 4px 0 0 #905cae;
  animation: aiValueReveal 0.42s ease both;
}

.ai-analysis-grid div.ideal-expected,
.ai-showcase-meta article.ideal-expected {
  border-color: rgba(43, 255, 0, 0.58);
  background: linear-gradient(135deg, rgba(236, 253, 245, 0.98), rgba(240, 253, 244, 0.9));
  box-shadow: inset 4px 0 0 #2bff00;
  animation: aiValueReveal 0.42s ease both;
}

.ai-analysis-grid div.below-expected b,
.ai-showcase-meta article.below-expected b {
  color: #d97706;
}

.ai-analysis-grid div.above-expected b,
.ai-showcase-meta article.above-expected b {
  color: #7e3ea3;
}

.ai-analysis-grid div.minimum-expected b,
.ai-showcase-meta article.minimum-expected b {
  color: #7e3ea3;
}

.ai-analysis-grid div.ideal-expected b,
.ai-showcase-meta article.ideal-expected b {
  color: #16a31b;
}

.ai-analysis-grid em,
.ai-showcase-meta em {
  color: #b45309;
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.ai-analysis-grid div.above-expected em,
.ai-showcase-meta article.above-expected em {
  color: #7e3ea3;
}

.ai-analysis-grid div.minimum-expected em,
.ai-showcase-meta article.minimum-expected em {
  color: #7e3ea3;
}

.ai-budget-adjust-link {
  width: max-content;
  margin-top: 8px;
  padding: 7px 10px;
  border: 1px solid rgba(144, 92, 174, 0.32);
  border-radius: 999px;
  color: #241034;
  background: linear-gradient(90deg, rgba(43, 255, 0, 0.86), rgba(255, 205, 64, 0.9));
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.ai-budget-adjust-link[hidden] {
  display: none !important;
}

.budget-adjust-icon svg {
  width: 38px;
  height: 38px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.4;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.budget-adjust-icon.mobile-hire-bot {
  width: auto;
  height: auto;
  color: #2bff00;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.ai-analysis-grid b {
  color: var(--ink);
  font-size: 1rem;
}

.ai-analysis-card p {
  margin: 0;
  color: #166534;
  font-weight: 850;
}

.ai-analysis-card p.minimum-fit {
  color: #7e3ea3;
}

.ai-analysis-card p.ideal-fit {
  color: #15803d;
}

.ai-analysis-list {
  display: grid;
  gap: 8px;
}

.ai-analysis-list ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
}

.ai-answer-hint {
  color: var(--muted) !important;
  font-size: 0.92rem;
  font-weight: 700 !important;
}

.ai-question-fields {
  display: grid;
  gap: 10px;
}

.ai-question-fields label {
  gap: 7px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.ai-question-fields span {
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 850;
  text-transform: none;
}

.ai-question-fields textarea {
  min-height: 70px;
  padding: 10px 12px;
}

.ai-question-action {
  width: 100%;
  margin-top: 12px;
  border-color: rgba(144, 92, 174, 0.58);
  background: linear-gradient(135deg, #4b1f75, #905CAE);
  color: #ffffff;
  box-shadow: 0 10px 0 rgba(144, 92, 174, 0.18);
}

.ai-question-action:hover {
  border-color: rgba(144, 92, 174, 0.78);
  background: linear-gradient(135deg, #5a2587, #a965ca);
  color: #ffffff;
}

.ai-question-action[hidden] {
  display: none !important;
}

.ai-table-note {
  color: #22c55e !important;
  font-weight: 900;
}

.assistant-plan-card {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(43, 255, 0, 0.42);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.08));
  box-shadow: 0 12px 0 rgba(43, 255, 0, 0.08);
}

.ai-showcase-card {
  gap: 16px;
  padding: 20px;
  border-color: rgba(144, 92, 174, 0.28);
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.1), rgba(144, 92, 174, 0.09)),
    var(--surface);
}

.assistant-plan-card[hidden] {
  display: none;
}

.assistant-plan-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.assistant-plan-head span {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.assistant-plan-head strong {
  color: var(--brand);
  font-size: 1.18rem;
}

.ai-showcase-meta {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.ai-showcase-meta article {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 6px;
  min-height: 86px;
  padding: 12px;
  border: 1px solid rgba(144, 92, 174, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.ai-showcase-card.is-ready .ai-showcase-meta article {
  border-color: rgba(43, 255, 0, 0.34);
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.13), rgba(144, 92, 174, 0.08)),
    rgba(255, 255, 255, 0.86);
  animation: aiValueReveal 0.58s ease both;
}

.ai-showcase-card.is-ready .ai-showcase-meta article:nth-child(2) {
  animation-delay: 0.06s;
}

.ai-showcase-card.is-ready .ai-showcase-meta article:nth-child(3) {
  animation-delay: 0.12s;
}

.ai-showcase-card.is-ready .ai-showcase-meta article:nth-child(4) {
  animation-delay: 0.18s;
}

.ai-showcase-meta small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.ai-showcase-meta b {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.2;
}

.ai-showcase-card.is-ready .ai-showcase-meta b {
  color: var(--brand);
  font-size: 1.12rem;
}

.ai-analysis-card.needs-answers .ai-analysis-head,
.ai-analysis-card.needs-answers .ai-analysis-grid,
.ai-analysis-card.needs-answers > p,
.ai-analysis-card.needs-answers .ai-analysis-list:first-of-type {
  display: none;
}

.assistant-plan-card > p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 0.94rem;
  line-height: 1.5;
  font-weight: 750;
}

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

.assistant-plan-grid section {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 13px;
  border: 1px solid rgba(144, 92, 174, 0.16);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.assistant-plan-grid h3 {
  margin: 0;
  font-size: 0.88rem;
}

.assistant-plan-grid ul {
  display: grid;
  gap: 7px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.assistant-plan-grid li {
  position: relative;
  padding-left: 16px;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.42;
}

.assistant-plan-grid li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand), var(--accent));
}

.ai-showcase-actions {
  display: grid;
  grid-template-columns: minmax(190px, 0.4fr) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding-top: 4px;
}

.ai-showcase-actions .btn {
  width: 100%;
  border-color: rgba(144, 92, 174, 0.55);
  background: linear-gradient(135deg, var(--brand), var(--accent));
  color: #fff;
}

.ai-showcase-actions span {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.45;
}

.hire-way-list {
  display: grid;
  gap: 12px;
  padding: 0;
  margin: 16px 0 0;
  list-style: none;
}

.hire-way-list li {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  min-height: 44px;
  padding: 8px 0;
  color: var(--ink);
  font-size: 0.92rem;
  font-weight: 850;
}

.hire-way-icon {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(144, 92, 174, 0.24);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.16), rgba(144, 92, 174, 0.14));
  color: var(--accent);
}

.hire-way-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.hire-way-showcase {
  display: grid;
  gap: 16px;
  padding: 20px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.07)),
    var(--surface);
  box-shadow: 0 10px 0 rgba(43, 255, 0, 0.07);
}

.hire-way-showcase .assistant-plan-head {
  align-items: center;
  text-align: center;
}

.hire-way-showcase .hire-way-list {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.hire-way-showcase .hire-way-list li {
  --hire-way-paper: url('../img/workflow-paper-01.png');
  --hire-way-pin: url('../img/workflow-pin-01.png');
  --hire-way-pin-delay: 180ms;
  position: relative;
  isolation: isolate;
  grid-template-columns: 1fr;
  justify-items: center;
  align-content: start;
  min-height: 132px;
  padding: 24px 15px 17px;
  border: 0 !important;
  border-radius: 0;
  background: transparent !important;
  color: #2a2030;
  text-align: center;
  font-size: 0.84rem;
  line-height: 1.25;
}

.hire-way-showcase .hire-way-list li::before,
.hire-way-showcase .hire-way-list li::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.hire-way-showcase .hire-way-list li::before {
  z-index: -1;
  inset: -10px -9px -12px;
  background: var(--hire-way-paper) center / 100% 100% no-repeat;
  filter: drop-shadow(0 12px 14px rgba(41, 28, 47, .17));
}

.hire-way-showcase .hire-way-list li::after {
  z-index: 3;
  top: -25px;
  left: 50%;
  width: 36px;
  height: 45px;
  background: var(--hire-way-pin) center / contain no-repeat;
  opacity: 0;
  filter: drop-shadow(0 5px 4px rgba(67, 16, 24, .27));
  transform-origin: 50% 82%;
  animation: hireNoticePinAttach 760ms cubic-bezier(.2, .92, .2, 1.16) var(--hire-way-pin-delay) both;
}

.hire-way-showcase .hire-way-list li > * {
  position: relative;
  z-index: 1;
}

.hire-way-showcase .hire-way-list li:nth-child(2) {
  --hire-way-paper: url('../img/workflow-paper-02.png');
  --hire-way-pin: url('../img/workflow-pin-02.png');
  --hire-way-pin-delay: 280ms;
}

.hire-way-showcase .hire-way-list li:nth-child(3) {
  --hire-way-paper: url('../img/workflow-paper-03.png');
  --hire-way-pin: url('../img/workflow-pin-03.png');
  --hire-way-pin-delay: 380ms;
}

.hire-way-showcase .hire-way-list li:nth-child(4) {
  --hire-way-paper: url('../img/workflow-paper-04.png');
  --hire-way-pin: url('../img/workflow-pin-04.png');
  --hire-way-pin-delay: 480ms;
}

.hire-way-showcase .hire-way-list li:nth-child(5) {
  --hire-way-pin-delay: 580ms;
}

@media (prefers-reduced-motion: reduce) {
  .hire-way-showcase .hire-way-list li::after {
    animation: none;
    opacity: 1;
    transform: translate3d(-50%, 0, 0);
  }
}

.hire-way-showcase .text-link {
  justify-self: center;
}

.assistant-plan-mini-grid,
.client-plan-points {
  display: grid;
  gap: 10px;
}

.assistant-plan-mini-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.assistant-plan-mini-grid div,
.client-plan-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(43, 255, 0, 0.06);
}

.assistant-plan-mini-grid div {
  padding: 14px;
}

.assistant-plan-mini-grid strong {
  display: block;
  margin-bottom: 8px;
}

.assistant-plan-mini-grid ul {
  display: grid;
  gap: 6px;
  margin: 0;
  padding-left: 18px;
  color: var(--muted);
  font-size: 0.86rem;
}

.client-plan-card {
  display: block;
  padding: 22px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.07));
}

.client-plan-summary {
  position: relative;
  display: grid;
  padding-right: 54px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

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

.client-plan-summary .dev-execution-collapse-icon {
  position: absolute;
  top: 0;
  right: 0;
  width: 42px;
  height: 42px;
  flex-basis: 42px;
}

.client-plan-summary .dev-execution-collapse-icon,
.client-project-vision-toggle.dev-execution-collapse-icon {
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid rgba(144, 92, 174, 0.38);
  border-radius: 50%;
  color: var(--accent);
  box-shadow: none;
  transition: transform 180ms ease, background 180ms ease, border-color 180ms ease;
}

.client-plan-summary .dev-execution-collapse-icon svg,
.client-project-vision-toggle.dev-execution-collapse-icon svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.client-plan-card[open] .client-plan-summary .dev-execution-collapse-icon {
  transform: rotate(180deg);
  background: rgba(144, 92, 174, 0.12);
}

.client-plan-card:not([open]) {
  padding-top: 16px;
  padding-bottom: 16px;
}

.client-plan-card:not([open]) .client-plan-summary {
  display: flex;
  min-height: 42px;
  align-items: center;
}

.client-plan-card:not([open]) .client-plan-summary .eyebrow {
  display: none;
}

.client-plan-card:not([open]) .client-plan-summary h2 {
  margin: 0;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.2;
}

.client-plan-card:not([open]) .client-plan-summary .dev-execution-collapse-icon {
  top: 50%;
  transform: translateY(-50%);
}

.client-plan-summary:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 7px;
  border-radius: 6px;
}

.client-plan-content {
  display: grid;
  gap: 20px;
  padding-top: 4px;
}

.client-plan-card h2 {
  margin: 6px 0 8px;
  font-size: clamp(1.25rem, 2vw, 1.75rem);
}

.client-plan-card p {
  margin: 0;
  color: var(--muted);
}

.client-plan-block {
  display: grid;
  gap: 12px;
  padding: 17px 18px;
  border: 1px solid rgba(144, 92, 174, 0.14);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
}

.client-plan-block > strong {
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.client-plan-block ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding-left: 20px;
}

.client-plan-block li {
  color: var(--muted);
  font-size: 0.86rem;
  line-height: 1.42;
}

.job-ai-summary {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 8px;
  background: rgba(144, 92, 174, 0.08);
}

.job-ai-summary strong {
  color: var(--accent);
  font-size: 0.9rem;
}

.job-ai-summary span {
  color: var(--muted);
  font-size: 0.88rem;
}

.single-admin-module {
  padding-top: 32px;
}

.publish-job-button {
  background: #2bff00;
  color: #0d2614;
}

.ai-publish-panel {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 0.32fr);
  gap: 18px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(43, 255, 0, 0.42);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.12), rgba(144, 92, 174, 0.1));
  box-shadow: 0 12px 0 rgba(43, 255, 0, 0.08);
}

.ai-publish-media,
.ai-publish-mobile-logo,
.ai-publish-close {
  display: none;
}

.ai-publish-panel[hidden] {
  display: none;
}

.ai-publish-panel:not([hidden]) {
  animation: aiValueReveal 0.42s ease both;
}

.ai-publish-panel span {
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.ai-publish-panel strong {
  display: block;
  margin-top: 3px;
  color: var(--ink);
  font-size: 1.1rem;
}

.ai-publish-panel p {
  max-width: 760px;
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.45;
}

@media (min-width: 761px) {
  body.route-contratar.publish-desktop-dock-active {
    padding-bottom: 132px;
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked {
    position: fixed;
    left: 50%;
    right: auto;
    bottom: 24px;
    z-index: 9300;
    width: min(1160px, calc(100vw - 56px));
    grid-template-columns: 250px minmax(260px, 1fr) auto 28px;
    gap: 20px;
    padding: 14px 18px;
    border: 1px solid rgba(144, 92, 174, 0.22);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.2);
    transform: translateX(-50%);
    animation: publishDesktopDockIn 180ms ease both;
  }

  body.theme-dark:not(.route-admin-mestre).route-contratar .ai-publish-panel.is-desktop-docked {
    border-color: rgba(144, 92, 174, 0.32);
    background: rgba(12, 18, 15, 0.94);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.36);
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked .ai-publish-media {
    position: relative;
    overflow: hidden;
    display: block;
    align-self: stretch;
    min-height: 86px;
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(43, 255, 0, 0.14), rgba(144, 92, 174, 0.12));
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked .ai-publish-media img {
    position: absolute;
    top: 50%;
    width: 92px;
    height: 92px;
    object-fit: contain;
    filter: drop-shadow(0 12px 14px rgba(17, 24, 39, 0.22));
    transform: translateY(-50%);
    animation: salesCoinFloat 5.2s ease-in-out infinite;
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked .ai-publish-media .bronze {
    left: 22px;
    z-index: 1;
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked .ai-publish-media .prata {
    left: 78px;
    z-index: 3;
    width: 104px;
    height: 104px;
    animation-delay: 160ms;
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked .ai-publish-media .ouro {
    left: 150px;
    z-index: 2;
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked span {
    color: #b783e5;
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked strong {
    font-size: clamp(1.35rem, 2vw, 1.72rem);
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked p {
    display: none;
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked .publish-job-button {
    min-width: 170px;
    min-height: 52px;
    box-shadow: 0 10px 0 rgba(43, 255, 0, 0.16);
  }

  body.route-contratar .ai-publish-panel.is-desktop-docked .ai-publish-close {
    display: grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 0;
    color: var(--ink);
    background: transparent;
    font-size: 1.7rem;
    font-weight: 950;
    line-height: 1;
    cursor: pointer;
  }

  @media (max-width: 1180px) {
    body.route-contratar .ai-publish-panel.is-desktop-docked {
      width: min(980px, calc(100vw - 40px));
      grid-template-columns: 190px minmax(220px, 1fr) 150px 24px;
      gap: 14px;
    }

    body.route-contratar .ai-publish-panel.is-desktop-docked .ai-publish-media img {
      width: 76px;
      height: 76px;
    }

    body.route-contratar .ai-publish-panel.is-desktop-docked .ai-publish-media .prata {
      left: 58px;
      width: 88px;
      height: 88px;
    }

    body.route-contratar .ai-publish-panel.is-desktop-docked .ai-publish-media .ouro {
      left: 112px;
    }

    body.route-contratar .ai-publish-panel.is-desktop-docked .publish-job-button {
      min-width: 150px;
    }
  }
}

.publish-job-button:not([hidden]) {
  animation: publishReadyPulse 1.35s ease-in-out infinite;
}

@keyframes publishDesktopDockIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}

@keyframes aiValueReveal {
  0% {
    opacity: 0;
    transform: translateY(10px) scale(0.98);
  }

  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes publishReadyPulse {
  0%,
  100% {
    box-shadow: 0 8px 0 rgba(43, 255, 0, 0.22), 0 0 0 0 rgba(43, 255, 0, 0.34);
    transform: translateY(0);
  }

  50% {
    box-shadow: 0 8px 0 rgba(43, 255, 0, 0.16), 0 0 0 10px rgba(43, 255, 0, 0);
    transform: translateY(-1px);
  }
}

.pulse-attention {
  animation: aiButtonPulse 1s ease-in-out infinite;
}

@keyframes aiButtonPulse {
  0%,
  100% {
    box-shadow: 0 8px 0 rgba(43, 255, 0, 0.22), 0 0 0 0 rgba(43, 255, 0, 0.42);
    transform: translateY(0);
  }

  50% {
    box-shadow: 0 8px 0 rgba(43, 255, 0, 0.22), 0 0 0 10px rgba(43, 255, 0, 0);
    transform: translateY(-1px);
  }
}

label {
  display: grid;
  gap: 8px;
  font-weight: 800;
}

input,
textarea,
select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--ink);
  padding: 13px 14px;
}

.money-field {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-height: 52px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.money-field:focus-within {
  border-color: #2bff00;
  outline: 3px solid rgba(43, 255, 0, 0.16);
}

.money-field span {
  padding-left: 14px;
  color: var(--muted);
  font-weight: 950;
}

.money-field input {
  min-height: 50px;
  border: 0;
  outline: 0;
  padding-left: 8px;
}

.budget-picker {
  align-content: start;
  gap: 10px;
}

.budget-picker-heading,
.budget-picker-readout,
.budget-picker-limits {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.budget-picker-heading strong {
  color: var(--ink);
  font-size: 1rem;
}

.budget-picker-heading small,
.budget-picker-readout small,
.budget-picker-limits small {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 850;
}

.budget-picker-rule {
  display: block;
  margin-top: 8px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1.35;
}

.budget-picker-heading small,
.budget-picker-readout output {
  color: var(--accent);
}

.budget-picker-value {
  min-height: 58px;
}

.budget-picker-value input {
  font-size: 1rem;
  font-weight: 900;
}

.budget-picker-scale {
  display: grid;
  gap: 10px;
  padding: 12px 14px 11px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.045), rgba(144, 92, 174, 0.055)), #fff;
}

.budget-picker-readout output {
  font-size: 0.88rem;
  font-weight: 950;
}

.budget-picker-scale input[type="range"] {
  width: 100%;
  height: 20px;
  padding: 0;
  border: 0;
  outline: 0;
  background: transparent;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

.budget-picker-scale input[type="range"]::-webkit-slider-runnable-track {
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--accent) 0 var(--budget-progress, 0%), #e5e3e7 var(--budget-progress, 0%) 100%);
}

.budget-picker-scale input[type="range"]::-webkit-slider-thumb {
  width: 20px;
  height: 20px;
  margin-top: -6.5px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 2px var(--brand), 0 5px 12px rgba(28, 31, 39, 0.2);
  -webkit-appearance: none;
  appearance: none;
}

.budget-picker-scale input[type="range"]::-moz-range-track {
  height: 7px;
  border-radius: 999px;
  background: #e5e3e7;
}

.budget-picker-scale input[type="range"]::-moz-range-progress {
  height: 7px;
  border-radius: 999px;
  background: var(--accent);
}

.budget-picker-scale input[type="range"]::-moz-range-thumb {
  width: 16px;
  height: 16px;
  border: 3px solid #fff;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 2px var(--brand), 0 5px 12px rgba(28, 31, 39, 0.2);
}

.deadline-range-field {
  gap: 10px;
}

.deadline-range-control {
  display: grid;
  gap: 12px;
  min-height: 52px;
  padding: 13px 14px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.045), rgba(144, 92, 174, 0.045)), #fff;
}

.deadline-range-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.deadline-range-head strong {
  color: var(--ink);
  font-size: 1rem;
}

.deadline-range-head span {
  color: var(--ok);
  font-weight: 950;
}

.deadline-meter {
  height: 14px;
  overflow: hidden;
  border-radius: 999px;
  background: #ece8df;
  box-shadow: inset 0 0 0 1px rgba(144, 92, 174, 0.12);
}

.deadline-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--brand), var(--accent));
  transition: width 180ms ease;
}

.deadline-range-control input[type="range"] {
  width: 100%;
  height: 20px;
  padding: 0;
  border: 0;
  background: transparent;
  accent-color: var(--brand);
  cursor: pointer;
}

.deadline-range-control input[type="range"]::-webkit-slider-runnable-track {
  height: 5px;
  border-radius: 999px;
  background: rgba(28, 31, 39, 0.72);
}

.deadline-range-control input[type="range"]::-webkit-slider-thumb {
  width: 18px;
  height: 18px;
  margin-top: -6.5px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 4px 10px rgba(28, 31, 39, 0.2);
  -webkit-appearance: none;
  appearance: none;
}

.deadline-range-control input[type="range"]::-moz-range-track {
  height: 5px;
  border-radius: 999px;
  background: rgba(28, 31, 39, 0.72);
}

.deadline-range-control input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: var(--brand);
  box-shadow: 0 4px 10px rgba(28, 31, 39, 0.2);
}

.deadline-range-labels {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 850;
  text-align: center;
}

textarea {
  resize: vertical;
}

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

.form-note.success {
  color: var(--ok);
  font-weight: 800;
}

.check-list li,
.timeline li {
  position: relative;
  padding-left: 24px;
}

.check-list li::before,
.timeline li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.68em;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--accent);
}

.text-link {
  display: inline-flex;
  margin-top: 22px;
  color: var(--brand);
  font-weight: 900;
}

.talent-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  padding: 18px 0 26px;
}

.talent-card {
  position: relative;
  min-height: 260px;
  padding: 24px;
}

.talent-profile {
  display: grid;
  grid-template-columns: 82px 1fr;
  gap: 14px;
  align-items: center;
  min-width: 0;
  margin-bottom: 18px;
}

.talent-profile img {
  display: block;
  width: 82px;
  height: 82px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 22px;
  background: #f4f8f5;
  object-fit: cover;
  box-shadow: 0 14px 26px rgba(22, 25, 29, 0.1);
}

.talent-profile h2 {
  margin: 5px 0 2px;
}

.talent-profile small {
  display: block;
  color: var(--muted);
  font-weight: 800;
}

.talent-rank {
  display: inline-flex;
  width: fit-content;
  min-height: 24px;
  align-items: center;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.12);
  color: var(--accent);
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.talent-score-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.talent-score-row strong {
  color: var(--ink);
  font-size: 1.65rem;
  line-height: 1;
  letter-spacing: 0;
}

.talent-rank-meter {
  overflow: hidden;
  height: 8px;
  margin-bottom: 16px;
  border-radius: 999px;
  background: #ebeef3;
}

.talent-rank-meter span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #2bff00, #905CAE);
}

.score {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 8px;
  background: var(--accent-soft);
  color: #8a5d00;
  font-weight: 900;
}

.tag-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.tag-row span {
  padding: 7px 9px;
  border-radius: 999px;
  background: #eef2f7;
  color: #344054;
  font-size: 0.82rem;
  font-weight: 800;
}

.dashboard-shell {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.dashboard-side {
  position: sticky;
  top: 88px;
}

.dashboard-side h1 {
  font-size: clamp(2rem, 4vw, 3.4rem);
}

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

.client-dashboard {
  grid-template-columns: minmax(290px, 0.36fr) minmax(0, 1fr);
  gap: clamp(34px, 5vw, 76px);
  padding-top: 48px;
}

.client-dashboard .dashboard-side h1 {
  max-width: 360px;
  font-size: clamp(2.15rem, 3.25vw, 3.45rem);
  line-height: 1;
  overflow-wrap: normal;
}

.client-dashboard .dashboard-side p {
  max-width: 280px;
}

.client-dashboard .dashboard-main {
  display: grid;
  gap: 18px;
}

.client-hub-side {
  display: grid;
  align-content: start;
  gap: 20px;
}

.client-project-list {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}

.client-project-list > strong {
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
}

.client-project-list a {
  display: grid;
  gap: 3px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.client-project-list a.active {
  border-color: rgba(43, 255, 0, 0.6);
  box-shadow: inset 4px 0 0 var(--brand);
}

.client-project-list span {
  font-weight: 900;
}

.client-project-list small {
  color: var(--muted);
}

.client-project-list-empty {
  padding: 12px;
  border: 1px dashed var(--line);
  border-radius: 8px;
}

.client-project-archive {
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand) 8%);
}

.client-project-archive > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto 18px;
  gap: 9px;
  align-items: center;
  padding: 13px 14px;
  cursor: pointer;
  list-style: none;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.client-project-archive > summary::-webkit-details-marker {
  display: none;
}

.client-project-archive > summary b {
  min-width: 24px;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.14);
  color: var(--ink);
  font-size: 0.72rem;
  text-align: center;
}

.client-project-archive > summary i {
  width: 9px;
  height: 9px;
  border-right: 2px solid var(--accent);
  border-bottom: 2px solid var(--accent);
  transform: rotate(45deg) translate(-2px, -2px);
  transition: transform 180ms ease;
}

.client-project-archive[open] > summary i {
  transform: rotate(225deg) translate(-1px, -1px);
}

.client-project-list-completed {
  margin: 0;
  padding: 0 10px 10px;
}

.client-project-list-completed a {
  position: relative;
  padding-right: 40px;
  background: color-mix(in srgb, var(--surface) 96%, var(--brand) 4%);
}

.client-project-list-completed a > em {
  position: absolute;
  top: 50%;
  right: 12px;
  display: grid;
  width: 22px;
  height: 22px;
  place-items: center;
  border-radius: 50%;
  background: rgba(43, 255, 0, 0.16);
  color: var(--brand-strong);
  font-size: 0.78rem;
  font-style: normal;
  font-weight: 950;
  transform: translateY(-50%);
}

.project-focus.client-project-hero {
  display: block;
  min-height: 150px;
}

.client-project-hero > div {
  width: 100%;
  min-width: 0;
}

.client-project-heading-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 26px;
  align-items: start;
}

.client-project-heading-copy {
  min-width: 0;
}

.client-project-hero.is-matching .client-project-heading-copy > span {
  display: inline-flex;
  width: fit-content;
  padding: 7px 13px;
  border-radius: 999px;
  background: linear-gradient(135deg, #c8ffba, #efffe9);
  color: #371448;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.07em;
  text-transform: uppercase;
}

.client-project-hero.is-matching {
  position: relative;
  overflow: hidden;
  border-color: rgba(196, 106, 255, 0.82);
  background:
    radial-gradient(circle at 94% 8%, rgba(196, 106, 255, 0.42), transparent 34%),
    radial-gradient(circle at 8% 100%, rgba(43, 255, 0, 0.14), transparent 32%),
    linear-gradient(145deg, #2f103f 0%, #591d78 50%, #351045 100%);
  color: #ffffff;
  box-shadow: 0 24px 54px rgba(66, 18, 91, 0.34), inset 6px 0 0 #a94bd8;
}

.client-project-hero.is-matching::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(118deg, rgba(255, 255, 255, 0.09), transparent 32%, rgba(255, 255, 255, 0.04) 64%, transparent);
}

.client-project-hero.is-matching > div,
.client-project-hero.is-matching > strong {
  position: relative;
  z-index: 1;
}

.client-project-hero.is-matching h2 {
  color: #ffffff;
}

.client-project-hero.is-matching .client-project-heading-copy > p {
  color: #eee2f3;
}

.client-project-hero.is-matching > strong {
  color: #dca7ff;
}

.client-matching-notice {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) minmax(170px, auto);
  gap: 13px;
  align-items: center;
  width: 100%;
  max-width: none;
  margin-top: 18px;
  padding: 15px;
  border: 1px solid rgba(230, 190, 255, 0.28);
  border-radius: 14px;
  background: rgba(23, 8, 31, 0.44);
  box-shadow: 0 14px 32px rgba(19, 5, 26, 0.22), inset 0 1px 0 rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(8px);
}

.client-matching-icon {
  display: block;
  width: 72px;
  height: 58px;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(126, 57, 170, 0.38));
  transform-origin: 50% 58%;
  animation: clientMatchingSnake 2.4s ease-in-out infinite;
}

.project-focus .client-matching-notice strong {
  display: block;
  margin-bottom: 4px;
  color: #e4b5ff;
  font-size: 1rem;
  white-space: normal;
  overflow-wrap: anywhere;
}

.client-matching-notice p {
  margin: 0;
  color: #f1e8f5;
  font-size: 0.92rem;
  line-height: 1.5;
}

.client-response-emblem {
  display: grid;
  place-items: center;
  width: 150px;
  min-height: 112px;
}

.client-response-emblem img {
  display: block;
  width: 118px;
  height: 118px;
  object-fit: contain;
  filter: drop-shadow(0 13px 18px rgba(255, 176, 20, 0.28));
}

.client-response-estimate-summary {
  display: grid;
  gap: 3px;
  align-content: center;
  min-width: 190px;
  padding: 10px 14px;
  border-left: 1px solid rgba(230, 190, 255, 0.25);
  text-align: center;
}

.client-response-estimate-summary small {
  color: #dcb9ec;
  font-size: 0.62rem;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.project-focus .client-response-estimate-summary strong {
  display: block;
  color: #ffffff;
  font-size: 0.92rem;
  line-height: 1.2;
}

.client-response-estimate-summary span {
  color: #cabbd0;
  font-size: 0.62rem;
}

.client-publication-journey {
  width: 100%;
  max-width: none;
  margin-top: 18px;
  padding: 16px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(248, 241, 252, 0.98), rgba(239, 255, 234, 0.92));
  box-shadow: 0 14px 32px rgba(72, 39, 86, 0.08), inset 0 1px 0 rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(8px);
}

.client-publication-journey-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 14px;
}

.project-focus .client-publication-journey-heading strong {
  color: var(--ink);
  font-size: 0.92rem;
}

.client-publication-journey-heading span {
  color: #7d4c98;
  font-size: 0.7rem;
  font-weight: 850;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.client-publication-journey ol {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.client-publication-journey li {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  gap: 7px;
  align-items: start;
  min-width: 0;
  padding: 0 7px;
  text-align: center;
}

.client-publication-journey li:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 14px;
  left: calc(50% + 15px);
  right: calc(-50% + 15px);
  height: 2px;
  background: rgba(144, 92, 174, 0.2);
}

.client-journey-number {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  width: 30px;
  height: 30px;
  border: 1px solid rgba(144, 92, 174, 0.28);
  border-radius: 50%;
  background: #f1e6f6;
  color: #704286;
  font-size: 0.76rem;
  font-weight: 950;
}

.project-focus .client-publication-journey li strong {
  display: block;
  margin: 1px 0 4px;
  color: #29202d;
  font-size: 0.75rem;
  line-height: 1.28;
  white-space: normal;
}

.client-publication-journey li small {
  display: block;
  color: #746a78;
  font-size: 0.66rem;
  line-height: 1.35;
}

.client-publication-journey li.is-complete .client-journey-number {
  border-color: #8aff72;
  background: #2bff00;
  color: #15330d;
  box-shadow: 0 0 16px rgba(43, 255, 0, 0.28);
}

.client-publication-journey li.is-complete:not(:last-child)::after {
  background: linear-gradient(90deg, #2bff00, rgba(43, 255, 0, 0.22));
}

.client-publication-journey li.is-current .client-journey-number {
  border-color: #e5adff;
  background: #a844da;
  color: #ffffff;
  box-shadow: 0 0 0 5px rgba(203, 102, 255, 0.13), 0 0 18px rgba(203, 102, 255, 0.35);
  animation: clientJourneyCurrentPulse 1.65s ease-in-out infinite;
}

.client-project-hero.is-matching .client-publication-journey,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey {
  border-color: rgba(230, 190, 255, 0.3);
  background: rgba(23, 8, 31, 0.38);
  box-shadow: 0 14px 32px rgba(19, 5, 26, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.07);
}

.client-project-hero.is-matching .client-publication-journey-heading strong,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey-heading strong {
  color: #ffffff;
}

.client-project-hero.is-matching .client-publication-journey-heading span,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey-heading span {
  color: #dcb9ec;
}

.client-project-hero.is-matching .client-publication-journey li:not(:last-child)::after,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey li:not(:last-child)::after {
  background: rgba(255, 255, 255, 0.16);
}

.client-project-hero.is-matching .client-journey-number,
body.theme-dark:not(.route-admin-mestre) .client-journey-number {
  border-color: rgba(255, 255, 255, 0.25);
  background: #32133f;
  color: #d5bedf;
}

.client-project-hero.is-matching .client-publication-journey li strong,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey li strong {
  color: #f4eaf7;
}

.client-project-hero.is-matching .client-publication-journey li small,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey li small {
  color: #cdbfd2;
}

.client-project-hero.is-matching .client-publication-journey li.is-current strong,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey li.is-current strong {
  animation: clientJourneyCurrentText 1.65s ease-in-out infinite;
}

.client-project-hero.is-matching .client-publication-journey li.is-complete .client-journey-number,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey li.is-complete .client-journey-number {
  border-color: #8aff72;
  background: #2bff00;
  color: #15330d;
}

.client-project-hero.is-matching .client-publication-journey li.is-complete:not(:last-child)::after,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey li.is-complete:not(:last-child)::after {
  background: linear-gradient(90deg, #2bff00, rgba(43, 255, 0, 0.22));
}

.client-project-hero.is-matching .client-publication-journey li.is-current .client-journey-number,
body.theme-dark:not(.route-admin-mestre) .client-publication-journey li.is-current .client-journey-number {
  border-color: #e5adff;
  background: #a844da;
  color: #ffffff;
}

.client-publication-journey li.is-pending {
  opacity: 0.62;
}

.client-project-progress {
  --job-progress-position: 0%;
  position: relative;
  margin: 18px 0;
  padding-top: 30px;
}

.client-project-progress > strong {
  position: absolute;
  top: 0;
  left: clamp(24px, var(--job-progress-position), calc(100% - 24px));
  z-index: 1;
  min-width: 48px;
  color: #9b42c9;
  font-size: 1.15rem;
  font-weight: 950;
  line-height: 1;
  text-align: center;
  transform: translateX(-50%);
  transition: left 1100ms cubic-bezier(0.22, 1, 0.36, 1);
}

.client-project-progress > strong::after {
  content: "";
  position: absolute;
  top: 19px;
  left: 50%;
  width: 0;
  height: 0;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 6px solid #9b42c9;
  transform: translateX(-50%);
}

.client-project-progress .progress {
  margin: 0;
}

body.theme-dark:not(.route-admin-mestre) .client-project-progress > strong {
  color: #dca7ff;
}

body.theme-dark:not(.route-admin-mestre) .client-project-progress > strong::after {
  border-top-color: #dca7ff;
}

body.theme-dark:not(.route-admin-mestre) .client-project-hero.is-matching {
  border-color: rgba(196, 106, 255, 0.82);
  background:
    radial-gradient(circle at 94% 8%, rgba(196, 106, 255, 0.42), transparent 34%),
    radial-gradient(circle at 8% 100%, rgba(43, 255, 0, 0.12), transparent 32%),
    linear-gradient(145deg, #250c33 0%, #511a70 52%, #2d0d3d 100%);
}

body.theme-dark:not(.route-admin-mestre) .client-matching-notice {
  border-color: rgba(230, 190, 255, 0.28);
  background: rgba(16, 5, 22, 0.5);
}

body.theme-dark:not(.route-admin-mestre) .project-focus .client-matching-notice strong {
  color: #dda8ff;
}

body.theme-dark:not(.route-admin-mestre) .client-matching-notice p {
  color: #d6cddd;
}

@keyframes clientMatchingSnake {
  0%, 100% { transform: translate3d(-5px, 0, 0) rotate(-2deg) scale(1); }
  20% { transform: translate3d(1px, -4px, 0) rotate(2.5deg) scale(1.035); }
  42% { transform: translate3d(7px, -1px, 0) rotate(-1deg) scale(1.02); }
  64% { transform: translate3d(3px, 3px, 0) rotate(2deg) scale(1.045); }
  82% { transform: translate3d(-3px, 2px, 0) rotate(-2.5deg) scale(1.015); }
}

@keyframes clientJourneyCurrentPulse {
  0%, 100% {
    border-color: rgba(229, 173, 255, 0.62);
    background: #78309d;
    box-shadow: 0 0 0 3px rgba(203, 102, 255, 0.08), 0 0 8px rgba(203, 102, 255, 0.2);
    filter: brightness(0.86);
    transform: scale(0.96);
  }
  50% {
    border-color: #f1caff;
    background: #bd55f1;
    box-shadow: 0 0 0 7px rgba(203, 102, 255, 0.18), 0 0 25px rgba(224, 139, 255, 0.72);
    filter: brightness(1.18);
    transform: scale(1.08);
  }
}

@keyframes clientJourneyCurrentText {
  0%, 100% {
    color: #d9c5e1;
    text-shadow: 0 0 0 rgba(224, 139, 255, 0);
  }
  50% {
    color: #ffffff;
    text-shadow: 0 0 13px rgba(224, 139, 255, 0.72);
  }
}

@media (prefers-reduced-motion: reduce) {
  .client-matching-icon { animation: none; }
  .client-publication-journey li.is-current .client-journey-number,
  .client-project-hero.is-matching .client-publication-journey li.is-current strong,
  body.theme-dark:not(.route-admin-mestre) .client-publication-journey li.is-current strong { animation: none; }
}

@media (max-width: 640px) {
  .client-project-hero.is-matching {
    grid-template-columns: minmax(0, 1fr);
  }

  .client-project-heading-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .client-response-emblem {
    justify-self: center;
    width: 112px;
    min-height: 88px;
  }

  .client-response-emblem img {
    width: 92px;
    height: 92px;
  }

  .client-project-hero.is-matching > strong {
    display: none;
  }

  .client-matching-notice {
    width: 100%;
    grid-template-columns: 58px minmax(0, 1fr);
    gap: 11px;
    padding: 13px;
  }

  .client-matching-icon {
    width: 58px;
    height: 48px;
  }

  .client-response-estimate-summary {
    grid-column: 1 / -1;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    min-width: 0;
    padding: 11px 0 0;
    border-top: 1px solid rgba(230, 190, 255, 0.2);
    border-left: 0;
    text-align: left;
  }

  .client-response-estimate-summary small,
  .client-response-estimate-summary span {
    grid-column: 1;
  }

  .project-focus .client-response-estimate-summary strong {
    grid-column: 2;
    grid-row: 1 / span 2;
    font-size: 0.88rem;
  }

  .client-publication-journey {
    padding: 14px;
  }

  .client-publication-journey-heading {
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }

  .client-publication-journey ol {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }

  .client-publication-journey li {
    grid-template-columns: 30px minmax(0, 1fr);
    justify-items: start;
    gap: 9px;
    min-height: 44px;
    padding: 0 0 0 2px;
    text-align: left;
  }

  .client-publication-journey li:not(:last-child)::after {
    top: 29px;
    bottom: -14px;
    left: 16px;
    right: auto;
    width: 2px;
    height: auto;
  }

  .project-focus .client-publication-journey li strong {
    font-size: 0.82rem;
  }

  .client-publication-journey li small {
    font-size: 0.72rem;
  }
}

.client-hub-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.client-hub-summary article {
  position: relative;
  display: grid;
  gap: 4px;
  min-height: 104px;
  padding: 16px 58px 16px 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 10px 0 rgba(17, 24, 39, 0.04);
}

.client-hub-summary .client-summary-icon {
  position: absolute;
  top: 13px;
  right: 13px;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 10px;
  background: rgba(43, 255, 0, 0.08);
  color: #52ef78;
  box-shadow: 0 0 16px rgba(43, 255, 0, 0.11);
}

.client-hub-summary .client-summary-icon svg {
  width: 19px;
  height: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.client-hub-summary article:nth-child(2) .client-summary-icon {
  background: rgba(61, 205, 255, 0.09);
  color: #61d9ff;
  box-shadow: 0 0 16px rgba(61, 205, 255, 0.12);
}

.client-hub-summary article:nth-child(3) .client-summary-icon {
  background: rgba(196, 106, 255, 0.1);
  color: #d58cff;
  box-shadow: 0 0 16px rgba(196, 106, 255, 0.13);
}

.client-hub-summary article:nth-child(4) .client-summary-icon {
  background: rgba(255, 196, 81, 0.1);
  color: #ffd36d;
  box-shadow: 0 0 16px rgba(255, 196, 81, 0.13);
}

.client-hub-summary small,
.proposal-card .eyebrow {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.client-hub-summary strong {
  font-size: 1.05rem;
}

.client-hub-summary article:nth-child(-n + 2) strong {
  font-size: clamp(1.35rem, 1.8vw, 1.65rem);
  line-height: 1.15;
  letter-spacing: -0.02em;
}

.client-hub-summary article:nth-child(-n + 2) small {
  font-size: 0.82rem;
}

.client-hub-summary span {
  color: var(--muted);
  font-size: 0.88rem;
}

.client-payment-rejected-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 22px;
  border: 1px solid rgba(232, 55, 75, 0.72);
  border-left: 7px solid #e8374b;
  border-radius: 10px;
  background:
    radial-gradient(circle at 100% 0%, rgba(232, 55, 75, 0.16), transparent 36%),
    linear-gradient(135deg, rgba(232, 55, 75, 0.1), var(--surface));
  box-shadow: 0 16px 38px rgba(178, 31, 49, 0.15);
}

.client-payment-rejected-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border-radius: 50%;
  background: #e8374b;
  color: #fff;
  font-size: 1.7rem;
  font-weight: 950;
  box-shadow: 0 8px 22px rgba(232, 55, 75, 0.3);
}

.client-payment-rejected-copy > span {
  color: #e8374b;
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.client-payment-rejected-copy h2 {
  margin: 5px 0 8px;
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
}

.client-payment-rejected-copy p,
.client-payment-rejected-copy small {
  display: block;
  margin: 0;
  color: var(--muted);
}

.client-payment-rejected-copy small {
  margin-top: 8px;
}

.client-payment-rejected-card button {
  min-height: 50px;
  padding: 0 20px;
  border: 0;
  border-radius: 7px;
  background: #e8374b;
  color: #fff;
  font-weight: 950;
  cursor: pointer;
}

.client-payment-rejected-card button:hover {
  background: #c9273a;
  transform: translateY(-2px);
}

.republish-confirm-modal {
  position: fixed;
  inset: 0;
  z-index: 1600;
  display: grid;
  place-items: center;
  padding: 20px;
  visibility: hidden;
  opacity: 0;
  pointer-events: none;
  transition: opacity 100ms ease, visibility 100ms ease;
}

.republish-confirm-modal.is-open {
  visibility: visible;
  opacity: 1;
  pointer-events: auto;
}

.republish-confirm-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  border: 0 !important;
  border-radius: 0;
  background: rgba(3, 7, 5, 0.72) !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  backdrop-filter: none !important;
  cursor: default;
}

.republish-confirm-backdrop:hover,
.republish-confirm-backdrop:focus,
.republish-confirm-backdrop:focus-visible,
.republish-confirm-backdrop:active {
  border: 0 !important;
  background: rgba(3, 7, 5, 0.72) !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0;
  transform: none !important;
}

.republish-confirm-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 460px);
  padding: 28px;
  border: 1px solid rgba(232, 55, 75, 0.68);
  border-radius: 14px;
  background: #0d1712;
  color: #f7faf8;
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.48);
  transform: translateY(4px);
  transition: transform 100ms ease;
}

.republish-confirm-modal.is-open .republish-confirm-dialog {
  transform: translateY(0);
}

.republish-confirm-close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 0 !important;
  border-radius: 50%;
  background: transparent !important;
  color: #fff;
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
}

.republish-confirm-close:hover,
.republish-confirm-close:focus,
.republish-confirm-close:focus-visible,
.republish-confirm-close:active {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
  outline: 0;
  transform: none !important;
}

.republish-confirm-kicker {
  display: block;
  margin-bottom: 9px;
  color: #e8374b;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.republish-confirm-dialog h2 {
  margin: 0 42px 8px 0;
  font-size: clamp(1.55rem, 4vw, 2rem);
}

.republish-confirm-dialog > p {
  margin: 0;
  color: #afbbb4;
  line-height: 1.55;
}

.republish-confirm-warning {
  display: grid;
  gap: 3px;
  margin-top: 20px;
  padding: 13px 14px;
  border-left: 3px solid #e8374b;
  border-radius: 6px;
  background: rgba(232, 55, 75, 0.09);
  font-size: 0.86rem;
  line-height: 1.45;
}

.republish-confirm-warning span {
  color: #afbbb4;
}

.republish-confirm-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 24px;
}

.republish-confirm-actions form {
  margin: 0;
}

.republish-confirm-actions button {
  width: 100%;
  min-height: 46px;
  padding: 0 16px;
  border-radius: 7px;
  font-weight: 900;
  cursor: pointer;
}

.republish-confirm-cancel {
  border: 1px solid rgba(255, 255, 255, 0.16);
  background: transparent;
  color: #f7faf8;
}

.republish-confirm-submit {
  border: 1px solid #e8374b;
  background: #e8374b;
  color: #fff;
}

.republish-confirm-submit:hover {
  background: #c9273a;
}

body.republish-modal-open {
  overflow: hidden;
}

body:not(.theme-dark) .republish-confirm-dialog {
  background: #fff;
  color: #131914;
  box-shadow: 0 24px 70px rgba(24, 31, 26, 0.24);
}

body:not(.theme-dark) .republish-confirm-dialog > p,
body:not(.theme-dark) .republish-confirm-warning span {
  color: #59645d;
}

body:not(.theme-dark) .republish-confirm-close,
body:not(.theme-dark) .republish-confirm-cancel {
  color: #131914;
}

body:not(.theme-dark) .republish-confirm-cancel {
  border-color: rgba(19, 25, 20, 0.16);
}

@media (max-width: 760px) {
  .client-payment-rejected-card {
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 18px 16px;
  }

  .client-payment-rejected-copy {
    min-width: 0;
  }

  .client-payment-rejected-copy h2,
  .client-payment-rejected-copy p,
  .client-payment-rejected-copy small {
    overflow-wrap: anywhere;
  }

  .client-payment-rejected-card form,
  .client-payment-rejected-card > button {
    grid-column: 1 / -1;
  }

  .client-payment-rejected-card button {
    width: 100%;
  }

  .republish-confirm-dialog {
    padding: 24px 20px 20px;
  }

  .republish-confirm-actions {
    grid-template-columns: 1fr;
  }
}

.proposal-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px;
  border: 1px solid rgba(144, 92, 174, 0.26);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(144, 92, 174, 0.1), rgba(43, 255, 0, 0.08));
  box-shadow: var(--shadow);
}

.proposal-card h2 {
  margin: 6px 0;
  font-size: clamp(1.45rem, 3vw, 2.2rem);
}

.proposal-card p {
  margin: 0;
  color: var(--muted);
}

.proposal-card button,
.proposal-card .btn {
  min-width: 220px;
}

.proposal-card.accepted {
  border-color: rgba(43, 255, 0, 0.38);
}

.proposal-card.pending {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
}

.proposal-freelancer-profile {
  display: grid;
  width: 118px;
  gap: 9px;
  justify-items: center;
  text-align: center;
}

.proposal-freelancer-profile img {
  width: 88px;
  height: 88px;
  border: 3px solid #2bff00;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 10px 24px rgba(18, 8, 28, .24);
}

.proposal-freelancer-profile span,
.proposal-freelancer-profile strong,
.proposal-freelancer-profile small {
  display: block;
}

.proposal-freelancer-profile small {
  color: var(--muted);
  font-size: .68rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.proposal-freelancer-profile strong {
  margin-top: 3px;
  line-height: 1.25;
}

.proposal-card-copy {
  min-width: 0;
}

.proposal-card-actions {
  grid-column: 1 / -1;
  width: 100%;
}

.proposal-card-actions form[data-proposal-reject-form] {
  display: grid;
  flex: 1 1 340px;
  gap: 9px;
}

.proposal-reject-message {
  display: grid;
  gap: 5px;
  color: inherit;
  font-size: .78rem;
  font-weight: 850;
}

.proposal-reject-message small {
  color: var(--muted);
  font-size: .7rem;
  font-weight: 650;
}

.proposal-reject-message textarea {
  width: 100%;
  min-height: 72px;
  resize: none;
  padding: 11px 12px;
  border: 1px solid rgba(144, 92, 174, .3);
  border-radius: 10px;
  background: rgba(255, 255, 255, .92);
  color: #1e1723;
  font: inherit;
  line-height: 1.45;
}

.proposal-reject-message textarea:focus-visible {
  border-color: #905cae;
  outline: 3px solid rgba(144, 92, 174, .22);
  outline-offset: 2px;
}

.client-proposal-live:empty { display: none; }
.client-proposal-live-embedded { margin-top: 18px; }
.client-proposal-live-embedded .proposal-card {
  border-color: rgba(225, 190, 255, .28);
  background: rgba(28, 8, 42, .42);
  box-shadow: none;
  color: #fff;
}
.client-proposal-live-embedded .proposal-card p { color: rgba(255, 255, 255, .78); }
.client-proposal-live-embedded .proposal-card .eyebrow { color: #e8baff; }
.client-proposal-live-embedded .proposal-freelancer-profile small,
.client-proposal-live-embedded .proposal-reject-message small { color: rgba(255, 255, 255, .68); }
.client-proposal-live-embedded .proposal-reject-button { color: #ffd7dd; border-color: rgba(255, 178, 190, .48); }
.client-proposal-live-embedded .proposal-reject-button:hover { background: rgba(255, 178, 190, .12); border-color: rgba(255, 202, 211, .75); }
.proposal-card-actions { display: flex; align-items: center; justify-content: flex-end; gap: 10px; flex-wrap: wrap; }
.proposal-card-actions form { margin: 0; }
.proposal-card .proposal-reject-button { background: transparent; color: #9b2c3c; border: 1px solid rgba(155, 44, 60, .38); box-shadow: none; }
.proposal-card .proposal-reject-button:hover { background: rgba(155, 44, 60, .08); border-color: rgba(155, 44, 60, .62); }
.proposal-card button:focus-visible { outline: 3px solid rgba(132, 69, 192, .28); outline-offset: 3px; }
.proposal-card button:disabled { opacity: .58; cursor: wait; }
.client-proposal-status { margin: 14px 0; padding: 12px 16px; border: 1px solid rgba(35, 181, 91, .32); border-radius: 12px; background: rgba(35, 181, 91, .09); color: #176837; font-weight: 700; }
.client-proposal-status[data-tone="error"] { border-color: rgba(155, 44, 60, .32); background: rgba(155, 44, 60, .08); color: #8b2435; }
.client-project-hero .client-proposal-status {
  border-color: rgba(232, 186, 255, .34);
  background: rgba(28, 8, 42, .46);
  color: #f4ddff;
  box-shadow: inset 3px 0 0 #c06af0;
}
.client-project-hero .client-proposal-status[data-tone="error"] {
  border-color: rgba(255, 178, 190, .46);
  background: rgba(73, 19, 45, .48);
  color: #ffe1e6;
  box-shadow: inset 3px 0 0 #ff9bab;
}
.dev-proposal-rejected { display: grid; gap: 3px; margin: 12px 0; padding: 11px 13px; border: 1px solid rgba(255, 185, 64, .5); border-radius: 12px; background: rgba(255, 185, 64, .1); color: inherit; }
.dev-proposal-rejected strong { color: #b26b00; }
.dev-proposal-rejected span { font-size: .88rem; }
.job-proposal-rejected-action {
  display: grid;
  gap: 14px;
  margin-top: 16px;
  padding: 16px;
  border: 1px solid rgba(143, 70, 190, .34);
  border-left: 5px solid #9b4dca;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(155, 77, 202, .12), rgba(43, 255, 0, .07));
  box-shadow: 0 12px 28px rgba(67, 24, 91, .1);
}
.job-proposal-rejected-action div { display: grid; gap: 5px; }
.job-proposal-rejected-action strong { color: #552066; font-size: 1rem; text-transform: uppercase; letter-spacing: .04em; }
.job-proposal-rejected-action span { color: #554b5c; line-height: 1.45; }
.job-proposal-rejected-action form { margin: 0; }
.job-proposal-rejected-action button {
  width: 100%;
  min-height: 48px;
  border: 1px solid #20c900;
  border-radius: 11px;
  background: #2bff00;
  color: #10200c;
  font-weight: 900;
  cursor: pointer;
}
.job-proposal-rejected-action button:hover { background: #24e900; transform: translateY(-1px); }
.job-proposal-rejected-action button:focus-visible { outline: 3px solid rgba(155, 77, 202, .34); outline-offset: 3px; }
body.theme-dark:not(.route-admin-mestre) .job-proposal-rejected-action { border-color: rgba(224, 170, 255, .42); background: rgba(68, 24, 91, .72); }
body.theme-dark:not(.route-admin-mestre) .job-proposal-rejected-action strong { color: #f0caff; }
body.theme-dark:not(.route-admin-mestre) .job-proposal-rejected-action span { color: rgba(255, 255, 255, .78); }

.proposal-rejection-live {
  position: fixed;
  z-index: 1400;
  top: 98px;
  right: 22px;
  width: min(410px, calc(100vw - 30px));
  pointer-events: none;
}

.proposal-rejection-popup {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 230px;
  gap: 8px;
  align-content: center;
  padding: 54px 42px 40px;
  color: #2b241e;
  opacity: 0;
  filter: drop-shadow(0 18px 20px rgba(25, 12, 32, .32));
  transform: translate3d(26px, -12px, 0) rotate(1.2deg) scale(.96);
  transition: opacity 220ms ease, transform 280ms cubic-bezier(.2, .9, .2, 1.12);
  pointer-events: auto;
}

.proposal-rejection-popup::before,
.proposal-rejection-popup::after {
  content: "";
  position: absolute;
  pointer-events: none;
}

.proposal-rejection-popup::before {
  z-index: -1;
  inset: -10px -8px;
  background: url('../img/workflow-paper-02.png') center / 100% 100% no-repeat;
}

.proposal-rejection-popup::after {
  z-index: 3;
  top: -16px;
  left: 50%;
  width: 52px;
  height: 52px;
  background: url('../img/workflow-pin-02.png') center / contain no-repeat;
  filter: drop-shadow(0 5px 4px rgba(62, 13, 22, .3));
  transform: translateX(-50%);
  transform-origin: 50% 78%;
  animation: acceptedPinPress 3.2s ease-in-out infinite;
}

.proposal-rejection-popup.is-visible {
  opacity: 1;
  transform: translate3d(0, 0, 0) rotate(-.45deg) scale(1);
}

.proposal-rejection-popup.is-leaving {
  opacity: 0;
  transform: translate3d(20px, -8px, 0) rotate(.7deg) scale(.97);
}

.proposal-rejection-popup > button {
  position: absolute;
  z-index: 5;
  top: 24px;
  right: 25px;
  width: 38px;
  min-width: 38px;
  height: 38px;
  min-height: 38px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(83, 43, 96, .09);
  color: #33283a;
  font-size: 1.25rem;
  cursor: pointer;
}

.proposal-rejection-popup > button:focus-visible {
  outline: 3px solid rgba(144, 92, 174, .34);
  outline-offset: 2px;
}

.proposal-rejection-kicker {
  color: #7b3d99;
  font-size: .72rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.proposal-rejection-title {
  padding-right: 26px;
  font-size: 1.2rem;
}

.proposal-rejection-message {
  margin: 0;
  color: #403745;
  font-size: .95rem;
  line-height: 1.5;
}

.proposal-rejection-popup > small {
  color: #62586a;
  font-size: .76rem;
  line-height: 1.4;
}

.proposal-rejection-popup > i {
  position: absolute;
  right: 32px;
  bottom: 24px;
  left: 32px;
  height: 3px;
  overflow: hidden;
  border-radius: 99px;
  background: rgba(123, 61, 153, .16);
}

.proposal-rejection-popup > i > b {
  display: block;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, #2bff00, #905cae);
  transform-origin: left;
  animation: proposalNoticeLifetime 10s linear forwards;
}

@keyframes proposalNoticeLifetime {
  to { transform: scaleX(0); }
}

@media (max-width: 720px) {
  .proposal-card-actions, .proposal-card-actions form, .proposal-card-actions button { width: 100%; }
  .proposal-card.pending { grid-template-columns: 1fr; }
  .proposal-freelancer-profile { width: 100%; grid-template-columns: auto 1fr; justify-items: start; align-items: center; text-align: left; }
  .proposal-freelancer-profile img { width: 72px; height: 72px; }
  .proposal-card-actions { grid-column: 1; }
  .proposal-rejection-live { top: 82px; right: 12px; left: 12px; width: auto; }
  .proposal-rejection-popup { min-height: 220px; padding: 52px 34px 38px; }
}

@media (prefers-reduced-motion: reduce) {
  .proposal-card[data-live-proposal-card] { animation: none; }
  .proposal-rejection-popup,
  .proposal-rejection-popup::after,
  .proposal-rejection-popup > i > b { animation: none; transition: none; }
}

.profile-page {
  width: min(1320px, calc(100% - 40px));
  margin: 0 auto;
  padding: 70px 0 86px;
}

.profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 420px);
  gap: 28px;
  align-items: end;
  margin-bottom: 26px;
}

.profile-hero h1 {
  max-width: 640px;
  margin: 10px 0 12px;
  font-size: clamp(2.4rem, 5vw, 5rem);
  line-height: 0.95;
}

.profile-hero p {
  max-width: 560px;
  margin: 0;
  color: var(--muted);
  font-size: 1.08rem;
  font-weight: 700;
}

.profile-identity-card,
.profile-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.profile-identity-card {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
}

.profile-identity-card strong,
.profile-identity-card span,
.profile-identity-card small {
  display: block;
}

.profile-identity-card strong {
  font-size: 1.18rem;
}

.profile-identity-card span,
.profile-identity-card small {
  color: var(--muted);
  font-weight: 750;
}

.profile-photo {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.16), rgba(144, 92, 174, 0.12));
  color: var(--brand);
  font-size: 2rem;
  font-weight: 950;
}

.profile-photo.big {
  width: 86px;
  height: 86px;
}

.profile-page .profile-photo,
.profile-page .profile-photo img {
  border-radius: 50%;
}

.profile-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.profile-photo.is-illustrated {
  padding: 8px;
}

.profile-photo.is-illustrated img {
  object-fit: contain;
  border-radius: 6px;
}

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

.profile-plan-validity {
  position: relative;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 18px;
  padding: 20px 170px 20px 22px;
  border: 1px solid color-mix(in srgb, var(--brand) 32%, var(--line));
  border-radius: 14px;
  background: linear-gradient(120deg, color-mix(in srgb, var(--brand) 9%, var(--surface)), var(--surface) 54%, color-mix(in srgb, var(--accent) 8%, var(--surface)));
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.07);
}

.profile-plan-validity.is-renewal {
  position: relative;
  margin-top: 30px;
  border-color: var(--brand);
  background: linear-gradient(120deg, color-mix(in srgb, var(--brand) 18%, var(--surface)), var(--surface) 52%, color-mix(in srgb, var(--accent) 16%, var(--surface)));
  box-shadow: 0 0 0 1px rgba(43, 255, 0, 0.12), 0 18px 44px rgba(43, 255, 0, 0.13);
}

.profile-plan-validity.is-renewal .profile-plan-validity-copy > .eyebrow {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 2;
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 0 15px;
  border: 1px solid var(--brand);
  border-radius: 999px;
  background: var(--surface);
  color: var(--brand);
  white-space: nowrap;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 0 6px var(--surface);
}

.profile-plan-validity.is-renewal .profile-plan-validity-copy > .eyebrow::before {
  display: none;
}

.profile-plan-validity-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border-radius: 14px;
  background: transparent;
  color: #071008;
}

.profile-plan-validity-icon svg {
  width: 29px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.profile-plan-validity-icon img {
  width: 76px;
  height: 76px;
  max-width: none;
  object-fit: contain;
  filter: drop-shadow(0 9px 10px rgba(0, 0, 0, 0.24));
}

.profile-plan-validity-art {
  position: absolute;
  top: 50%;
  right: -34px;
  z-index: 2;
  width: 178px;
  height: 178px;
  object-fit: contain;
  pointer-events: none;
  transform: translateY(-50%);
  filter: drop-shadow(0 18px 22px rgba(30, 5, 62, 0.34));
}

.profile-plan-validity-copy h2,
.profile-plan-validity-copy p {
  margin: 0;
}

.profile-plan-validity-copy h2 {
  margin-top: 4px;
  font-size: 1.35rem;
}

.profile-plan-validity-copy p {
  margin-top: 4px;
  color: var(--ink);
  font-weight: 800;
}

.profile-plan-validity-copy small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-weight: 700;
}

.profile-plan-validity form {
  margin: 0;
}

.profile-plan-validity button,
.profile-plan-validity > a {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 0 20px;
  border: 0;
  border-radius: 10px;
  background: var(--brand);
  color: #071008;
  font-weight: 950;
  white-space: nowrap;
  box-shadow: 0 12px 26px rgba(43, 255, 0, 0.18);
}

.profile-plan-validity.is-renewal button {
  animation: profile-renewal-pulse 1.8s ease-in-out infinite;
}

@keyframes profile-renewal-pulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 12px 26px rgba(43, 255, 0, 0.18), 0 0 0 0 rgba(43, 255, 0, 0.34);
  }
  50% {
    transform: scale(1.025);
    box-shadow: 0 15px 32px rgba(43, 255, 0, 0.26), 0 0 0 9px rgba(43, 255, 0, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .profile-plan-validity.is-renewal button,
  .dev-plan-expired-notice a {
    animation: none;
  }
}

body.theme-dark:not(.route-admin-mestre) .profile-plan-validity {
  border-color: #31543d;
  background: linear-gradient(120deg, #15341d, #121916 54%, #25182f);
}

body.theme-dark:not(.route-admin-mestre) .profile-plan-validity.is-renewal {
  border-color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .profile-plan-validity.is-renewal .profile-plan-validity-copy > .eyebrow {
  background: #121916;
  box-shadow: 0 0 0 6px #121916;
}

.profile-earnings-summary {
  margin-bottom: 18px; padding: 22px; border: 1px solid color-mix(in srgb, var(--accent) 24%, var(--line));
  border-radius: 14px; background: var(--surface); box-shadow: 0 16px 42px rgba(17, 24, 39, 0.07);
}
.profile-earnings-summary > header { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 17px; }
.profile-earnings-summary h2 { margin: 5px 0 0; font-size: 1.45rem; }
.profile-earnings-summary > header small { color: var(--muted); font-weight: 750; }
.profile-earnings-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.profile-earnings-grid article {
  min-width: 0; padding: 17px; border: 1px solid var(--line); border-radius: 11px;
  background: color-mix(in srgb, var(--brand) 5%, var(--surface));
}
.profile-earnings-grid span, .profile-earnings-grid strong, .profile-earnings-grid small { display: block; }
.profile-earnings-grid span { color: var(--muted); font-size: 0.76rem; font-weight: 850; text-transform: uppercase; letter-spacing: 0.04em; }
.profile-earnings-grid strong { margin-top: 7px; color: var(--ink); font-size: clamp(1.25rem, 2vw, 1.7rem); }
.profile-earnings-grid small { margin-top: 5px; color: var(--muted); font-weight: 700; }
.profile-profit-comparison.is-positive strong { color: #16a100; }
.profile-profit-comparison.is-negative strong { color: #dc3545; }
body.theme-dark:not(.route-admin-mestre) .profile-earnings-summary,
body.theme-dark:not(.route-admin-mestre) .profile-earnings-grid article { border-color: #314038; background: #121916; }
body.theme-dark:not(.route-admin-mestre) .profile-profit-comparison.is-positive strong { color: #2bff00; }

.profile-quickbar {
  display: grid;
  grid-template-columns: minmax(190px, 0.9fr) repeat(3, minmax(180px, 1fr)) minmax(170px, 0.82fr);
  gap: 8px;
  margin-bottom: 18px;
  padding: 8px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  box-shadow: 0 16px 42px rgba(17, 24, 39, 0.06);
}

.profile-quickbar > a,
.profile-quickbar > .profile-quick-stat,
.profile-quickbar form > button {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 58px;
  padding: 8px 11px;
  border: 1px solid transparent;
  border-radius: 10px;
  background: transparent;
  color: var(--ink);
  text-align: left;
  box-shadow: none;
}

.profile-quickbar > a:hover,
.profile-quickbar > a:focus-visible,
.profile-quickbar form > button:hover,
.profile-quickbar form > button:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 26%, var(--line));
  background: color-mix(in srgb, var(--accent) 7%, transparent);
}

.profile-quickbar form {
  margin: 0;
}

.profile-quickbar strong,
.profile-quickbar small {
  display: block;
}

.profile-quickbar strong {
  color: var(--ink);
  font-size: 0.9rem;
}

.profile-quickbar small {
  margin-top: 2px;
  color: var(--muted);
  font-size: 0.7rem;
  font-weight: 750;
}

.profile-quick-stat {
  background: color-mix(in srgb, var(--brand) 7%, transparent) !important;
}

.profile-quick-stat strong {
  color: var(--brand);
  font-size: 1.1rem;
}

.profile-quick-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--accent) 20%, var(--line));
  border-radius: 9px;
  background: color-mix(in srgb, var(--accent) 8%, transparent);
  color: var(--accent);
}

.profile-quick-icon svg,
.profile-quick-delete svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.profile-quick-delete {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 58px;
  padding: 8px 11px;
  border: 1px solid #e33d50;
  border-radius: 10px;
  background: linear-gradient(135deg, #e5485d, #b91f35);
  color: #fff;
  text-align: left;
  box-shadow: 0 10px 24px rgba(229, 72, 93, 0.2);
}

.profile-quick-delete-icon {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.35);
  border-radius: 9px;
  background: rgba(255, 255, 255, 0.12);
}

.profile-quick-delete strong,
.profile-quick-delete small {
  display: block;
  color: #fff;
}

.profile-quick-delete strong {
  font-size: 0.88rem;
}

.profile-quick-delete small {
  margin-top: 2px;
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.68rem;
  font-weight: 750;
}

.profile-quick-delete:hover,
.profile-quick-delete:focus-visible {
  border-color: #ff7182;
  background: linear-gradient(135deg, #f05265, #ca243c);
  color: #fff;
  transform: translateY(-1px);
}

.profile-side,
.profile-main,
.profile-form {
  display: grid;
  gap: 16px;
}

.profile-card {
  padding: 22px;
}

.profile-card.compact {
  gap: 14px;
  padding: 18px;
}

.profile-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.profile-card-head h2 {
  margin: 4px 0 0;
  font-size: 1.35rem;
}

.profile-card-head small {
  max-width: 230px;
  color: var(--muted);
  text-align: right;
}

.profile-metric {
  display: grid;
  gap: 2px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbf4;
}

.profile-metric strong {
  color: var(--ink);
  font-size: 1.25rem;
}

.profile-metric span {
  color: var(--muted);
  font-weight: 750;
}

.profile-action-link {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 8px;
  background: var(--brand);
  color: #08160d;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.12);
  font-weight: 950;
  text-align: center;
}

.profile-action-link.ghost {
  border-color: var(--accent);
  background: transparent;
  color: var(--accent);
  box-shadow: none;
}

.profile-action-link.danger {
  width: 100%;
  border-color: rgba(255, 70, 70, 0.35);
  background: rgba(255, 70, 70, 0.08);
  color: #ff4646;
  box-shadow: none;
}

.profile-action-link.delete-account {
  width: 100%;
  margin-top: 6px;
  border: 1px solid rgba(255, 65, 88, 0.62);
  color: #ff5267;
  background: rgba(255, 65, 88, 0.06);
}

.profile-action-link.delete-account:hover {
  border-color: #ff5267;
  background: rgba(255, 65, 88, 0.13);
}

body.delete-account-open {
  overflow: hidden;
}

.delete-account-modal {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: 20px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transition: opacity 160ms ease, visibility 160ms ease;
}

.delete-account-modal.open {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}

.delete-account-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(3, 7, 5, 0.9);
}

.delete-account-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 15px;
  width: min(100%, 540px);
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  padding: 30px;
  border: 1px solid rgba(255, 82, 103, 0.5);
  border-top: 4px solid #ff5267;
  border-radius: 18px;
  color: #f8fff9;
  background:
    radial-gradient(circle at 100% 0, rgba(144, 92, 174, 0.2), transparent 36%),
    #101713;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.55);
  transform: translateY(10px) scale(0.985);
  transition: transform 180ms ease;
}

.delete-account-modal.open .delete-account-dialog {
  transform: translateY(0) scale(1);
}

.delete-account-close {
  position: absolute;
  top: 14px;
  right: 16px;
  width: 36px;
  min-height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: rgba(255, 255, 255, 0.07);
  font-size: 1.25rem;
}

.delete-account-dialog h2,
.delete-account-dialog p {
  margin: 0;
}

.delete-account-dialog h2 {
  padding-right: 42px;
  font-size: clamp(1.7rem, 5vw, 2.35rem);
}

.delete-account-dialog p {
  color: #bdc9c2;
  font-weight: 700;
  line-height: 1.5;
}

.delete-account-warning {
  padding: 13px 15px;
  border-left: 4px solid #ffcb45;
  border-radius: 8px;
  color: #ffe4a0;
  background: rgba(255, 203, 69, 0.09);
  font-size: 0.88rem;
  font-weight: 780;
  line-height: 1.45;
}

.delete-account-dialog form,
.delete-account-dialog label {
  display: grid;
  gap: 11px;
}

.delete-account-dialog label {
  color: #eaf5ed;
  font-size: 0.82rem;
  font-weight: 850;
}

.delete-account-dialog input {
  width: 100%;
  min-height: 50px;
  padding: 10px 14px;
  border: 1px solid rgba(255, 255, 255, 0.16);
  border-radius: 10px;
  color: #fff;
  background: #0b120e;
}

.delete-account-dialog input:focus {
  border-color: #ff5267;
  outline: 3px solid rgba(255, 82, 103, 0.14);
}

.delete-account-actions {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 10px;
  margin-top: 4px;
}

.delete-account-actions .btn {
  min-height: 50px;
}

.delete-account-actions .btn.ghost {
  border-color: rgba(255, 255, 255, 0.22);
  background: #242b27;
  color: #fff;
  box-shadow: none;
}

.delete-account-actions .btn.ghost:hover,
.delete-account-actions .btn.ghost:focus-visible {
  border-color: rgba(255, 255, 255, 0.42);
  background: #303934;
  color: #fff;
}

.delete-account-actions .btn.danger {
  border-color: #ff5267;
  color: #fff;
  background: #d92f46;
}

.delete-account-actions .btn.danger:disabled {
  cursor: not-allowed;
  opacity: 0.38;
}

@media (max-width: 560px) {
  .delete-account-dialog {
    padding: 25px 18px 18px;
    border-radius: 14px;
  }

  .delete-account-actions {
    grid-template-columns: 1fr;
  }
}

.profile-side form {
  margin: 0;
}

.profile-form label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 0.8rem;
  font-weight: 950;
  text-transform: uppercase;
}

.profile-form input,
.profile-form select,
.profile-form textarea {
  min-height: 50px;
  text-transform: none;
}

.profile-form textarea {
  min-height: 108px;
  resize: vertical;
  line-height: 1.45;
}

.profile-form input:disabled {
  opacity: 0.72;
}

.profile-form button {
  min-height: 50px;
}

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

.profile-portfolio-manager {
  margin-top: 20px;
}

.profile-portfolio-summary {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

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

.profile-portfolio-summary-meta {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-left: auto;
}

.profile-portfolio-summary h2,
.profile-portfolio-summary-meta small {
  white-space: nowrap;
}

@media (max-width: 640px) {
  .profile-portfolio-summary {
    gap: 8px;
  }

  .profile-portfolio-summary > div {
    min-width: 0;
  }

  .profile-portfolio-summary h2 {
    font-size: 1.25rem;
    letter-spacing: -0.035em;
  }

  .profile-portfolio-summary-meta {
    gap: 8px;
  }

  .profile-portfolio-summary-meta small {
    font-size: 0.68rem;
  }

  .profile-portfolio-summary .dev-execution-collapse-icon {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }
}

.profile-portfolio-manager[open] .dev-execution-collapse-icon {
  transform: rotate(180deg);
  background: rgba(144, 92, 174, 0.12);
}

.profile-account-collapsible[open] .dev-execution-collapse-icon {
  transform: rotate(180deg);
  background: rgba(144, 92, 174, 0.12);
}

.profile-account-collapsible > .profile-form {
  margin-top: 18px;
}

.profile-portfolio-collapsible {
  margin-top: 18px;
}

.profile-portfolio-summary:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 7px;
  border-radius: 5px;
}

.profile-portfolio-intro {
  max-width: 760px;
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.profile-portfolio-form {
  display: grid;
  grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
  gap: 16px;
  margin-top: 20px;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbf4;
}

.profile-portfolio-form label small {
  display: block;
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1.4;
  text-transform: none;
}

.profile-portfolio-description,
.profile-portfolio-form > button {
  grid-column: 1 / -1;
}

.profile-portfolio-empty {
  margin-top: 18px;
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  color: var(--muted);
  font-weight: 750;
  line-height: 1.5;
}

.profile-portfolio-list {
  display: grid;
  gap: 12px;
  margin-top: 20px;
}

.profile-portfolio-list > article {
  display: grid;
  grid-template-columns: 180px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.profile-portfolio-thumb {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  border-radius: 6px;
  background: #101714;
}

.profile-portfolio-thumb img,
.profile-portfolio-thumb video,
.profile-portfolio-thumb iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}

.profile-portfolio-list h3 {
  margin: 0 0 6px;
  font-size: 1rem;
}

.profile-portfolio-list p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.profile-portfolio-list form,
.profile-portfolio-list form button {
  margin: 0;
}

.profile-public-testimonials {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbf4;
}

.profile-photo-preview {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #f8fbf4;
}

.profile-photo-preview .profile-photo {
  flex: 0 0 auto;
  width: 92px;
  height: 92px;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}

.profile-form.has-pending-avatar .profile-photo {
  border-color: var(--brand);
  box-shadow: 0 0 0 4px rgba(43, 255, 0, 0.14);
}

.profile-photo-preview p {
  margin: 0;
  color: #4e5966;
  font-weight: 750;
}

.profile-photo-preview p.is-ready {
  color: #079640;
}

.profile-photo-preview p.is-error {
  color: #d63535;
}

.profile-form button:disabled,
.avatar-upload-form button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
  filter: saturate(0.45);
}

.profile-form input[type="file"] {
  padding: 12px;
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
}

.profile-form input[type="file"]::file-selector-button {
  min-height: 32px;
  margin-right: 10px;
  padding: 0 12px;
  border: 1px solid var(--line);
  border-radius: 6px;
  background: #f7f9f4;
  color: var(--ink);
  font-weight: 800;
}

.danger-soft {
  border: 1px solid rgba(255, 70, 70, 0.38);
  background: rgba(255, 70, 70, 0.08);
  color: #ff4646;
  box-shadow: none;
}

body.theme-dark:not(.route-admin-mestre) .profile-identity-card,
body.theme-dark:not(.route-admin-mestre) .profile-card {
  border-color: #27372f;
  background: #121916;
  box-shadow: 0 12px 0 rgba(43, 255, 0, 0.08), 0 22px 48px rgba(0, 0, 0, 0.22);
}

body.theme-dark:not(.route-admin-mestre) .profile-metric,
body.theme-dark:not(.route-admin-mestre) .profile-photo-preview,
body.theme-dark:not(.route-admin-mestre) .profile-public-testimonials,
body.theme-dark:not(.route-admin-mestre) .profile-portfolio-form,
body.theme-dark:not(.route-admin-mestre) .profile-portfolio-list > article {
  border-color: #314038;
  background: #101714;
}

body.theme-dark:not(.route-admin-mestre) .profile-metric strong {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .profile-photo-preview p {
  color: #a9b7ae;
}

body.theme-dark:not(.route-admin-mestre) .profile-photo-preview p.is-ready {
  color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .profile-photo-preview p.is-error {
  color: #ff7777;
}

body.theme-dark:not(.route-admin-mestre) .profile-form input[type="file"] {
  border-color: #314038;
  background: #101714;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .profile-form input[type="file"]::file-selector-button {
  border-color: #314038;
  background: #18211d;
  color: #f7fff9;
}

.empty-client-hub {
  display: grid;
  gap: 12px;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.empty-client-hub h2 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(1.8rem, 4vw, 3rem);
}

.client-hub-grid {
  align-items: stretch;
}

.project-focus {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(84px, auto);
  gap: 24px;
  align-items: center;
  padding: 22px;
}

.project-focus h2,
.project-focus p {
  max-width: 100%;
  margin-left: 0;
}

.project-focus h2 {
  max-width: 720px;
  overflow-wrap: anywhere;
  line-height: 1.12;
}

.project-focus strong {
  white-space: nowrap;
  transition: transform 220ms ease;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(300px, 1fr);
  margin-top: 18px;
}

.timeline li {
  padding-top: 2px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--line);
  color: var(--muted);
}

.timeline li.done {
  color: var(--ok);
  font-weight: 800;
}

.timeline li.current {
  color: var(--ink);
  font-weight: 900;
}

.timeline li.done::before,
.timeline li.current::before {
  animation: milestonePulse 1.8s ease-in-out infinite;
}

.timeline li.done::before {
  background: var(--brand);
}

.timeline li.current::before {
  box-shadow: 0 0 0 5px rgba(144, 92, 174, 0.12);
}

.chat-box {
  display: grid;
  gap: 10px;
}

.message {
  padding: 12px;
  border-radius: 8px;
  background: #f4f7fb;
}

.message strong {
  display: block;
  margin-bottom: 3px;
}

.message p {
  margin: 0;
}

.chat-input {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-top: 16px;
}

.dev-counter-panel,
.dev-chat-panel {
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding: 14px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 8px;
  background: rgba(144, 92, 174, 0.06);
}

.dev-counter-panel p {
  margin: 4px 0 0;
  color: var(--muted);
}

.dev-chat-panel h4 {
  margin: 0;
}

.dev-ops-page {
  display: grid;
  grid-template-columns: minmax(250px, 330px) minmax(0, 1fr);
  gap: clamp(26px, 4vw, 54px);
  width: min(100% - 48px, 1240px);
  margin: 54px auto 90px;
}

.dev-ops-side {
  position: sticky;
  top: 112px;
  align-self: start;
  display: grid;
  gap: 18px;
}

.dev-ops-side h1 {
  margin: 8px 0 0;
  font-size: clamp(2.35rem, 4.6vw, 4.45rem);
  line-height: 0.95;
}

.dev-ops-side p,
.dev-ops-hero p,
.dev-job-card p,
.dev-empty-workspace p,
.dev-work-hero p,
.dev-work-card p {
  color: var(--muted);
}

.dev-job-tabs {
  display: grid;
  gap: 10px;
  margin-top: 8px;
}

.dev-job-tabs > strong,
.dev-section-title .eyebrow {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.dev-job-tabs > span {
  color: var(--muted);
}

.dev-job-tabs a {
  display: grid;
  gap: 4px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
}

.dev-job-tabs a.active {
  border-color: rgba(43, 255, 0, 0.6);
  box-shadow: inset 4px 0 0 var(--brand);
}

.dev-job-tabs span,
.dev-job-card h3,
.dev-work-hero h3 {
  font-weight: 950;
}

.dev-job-tabs small {
  color: var(--muted);
}

.dev-ops-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.dev-ops-hero,
.dev-ops-stats article,
.dev-job-card,
.dev-empty-workspace,
.dev-work-hero,
.dev-work-summary article,
.dev-work-card {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 18px 46px rgba(22, 25, 29, 0.06);
}

.dev-ops-hero {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 26px;
}

.dev-ops-hero h2 {
  max-width: 780px;
  margin: 8px 0 8px;
  font-size: clamp(1.8rem, 3.4vw, 3rem);
  line-height: 1.02;
}

.approval-warning {
  display: inline-flex;
  max-width: 320px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 179, 0, 0.34);
  border-radius: 8px;
  background: rgba(255, 179, 0, 0.1);
  color: #9d6d00;
}

.dev-ops-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.dev-ops-stats article {
  display: grid;
  gap: 4px;
  padding: 16px;
}

.dev-ops-stats span,
.dev-work-summary small {
  color: var(--muted);
  font-size: 0.76rem;
  font-weight: 950;
  text-transform: uppercase;
}

.dev-ops-stats strong {
  font-size: 1.8rem;
}

.dev-ops-stats small,
.dev-work-summary span {
  color: var(--muted);
}

.dev-ops-layout {
  display: grid;
  grid-template-columns: minmax(300px, 0.42fr) minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.dev-public-feed,
.dev-work-panel {
  display: grid;
  gap: 14px;
  min-width: 0;
}

.dev-section-title {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}

.dev-section-title h2 {
  margin: 4px 0 0;
  font-size: 1.55rem;
}

.dev-job-card {
  display: grid;
  gap: 14px;
  padding: 18px;
}

.dev-job-card.mine {
  border-color: rgba(43, 255, 0, 0.48);
}

.dev-job-card-top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.dev-job-card-top span,
.job-accepted-badge,
.job-locked-badge {
  display: inline-flex;
  align-items: center;
  width: max-content;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.12);
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 950;
}

.job-accepted-badge {
  background: rgba(43, 255, 0, 0.12);
  color: var(--brand);
}

.job-locked-badge {
  background: rgba(255, 179, 0, 0.14);
  color: #9d6d00;
}

.dev-job-card h3,
.dev-work-hero h3 {
  margin: 0;
  font-size: 1.18rem;
}

.dev-work-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 24px;
}

.dev-work-hero > strong {
  color: var(--brand);
  font-size: clamp(2rem, 4vw, 3.4rem);
  white-space: nowrap;
}

.dev-work-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.dev-work-summary article {
  display: grid;
  gap: 4px;
  min-height: 96px;
  padding: 14px;
}

.dev-work-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.9fr) minmax(260px, 1fr);
  gap: 14px;
}

.dev-work-card {
  display: grid;
  align-content: start;
  gap: 14px;
  padding: 20px;
}

.dev-work-card h3 {
  margin: 0;
}

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

.dev-participants div {
  display: grid;
  gap: 3px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: color-mix(in srgb, var(--brand) 6%, var(--surface));
}

.dev-participants span,
.chat-avatar-stack span,
.floating-chat-button {
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: var(--accent);
  color: #ffffff;
  font-weight: 950;
}

.dev-participants span {
  width: 34px;
  height: 34px;
}

.dev-participants small {
  color: var(--muted);
}

.floating-chat-button {
  position: fixed;
  right: 28px;
  bottom: 26px;
  z-index: 40;
  width: 68px;
  height: 68px;
  border: 3px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  box-shadow: 0 18px 44px rgba(144, 92, 174, 0.38);
  animation: chatButtonPulse 2.4s ease-in-out infinite;
}

.floating-chat-button::before,
.floating-chat-button::after {
  content: none;
}

.floating-chat-button .floating-chat-icon {
  width: 34px;
  height: 27px;
  border-color: #ffffff;
  background: transparent;
}

.floating-chat-button .floating-chat-icon::before,
.floating-chat-button .floating-chat-icon::after {
  background: #ffffff;
  animation: mascotSwitchBlink 4.8s ease-in-out infinite;
  transform-origin: 50% 50%;
}

.floating-chat-button span {
  position: absolute;
  right: -4px;
  top: -6px;
  min-width: 24px;
  height: 24px;
  padding: 0 7px;
  border: 2px solid #fff;
  border-radius: 999px;
  background: var(--brand);
  color: #08160d;
  font-size: 0.76rem;
}

.client-payment-notice {
  appearance: none;
  position: relative;
  width: 100%;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  align-items: center;
  gap: 18px;
  margin: 18px 0;
  padding: 20px;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--accent) 58%, var(--brand));
  border-radius: 12px;
  background: linear-gradient(125deg, color-mix(in srgb, var(--accent) 20%, var(--surface)), color-mix(in srgb, var(--brand) 12%, var(--surface)) 62%, var(--surface));
  color: var(--ink);
  font: inherit;
  text-align: left;
  cursor: pointer;
  box-shadow: 0 18px 44px rgba(144, 92, 174, 0.2), inset 4px 0 0 var(--accent);
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.client-payment-notice::after {
  content: "";
  position: absolute;
  width: 180px;
  height: 180px;
  right: -70px;
  top: -105px;
  border-radius: 50%;
  background: rgba(144, 92, 174, 0.13);
  pointer-events: none;
}

.client-payment-notice:hover {
  border-color: color-mix(in srgb, var(--accent) 58%, var(--brand)) !important;
  background: linear-gradient(125deg, color-mix(in srgb, var(--accent) 20%, var(--surface)), color-mix(in srgb, var(--brand) 12%, var(--surface)) 62%, var(--surface)) !important;
  color: var(--ink) !important;
  box-shadow: 0 18px 44px rgba(144, 92, 174, 0.2), inset 4px 0 0 var(--accent);
  filter: none !important;
  transform: none !important;
}

.client-payment-notice:focus-visible {
  transform: none;
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.client-payment-notice-icon {
  width: 58px;
  height: 58px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(135deg, var(--accent), var(--brand));
  color: #fff;
  box-shadow: 0 10px 24px rgba(144, 92, 174, 0.25);
}

.client-payment-notice-icon svg {
  width: 29px;
  height: 29px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
}

.client-payment-notice-copy,
.client-payment-notice-action {
  position: relative;
  z-index: 1;
  display: grid;
}

.client-payment-notice-copy small {
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.client-payment-notice-copy strong {
  margin-top: 4px;
  font-size: 1.05rem;
  line-height: 1.25;
}

.client-payment-notice-copy em {
  margin-top: 5px;
  color: var(--muted);
  font-size: 0.84rem;
  font-style: normal;
  line-height: 1.4;
}

.client-payment-notice-action {
  justify-items: end;
  gap: 8px;
  white-space: nowrap;
}

.client-payment-notice-action b {
  color: var(--accent);
  font-size: 1.35rem;
}

.client-payment-notice-action span {
  font-size: 0.8rem;
  font-weight: 900;
}

.client-payment-notice-action i {
  margin-left: 5px;
  font-style: normal;
}

@media (max-width: 680px) {
  .client-payment-notice {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 13px;
    padding: 17px 15px;
  }

  .client-payment-notice-icon {
    width: 48px;
    height: 48px;
  }

  .client-payment-notice-action {
    grid-column: 2;
    grid-template-columns: auto auto;
    align-items: center;
    justify-content: space-between;
    justify-items: start;
    width: 100%;
    white-space: normal;
  }

  .client-payment-notice-action b {
    font-size: 1.15rem;
  }
}

@keyframes chatButtonPulse {
  0%,
  100% {
    transform: translateY(0) scale(1);
    box-shadow: 0 18px 44px rgba(43, 255, 0, 0.35), 0 0 0 0 rgba(43, 255, 0, 0.28);
  }

  50% {
    transform: translateY(-4px) scale(1.04);
    box-shadow: 0 22px 54px rgba(43, 255, 0, 0.42), 0 0 0 12px rgba(43, 255, 0, 0);
  }
}

.payment-callout {
  position: fixed;
  inset: 0;
  z-index: 920;
  opacity: 0;
  pointer-events: none;
  transition: opacity 180ms ease;
}

.payment-callout.open {
  opacity: 1;
  pointer-events: auto;
}

.payment-callout-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(6, 9, 8, 0.68);
  backdrop-filter: blur(7px);
}

.payment-callout-dialog {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(540px, calc(100vw - 32px));
  max-height: calc(100dvh - 32px);
  overflow: auto;
  padding: 28px;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 28px 90px rgba(4, 12, 7, 0.34);
  transform: translate(-50%, calc(-50% + 14px)) scale(0.98);
  transition: transform 220ms ease;
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--accent) 60%, transparent) transparent;
}

.payment-callout.open .payment-callout-dialog {
  transform: translate(-50%, -50%) scale(1);
}

.payment-callout-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 32px;
  min-height: 32px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-size: 1.2rem;
  line-height: 1;
}

.payment-callout-close:hover,
.payment-callout-close:focus-visible,
.payment-callout-close:active {
  border: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  transform: none;
}

.payment-callout-heading {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  padding-right: 38px;
}

.payment-callout-icon {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(43, 255, 0, 0.42);
  border-radius: 8px;
  color: #123118;
  background: linear-gradient(135deg, #2bff00, #baffad);
  box-shadow: 0 10px 24px rgba(43, 255, 0, 0.2);
}

.payment-callout-icon svg {
  width: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.payment-callout-heading .eyebrow {
  margin: 0;
}

.payment-callout-dialog h2 {
  margin: 4px 0 0;
  max-width: 390px;
  font-size: clamp(1.55rem, 2.4vw, 2rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.payment-callout-intro {
  margin: 18px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.payment-callout-value {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 20px 0;
  padding: 16px 18px;
  border: 1px solid color-mix(in srgb, var(--brand) 28%, var(--line));
  border-radius: 8px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--brand) 11%, var(--surface)), color-mix(in srgb, var(--accent) 8%, var(--surface)));
}

.payment-callout-value small {
  display: block;
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 900;
  text-transform: uppercase;
}

.payment-callout-value em {
  display: block;
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 700;
}

.payment-callout-value strong {
  flex: 0 0 auto;
  color: var(--brand);
  font-size: clamp(1.65rem, 5vw, 2.15rem);
  line-height: 1;
  white-space: nowrap;
}

.payment-callout-benefits {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0 0 20px;
  list-style: none;
}

.payment-callout-benefits li {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  align-items: center;
  gap: 11px;
  min-height: 54px;
  padding: 9px 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: transparent;
  box-shadow: none;
}

.payment-callout-benefits li > span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid var(--line);
  color: var(--ink);
  background: transparent;
  font-size: 0.8rem;
  font-weight: 950;
}

.payment-callout-benefits p {
  margin: 0;
  line-height: 1.2;
}

.payment-callout-benefits strong,
.payment-callout-benefits small {
  display: block;
}

.payment-callout-benefits strong {
  color: var(--ink);
  font-size: 0.86rem;
}

.payment-callout-benefits small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 0.76rem;
}

.payment-callout-pay {
  min-height: 54px;
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  justify-content: center;
  border-radius: 8px;
  color: #0b1e0f;
}

.payment-callout-pay svg {
  width: 19px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 160ms ease;
}

.payment-callout-pay:hover svg,
.payment-callout-pay:focus-visible svg {
  transform: translateX(3px);
}

.sales-showcase-callout {
  position: fixed;
  left: 50%;
  bottom: 20px;
  z-index: 870;
  overflow: hidden;
  display: grid;
  grid-template-columns: 250px minmax(260px, 1fr) auto auto;
  gap: 22px;
  align-items: center;
  width: min(1160px, calc(100vw - 56px));
  min-height: 86px;
  padding: 14px 18px;
  border-radius: 10px;
  background: #151515;
  color: #ffffff;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.24);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, 16px);
  transition: opacity 180ms ease, transform 180ms ease;
}

.sales-showcase-callout.open {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.sales-showcase-callout.open::before {
  content: "";
  position: absolute;
  right: auto;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(90deg, #2bff00, #905CAE);
  transform-origin: left center;
  animation: salesShowcaseDismissBar 30s linear forwards;
}

.sales-showcase-coins {
  position: relative;
  height: 86px;
  overflow: hidden;
  border-radius: 8px;
  background:
    radial-gradient(circle at 22% 20%, rgba(255, 206, 91, 0.25), transparent 34%),
    linear-gradient(135deg, rgba(43, 255, 0, 0.2), rgba(144, 92, 174, 0.22));
}

.sales-showcase-coins::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 12%, rgba(255, 255, 255, 0.24) 42%, transparent 68%);
  opacity: 0;
  transform: translateX(-70%);
  animation: salesCoinSheen 4.8s ease-in-out infinite;
}

.sales-showcase-coins img {
  position: absolute;
  bottom: -20px;
  width: 96px;
  height: 96px;
  object-fit: contain;
  filter: drop-shadow(0 16px 18px rgba(0, 0, 0, 0.32));
  animation: salesCoinFloat 5.2s ease-in-out infinite;
}

.sales-showcase-coins .bronze {
  left: 14px;
  transform: rotate(-10deg);
}

.sales-showcase-coins .prata {
  left: 77px;
  bottom: -12px;
  z-index: 2;
  animation-delay: 160ms;
}

.sales-showcase-coins .ouro {
  left: 140px;
  transform: rotate(10deg);
  animation-delay: 320ms;
}

@keyframes salesCoinFloat {
  0%,
  100% {
    translate: 0 0;
  }

  50% {
    translate: 0 -4px;
  }
}

@keyframes salesCoinSheen {
  0%,
  62%,
  100% {
    opacity: 0;
    transform: translateX(-70%);
  }

  74% {
    opacity: 1;
  }

  88% {
    opacity: 0;
    transform: translateX(70%);
  }
}

@keyframes salesShowcaseDismissBar {
  from {
    transform: scaleX(1);
  }

  to {
    transform: scaleX(0);
  }
}

.sales-showcase-copy {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.sales-showcase-copy span {
  color: #b98ce2;
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.sales-showcase-copy strong {
  font-size: clamp(1.15rem, 2vw, 1.55rem);
  line-height: 1.08;
}

.sales-showcase-cta {
  display: inline-flex;
  min-height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0 28px;
  border-radius: 8px;
  background: var(--brand);
  color: #07160c;
  font-weight: 950;
  white-space: nowrap;
}

.sales-showcase-close {
  display: grid;
  width: 38px;
  min-height: 38px;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
  font-size: 1.8rem;
  line-height: 1;
}

body:not(.theme-dark) .sales-showcase-callout {
  border: 1px solid rgba(144, 92, 174, 0.18);
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.96), rgba(243, 251, 245, 0.96)),
    #ffffff;
  color: var(--ink);
  box-shadow: 0 24px 70px rgba(33, 43, 38, 0.14);
}

body:not(.theme-dark) .sales-showcase-coins {
  background:
    radial-gradient(circle at 22% 20%, rgba(255, 206, 91, 0.26), transparent 34%),
    linear-gradient(135deg, rgba(43, 255, 0, 0.14), rgba(144, 92, 174, 0.12));
}

body:not(.theme-dark) .sales-showcase-close {
  color: var(--ink);
}

.floating-chat-panel {
  position: fixed;
  left: auto;
  right: clamp(18px, 3vw, 42px);
  bottom: calc(clamp(18px, 4vw, 42px) + 92px);
  z-index: 41;
  display: grid;
  grid-template-rows: auto minmax(240px, 1fr) auto;
  width: min(410px, calc(100vw - 32px));
  max-height: min(660px, calc(100vh - 132px));
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 28px 90px rgba(22, 25, 29, 0.24);
  opacity: 0;
  pointer-events: none;
  transform: translateY(16px) scale(0.98);
  transform-origin: bottom right;
  transition: opacity 180ms ease, transform 180ms ease;
}

.floating-chat-panel.open {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.platform-chat-panel {
  left: clamp(18px, 3vw, 42px);
  right: auto;
  bottom: calc(clamp(18px, 4vw, 42px) + 92px);
  width: min(410px, calc(100vw - 42px));
  overflow: hidden;
  transform-origin: bottom left;
}

.platform-chat-panel.open {
  transform: translateY(0) scale(1);
}

.platform-chat-panel .floating-chat-input {
  overflow: hidden;
}

.platform-chat-panel .floating-chat-messages {
  min-height: 0;
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-color: color-mix(in srgb, var(--accent) 55%, transparent) transparent;
  scrollbar-width: thin;
}

.platform-chat-panel .floating-chat-messages::-webkit-scrollbar {
  width: 7px;
}

.platform-chat-panel .floating-chat-messages::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 55%, transparent);
}

.floating-chat-panel header {
  position: relative;
  display: grid;
  grid-template-columns: auto auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 16px 62px 16px 16px;
  border-bottom: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.12), rgba(144, 92, 174, 0.12));
}

.platform-chat-brand-3d {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  flex: 0 0 auto;
}

.platform-chat-brand-3d img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 8px 10px rgba(0, 24, 10, .28));
}

.chat-avatar-stack {
  display: flex;
  align-items: center;
}

.chat-avatar-stack span {
  width: 36px;
  height: 36px;
  border: 2px solid var(--surface);
}

.chat-avatar-stack span + span {
  margin-left: -10px;
  background: var(--accent);
  color: #fff;
}

.floating-chat-panel header strong,
.floating-chat-panel header small {
  display: block;
}

.floating-chat-panel header small {
  color: var(--muted);
}

.floating-chat-panel header button {
  position: absolute;
  top: 50%;
  right: 14px;
  width: 38px;
  min-height: 38px;
  padding: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font-size: 1.3rem;
  box-shadow: none;
  transform: translateY(-50%);
  z-index: 2;
}

.floating-chat-panel header .platform-chat-close {
  right: 14px;
}

.platform-chat-download svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.floating-chat-messages {
  display: grid;
  align-content: start;
  gap: 12px;
  overflow-y: auto;
  padding: 16px;
  background: color-mix(in srgb, var(--brand) 4%, var(--bg));
}

.chat-bubble {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 10px;
  max-width: 92%;
}

.chat-bubble > span {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 50%;
  background: var(--brand);
  color: #08160d;
  font-size: 0.78rem;
  font-weight: 950;
}

.chat-bubble > div {
  padding: 10px 12px;
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 10px 24px rgba(22, 25, 29, 0.08);
}

.chat-bubble.is-dev {
  justify-self: end;
  grid-template-columns: minmax(0, 1fr) 34px;
}

.chat-bubble.is-dev > span {
  grid-column: 2;
  grid-row: 1;
  background: var(--accent);
  color: #fff;
}

.chat-bubble.is-dev > div {
  grid-column: 1;
  grid-row: 1;
  background: #f0e8ff;
}

.chat-bubble.is-client > span {
  background: linear-gradient(135deg, #2bff00, #58d943);
  color: #102514;
  box-shadow: 0 7px 16px rgba(43, 210, 20, .2);
}

.chat-bubble.is-admin-master > span {
  background: linear-gradient(135deg, #ffbf54, #ef8b32);
  color: #321d08;
  font-size: .64rem;
  letter-spacing: -.03em;
  box-shadow: 0 7px 16px rgba(222, 125, 37, .24);
}

.chat-bubble.is-admin-master > div {
  border: 1px solid rgba(226, 144, 55, .24);
  background: #fff4df;
}

.chat-bubble.is-admin-master strong {
  color: #9b4f16;
}

body.theme-dark:not(.route-admin-mestre) .chat-bubble.is-admin-master > div {
  border-color: rgba(255, 190, 92, .24);
  background: #34281d;
}

body.theme-dark:not(.route-admin-mestre) .chat-bubble.is-admin-master strong {
  color: #ffc66f;
}

.chat-bubble strong,
.chat-bubble p {
  margin: 0;
}

.chat-bubble p {
  margin-top: 3px;
  color: var(--muted);
}

.chat-bubble p a {
  color: var(--accent);
  font-weight: 900;
  text-decoration: none;
}

.chat-bubble p a:hover,
.chat-bubble p a:focus-visible {
  text-decoration: underline;
}

.chat-bubble.is-typing p {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  min-height: 22px;
}

.chat-bubble.is-typing p span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--accent);
  opacity: 0.35;
  animation: freelaTypingDot 1.05s ease-in-out infinite;
}

.chat-bubble.is-typing p span:nth-child(2) {
  animation-delay: 140ms;
}

.chat-bubble.is-typing p span:nth-child(3) {
  animation-delay: 280ms;
}

@keyframes freelaTypingDot {
  0%,
  80%,
  100% {
    transform: translateY(0) scale(0.72);
    opacity: 0.32;
  }

  40% {
    transform: translateY(-4px) scale(1);
    opacity: 1;
  }
}

.floating-chat-input {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  padding: 14px;
  border-top: 1px solid var(--line);
}

.platform-chat-image-button {
  display: grid;
  width: 46px;
  min-height: 46px;
  place-items: center;
  border: 1px solid color-mix(in srgb, var(--brand) 45%, var(--line));
  border-radius: 10px;
  color: var(--brand);
  cursor: pointer;
}

.platform-chat-image-button[hidden] { display: none; }
.platform-chat-image-button input { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.platform-chat-image-button svg { width: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.platform-chat-image-preview {
  position: relative;
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: 62px minmax(0, 1fr) 28px;
  align-items: center;
  gap: 9px;
  padding: 7px;
  border: 1px solid color-mix(in srgb, var(--brand) 35%, var(--line));
  border-radius: 11px;
  background: color-mix(in srgb, var(--brand) 5%, var(--surface));
  color: var(--muted);
  font-size: .72rem;
  overflow-wrap: anywhere;
}
.platform-chat-image-preview[hidden] { display: none; }
.platform-chat-image-preview > img { width: 62px; height: 48px; border-radius: 8px; object-fit: cover; }
.floating-chat-input .platform-chat-image-remove {
  display: grid;
  width: 28px;
  min-height: 28px;
  padding: 0;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  background: var(--surface);
  color: var(--text);
  font-size: 1.05rem;
  line-height: 1;
}
.chat-message-image { display: block; width: min(220px, 100%); max-height: 240px; margin-top: 8px; border-radius: 10px; object-fit: cover; }

.floating-chat-input input {
  min-height: 46px;
}

.floating-chat-input button {
  min-height: 46px;
}

.platform-chat-panel {
  grid-template-rows: auto minmax(190px, 1fr) auto auto;
}

.platform-chat-support-actions {
  padding: 0 14px;
  background: var(--surface);
}

.platform-human-support {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  width: 100%;
  min-height: 58px;
  gap: 1px 10px;
  align-items: center;
  padding: 9px 12px;
  border: 1px solid color-mix(in srgb, var(--accent) 34%, var(--line));
  border-radius: 12px;
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
  color: var(--ink);
  text-align: left;
  box-shadow: none;
}

.platform-human-support > span {
  grid-row: 1 / 3;
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 10px;
  overflow: hidden;
  background: linear-gradient(135deg, var(--brand), var(--accent));
  color: #fff;
  font-size: 1.2rem;
  font-weight: 950;
}

.platform-human-avatar img,
.platform-human-status-avatar,
.chat-bubble > span.is-human-support img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 18%;
}

.platform-human-status-avatar {
  width: 32px;
  height: 32px;
  flex: 0 0 auto;
  border: 2px solid rgba(43, 255, 0, .38);
  border-radius: 10px;
  background: #172019;
}

.chat-bubble > span.is-human-support {
  overflow: hidden;
  padding: 0;
  background: #172019;
}

.platform-human-support strong,
.platform-human-support small {
  display: block;
  min-width: 0;
}

.platform-human-support small {
  color: var(--muted);
  font-size: .76rem;
}

.platform-human-support:hover,
.platform-human-support:focus-visible {
  border-color: var(--brand);
  background: color-mix(in srgb, var(--brand) 13%, var(--surface));
  transform: translateY(-1px);
}

.platform-human-status {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 8px 10px;
  border: 1px solid rgba(43, 255, 0, .24);
  border-radius: 11px;
  background: rgba(43, 255, 0, .08);
}

.platform-human-status[hidden],
.platform-human-support[hidden] {
  display: none;
}

.platform-human-status > span {
  display: flex;
  align-items: center;
  gap: 7px;
  font-size: .8rem;
}

.platform-human-status i,
.support-live-indicator i {
  display: block;
  flex: 0 0 8px;
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  height: 8px;
  min-height: 8px;
  max-height: 8px;
  padding: 0;
  border-radius: 999px;
  aspect-ratio: 1 / 1;
  background: #2bff00;
  box-shadow: 0 0 0 4px rgba(43, 255, 0, .12);
  animation: supportLivePulse 1.8s ease-in-out infinite;
}

.platform-human-status button {
  min-height: 32px;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: transparent;
  color: var(--muted);
  font-size: .72rem;
  box-shadow: none;
}

.platform-human-status-actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
}

.platform-human-status .platform-chat-download {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--accent);
  font-weight: 900;
}

.platform-human-status .platform-chat-download svg {
  width: 16px;
  height: 16px;
}

@keyframes supportLivePulse {
  50% { opacity: .45; transform: scale(.82); }
}

.proposal-status {
  display: grid;
  gap: 4px;
  padding: 12px;
  border-radius: 8px;
  background: rgba(255, 179, 0, 0.12);
}

.proposal-status.accepted {
  background: rgba(43, 255, 0, 0.12);
}

.proposal-status span,
.proposal-status small {
  color: var(--muted);
}

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

.kanban section {
  display: grid;
  align-content: start;
  gap: 12px;
}

.kanban h2 {
  margin: 0;
}

.task-card {
  padding: 18px;
}

.task-card.highlight {
  border-color: rgba(43, 255, 0, 0.4);
  background: #eef8f5;
}

.job-publish-card,
.job-column {
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.job-publish-card {
  display: grid;
  gap: 18px;
  margin-bottom: 18px;
  padding: 22px;
}

.job-section-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.job-section-head h2 {
  margin: 8px 0 4px;
  font-size: clamp(1.4rem, 3vw, 2.2rem);
  line-height: 1.05;
}

.job-section-head p {
  max-width: 720px;
  margin: 0;
  color: var(--muted);
}

.job-section-head.compact {
  align-items: center;
  padding: 18px;
  border-bottom: 1px solid var(--line);
}

.job-section-head.compact h2 {
  margin: 4px 0 0;
  font-size: 1.35rem;
}

.job-section-head.compact > strong {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: var(--accent-soft);
  color: #7b5400;
  font-size: 1.2rem;
}

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

.job-board-grid,
.public-job-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

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

.public-jobs-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  align-items: center;
  gap: clamp(28px, 5vw, 70px);
  width: min(100%, 900px);
  margin: 0 auto 34px;
}

.public-jobs-intro .section-heading {
  max-width: 650px;
  margin: 0;
  text-align: left;
}

.public-jobs-intro .eyebrow {
  justify-content: flex-start;
}

.public-jobs-intro > img {
  display: block;
  width: 100%;
  max-width: 210px;
  height: auto;
  filter: drop-shadow(0 20px 30px rgba(35, 61, 48, 0.13));
}

.public-job-grid [data-public-job-card][hidden] {
  display: none !important;
}

@media (max-width: 680px) {
  .public-jobs-intro {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 20px;
  }

  .public-jobs-intro .section-heading {
    text-align: center;
  }

  .public-jobs-intro .eyebrow {
    justify-content: center;
  }

  .public-jobs-intro > img {
    width: min(190px, 58vw);
  }
}

.job-column {
  overflow: hidden;
}

.job-column > .task-card {
  margin: 14px;
}

.job-card {
  display: grid;
  gap: 12px;
}

.job-card.public {
  border-top: 3px solid var(--brand);
}

.job-card.public.urgent {
  border-top-color: #905CAE;
  box-shadow: 0 18px 48px rgba(144, 92, 174, 0.18);
}

.job-card-meta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.job-card-meta > span {
  min-width: 0;
}

.job-urgency-badge {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 28px;
  align-items: center;
  justify-content: center;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.13);
  color: #905CAE;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.job-card.public.urgent .btn.primary {
  background: linear-gradient(135deg, var(--brand), #905CAE);
}

.job-card.public.socio-special {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  grid-column: 1 / -1;
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(205, 153, 240, 0.68);
  border-top: 0;
  background:
    radial-gradient(circle at 92% 8%, rgba(218, 170, 255, 0.3), transparent 31%),
    radial-gradient(circle at 10% 100%, rgba(144, 92, 174, 0.34), transparent 38%),
    linear-gradient(128deg, #7e49ad 0%, #55257a 42%, #351052 72%, #5d23a0 100%);
  box-shadow:
    0 26px 70px rgba(144, 92, 174, 0.28),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

.job-card.public.socio-special .public-job-feature-icon {
  position: absolute;
  z-index: 0;
  top: clamp(-52px, -3vw, -30px);
  right: clamp(-34px, -2vw, -16px);
  width: clamp(170px, 18vw, 245px);
  height: auto;
  object-fit: contain;
  pointer-events: none;
  user-select: none;
  filter: drop-shadow(0 22px 28px rgba(20, 16, 35, 0.24));
}

.job-card.public.socio-special > :not(.public-job-feature-icon):not(.public-job-arrow):not(.job-window-expired-action) {
  position: relative;
  z-index: 1;
  max-width: calc(100% - clamp(175px, 20vw, 260px));
}

.job-card.public.socio-special .public-job-arrow {
  position: relative;
  z-index: 2;
}

.job-card.public.socio-special .job-card-meta {
  justify-content: flex-start;
}

.job-card.public.socio-special .job-card-meta > span,
.job-card.public.socio-special p {
  color: rgba(255, 255, 255, 0.86);
}

.job-card.public.socio-special h3 {
  max-width: 780px;
  color: #ffffff;
  font-size: clamp(1.5rem, 3vw, 2.25rem);
}

.socio-priority-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 10px;
  padding: 7px 13px 7px 7px;
  border: 1px solid rgba(255, 229, 130, 0.72);
  border-radius: 999px;
  background: rgba(255, 246, 190, 0.13);
  color: #fff4bf;
  font-size: 0.82rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.socio-priority-badge img {
  width: 42px;
  height: 42px;
  object-fit: contain;
  filter: drop-shadow(0 10px 18px rgba(255, 214, 93, 0.34));
  animation: socioCoinFloat 2.6s ease-in-out infinite;
}

.job-card.public.socio-special .tag-row span {
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
}

.job-card.public.socio-special .job-urgency-badge {
  background: rgba(255, 246, 190, 0.16);
  color: #fff4bf;
}

.job-card.public.socio-special .btn.primary {
  background: linear-gradient(135deg, #2bff00, #f7c94a 48%, #905CAE);
  color: #ffffff;
  box-shadow: 0 14px 28px rgba(144, 92, 174, 0.25), 0 0 0 4px rgba(255, 214, 93, 0.12);
  animation: socioButtonLoop 1.9s ease-in-out infinite;
}

.public-job-grid .job-card.public.is-time-unavailable {
  opacity: 1;
  filter: none;
  cursor: default;
}

.public-job-grid .job-card.public.is-time-unavailable:hover {
  transform: none;
  box-shadow: none;
}

.public-job-grid .job-card.public.is-time-unavailable .public-job-arrow.is-disabled {
  pointer-events: none;
  cursor: default;
}

.job-window-expired {
  display: grid;
  width: min(100%, 480px);
  gap: 3px;
  margin-top: 7px;
  padding: 11px 14px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 12px;
  background: rgba(16, 8, 25, 0.3);
  color: #ffffff;
  backdrop-filter: blur(5px);
}

.job-window-expired-action {
  position: relative;
  z-index: 2;
  display: flex;
  width: 100%;
  align-items: flex-end;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 7px;
}

.job-window-expired-action .job-window-expired {
  width: min(100%, 480px);
  margin-top: 0;
}

.job-window-expired-action .public-job-arrow {
  flex: 0 0 auto;
}

.job-window-expired strong {
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.job-window-expired span {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.78rem;
  line-height: 1.35;
}

.acceptance-restore-balance {
  display: inline-grid;
  grid-template-columns: auto auto;
  align-items: center;
  gap: 2px 12px;
  margin-top: 12px;
  padding: 10px 14px;
  border: 1px solid rgba(144, 92, 174, 0.28);
  border-radius: 12px;
  background: rgba(144, 92, 174, 0.08);
  color: #4a2a60;
}

.acceptance-restore-balance > span,
.acceptance-restore-balance > strong {
  font-size: 0.82rem;
  font-weight: 900;
}

.acceptance-restore-balance > small {
  grid-column: 1 / -1;
  color: #73667c;
  font-size: 0.7rem;
  font-weight: 700;
}

.acceptance-restore-balance.is-free {
  border-color: rgba(110, 116, 128, 0.22);
  background: rgba(110, 116, 128, 0.07);
}

.job-window-restore-form {
  flex: 0 0 auto;
}

.job-window-restore-form button,
.job-window-restore-upgrade {
  display: grid;
  gap: 2px;
  min-width: 154px;
  min-height: 54px;
  align-content: center;
  justify-items: start;
  padding: 9px 14px;
  border: 1px solid #905cae;
  border-radius: 8px;
  background: #905cae;
  color: #fff;
  font: inherit;
  text-decoration: none;
  cursor: pointer;
  transition: transform 0.18s ease, background-color 0.18s ease, box-shadow 0.18s ease;
}

.job-window-restore-form button:hover,
.job-window-restore-form button:focus-visible,
.job-window-restore-upgrade:hover,
.job-window-restore-upgrade:focus-visible {
  background: #75418f;
  box-shadow: 0 8px 20px rgba(117, 65, 143, 0.22);
  transform: translateY(-1px);
  outline: 3px solid rgba(43, 255, 0, 0.28);
  outline-offset: 2px;
}

.job-window-restore-form button span,
.job-window-restore-upgrade {
  font-size: 0.78rem;
  font-weight: 900;
}

.job-window-restore-form button small {
  color: rgba(255, 255, 255, 0.78);
  font-size: 0.64rem;
  font-weight: 700;
}

.job-window-restore-upgrade {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

body.theme-dark:not(.route-admin-mestre) .acceptance-restore-balance {
  border-color: rgba(180, 112, 219, 0.38);
  background: rgba(144, 92, 174, 0.15);
  color: #eadcf2;
}

body.theme-dark:not(.route-admin-mestre) .acceptance-restore-balance > small {
  color: #c0b1ca;
}

@media (max-width: 760px) {
  .job-window-expired-action {
    align-items: stretch;
    flex-direction: column;
  }

  .job-window-restore-form,
  .job-window-restore-form button,
  .job-window-restore-upgrade {
    width: 100%;
  }
}

body:not(.theme-dark) .job-card.public.socio-special {
  border-color: rgba(199, 139, 239, 0.72);
  background:
    radial-gradient(circle at 92% 8%, rgba(225, 185, 255, 0.36), transparent 31%),
    radial-gradient(circle at 10% 100%, rgba(144, 92, 174, 0.36), transparent 38%),
    linear-gradient(128deg, #824eb2 0%, #592985 42%, #351052 72%, #6426aa 100%);
  box-shadow: 0 28px 68px rgba(73, 25, 112, 0.3);
  color: #ffffff;
}

body:not(.theme-dark) .job-card.public.socio-special .job-card-meta > span,
body:not(.theme-dark) .job-card.public.socio-special p {
  color: rgba(255, 255, 255, 0.86);
}

body:not(.theme-dark) .job-card.public.socio-special h3 {
  color: #ffffff;
}

body:not(.theme-dark) .public-job-grid .job-card.public.is-time-unavailable {
  border-color: rgba(144, 92, 174, 0.34);
  background:
    radial-gradient(circle at 92% 8%, rgba(144, 92, 174, 0.12), transparent 32%),
    linear-gradient(135deg, #f8f4fb 0%, #eee7f2 100%);
  box-shadow: 0 16px 40px rgba(58, 37, 70, 0.1);
  color: #29232e;
}

body:not(.theme-dark) .public-job-grid .job-card.public.is-time-unavailable .job-card-meta > span,
body:not(.theme-dark) .public-job-grid .job-card.public.is-time-unavailable p {
  color: #665d6d;
}

body:not(.theme-dark) .public-job-grid .job-card.public.is-time-unavailable h3 {
  color: #29232e;
}

body:not(.theme-dark) .public-job-grid .job-card.public.is-time-unavailable .tag-row span {
  border: 1px solid rgba(144, 92, 174, 0.16);
  background: rgba(144, 92, 174, 0.09);
  color: #60456f;
}

body:not(.theme-dark) .public-job-grid .job-card.public.is-time-unavailable .public-job-feature-icon {
  opacity: 0.34;
  filter: grayscale(0.7) drop-shadow(0 16px 24px rgba(58, 37, 70, 0.14));
}

body:not(.theme-dark) .public-job-grid .job-card.public.is-time-unavailable .socio-priority-badge {
  opacity: 0.72;
}

body:not(.theme-dark) .public-job-grid .job-card.public.is-time-unavailable .job-window-expired {
  border-color: rgba(144, 92, 174, 0.28);
  background: rgba(255, 255, 255, 0.72);
  color: #5d2c78;
  box-shadow: 0 8px 22px rgba(76, 42, 94, 0.08);
}

body:not(.theme-dark) .public-job-grid .job-card.public.is-time-unavailable .job-window-expired span {
  color: #6b6170;
}

body:not(.theme-dark) .job-card.public.socio-special .public-job-feature-icon {
  filter: drop-shadow(0 24px 30px rgba(20, 5, 34, 0.38));
}

body:not(.theme-dark) .socio-priority-badge {
  border-color: rgba(144, 92, 174, 0.28);
  background: rgba(144, 92, 174, 0.08);
  color: #905CAE;
}

@media (max-width: 720px) {
  .job-card.public.socio-special .public-job-feature-icon {
    top: 10px;
    right: -28px;
    width: 138px;
    opacity: 0.2;
  }

  .job-card.public.socio-special > :not(.public-job-feature-icon):not(.public-job-arrow):not(.job-window-expired-action) {
    max-width: 100%;
  }
}

.socio-priority-badge.is-free {
  border-color: rgba(184, 111, 45, 0.42);
  background: rgba(184, 111, 45, 0.1);
  color: #f0b06f;
}

.socio-priority-badge.is-dev {
  border-color: rgba(190, 204, 219, 0.48);
  background: rgba(190, 204, 219, 0.1);
  color: #dbe7f2;
}

.socio-priority-badge.is-socio {
  border-color: rgba(255, 229, 130, 0.72);
  background: rgba(255, 246, 190, 0.13);
  color: #fff4bf;
}

body:not(.theme-dark) .socio-priority-badge.is-free {
  border-color: rgba(151, 83, 24, 0.3);
  background: rgba(184, 111, 45, 0.09);
  color: #7b4619;
}

body:not(.theme-dark) .socio-priority-badge.is-dev {
  border-color: rgba(103, 123, 145, 0.3);
  background: rgba(186, 200, 214, 0.18);
  color: #50657a;
}

body:not(.theme-dark) .socio-priority-badge.is-socio {
  border-color: rgba(255, 226, 132, 0.68);
  background: linear-gradient(110deg, rgba(255, 226, 132, 0.2), rgba(57, 17, 87, 0.28));
  color: #fff4bf;
}

.job-card.public.socio-special .socio-priority-badge > span,
body:not(.theme-dark) .job-card.public.socio-special .socio-priority-badge > span {
  color: #fff4bf;
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.055em;
  line-height: 1.2;
  text-shadow: 0 2px 8px rgba(25, 5, 40, 0.42);
}

body:not(.theme-dark) .job-card.public.socio-special .tag-row span {
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
}

body:not(.theme-dark) .job-card.public.socio-special .job-urgency-badge {
  background: rgba(226, 187, 255, 0.2);
  color: #f0d7ff;
}

.flat-pager {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 22px;
}

.flat-pager button {
  flex: 0 0 auto;
  width: auto;
  min-width: 38px;
  min-height: 38px;
  padding: 0 12px;
  border: 0;
  border-bottom: 2px solid transparent;
  border-radius: 0;
  background: transparent;
  color: var(--muted);
  font-weight: 950;
  white-space: nowrap;
}

.flat-pager button.active {
  border-bottom-color: var(--brand);
  color: var(--brand);
}

.flat-pager button:disabled {
  cursor: not-allowed;
  opacity: 0.42;
}

.job-card.private {
  border-color: rgba(144, 92, 174, 0.28);
  background: #f5f0ff;
}

.job-accepted-badge {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(45, 125, 79, 0.12);
  color: var(--ok);
  font-size: 0.82rem;
  font-weight: 900;
}

.job-locked-badge,
.approval-warning {
  display: inline-flex;
  width: fit-content;
  min-height: 34px;
  align-items: center;
  padding: 6px 10px;
  border-radius: 8px;
  background: rgba(255, 173, 20, 0.16);
  color: #8a5d00;
  font-size: 0.82rem;
  font-weight: 900;
}

.approval-warning {
  width: 100%;
}

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

.job-detail-grid div,
.job-progress-panel,
.production-step {
  padding: 12px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.7);
}

.job-detail-grid small,
.job-detail-grid span,
.job-progress-panel span {
  display: block;
  color: var(--muted);
  font-size: 0.8rem;
}

.job-detail-grid strong,
.job-progress-panel strong {
  color: var(--ink);
}

.job-progress-panel {
  display: grid;
  gap: 10px;
}

.production-form {
  display: grid;
  gap: 12px;
}

.production-step {
  display: grid;
  gap: 10px;
}

.production-step > strong {
  color: var(--accent);
}

.mini-progress {
  overflow: hidden;
  height: 8px;
  width: 120px;
  margin: 8px 0 4px;
  border-radius: 999px;
  background: #151515;
}

.mini-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: #00c853;
}

.tag-row.compact {
  margin-top: 0;
}

.tag-row.compact span {
  padding: 5px 8px;
  font-size: 0.75rem;
}

.private-acceptance {
  padding: 12px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 8px;
  background: #ffffff;
}

.private-acceptance strong {
  color: var(--accent);
}

.job-checklist {
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.job-checklist li {
  position: relative;
  padding-left: 20px;
  color: var(--muted);
  font-weight: 800;
}

.job-checklist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--brand);
}

.table-card {
  overflow: hidden;
}

.table-head {
  margin-bottom: 18px;
}

.table-head button {
  min-width: 128px;
}

.table-wrap {
  overflow-x: auto;
}

table {
  width: 100%;
  border-collapse: collapse;
  min-width: 720px;
}

th,
td {
  padding: 14px 12px;
  border-bottom: 1px solid var(--line);
  text-align: left;
}

th {
  color: var(--muted);
  font-size: 0.82rem;
  text-transform: uppercase;
}

.footer {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  padding: 28px clamp(18px, 4vw, 56px);
  border-top: 1px solid var(--line);
}

/* Public redesign: playful marketplace inspired by learning-product UIs. */
body:not(.route-admin-mestre) {
  --bg: #fbfff7;
  --surface: #ffffff;
  --surface-strong: #1d1133;
  --ink: #1c1d22;
  --muted: #5d6573;
  --line: #e7eadf;
  --brand: #2bff00;
  --brand-strong: #2bff00;
  --accent: #905CAE;
  --accent-soft: #f4e9f8;
  --blue: #4169e1;
  --shadow: 0 18px 42px rgba(38, 53, 31, 0.12);
}

body.theme-dark:not(.route-admin-mestre) {
  --bg: #0d1110;
  --surface: #151a18;
  --surface-strong: #07110b;
  --ink: #f7fff9;
  --muted: #a9b7ae;
  --line: #27312c;
  --brand: #2bff00;
  --brand-strong: #2bff00;
  --accent: #905CAE;
  --accent-soft: rgba(144, 92, 174, 0.16);
  --blue: #8c9dff;
  --shadow: 0 24px 54px rgba(0, 0, 0, 0.35);
}

body:not(.route-admin-mestre) {
  background: var(--bg);
}

body:not(.route-admin-mestre) .topbar {
  position: sticky;
  top: 0;
  z-index: 30;
  display: block;
  padding: 0;
  border-bottom: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(14px);
}

.topbar-inner {
  position: relative;
  display: grid;
  grid-template-columns: minmax(190px, 1fr) auto minmax(430px, 1fr);
  align-items: center;
  gap: 18px;
  width: min(1320px, calc(100% - 36px));
  min-height: 76px;
  margin: 0 auto;
}

body:not(.route-admin-mestre) .brand {
  min-width: 0;
}

body:not(.route-admin-mestre) .brand-mark {
  width: 184px;
  height: 46px;
  border-radius: 0;
  background: transparent;
  color: inherit;
  box-shadow: none;
}

body.theme-dark:not(.route-admin-mestre) .topbar {
  background: rgba(13, 17, 16, 0.92);
}

body.theme-dark:not(.route-admin-mestre) input,
body.theme-dark:not(.route-admin-mestre) textarea,
body.theme-dark:not(.route-admin-mestre) select,
body.theme-dark:not(.route-admin-mestre) .money-field,
body.theme-dark:not(.route-admin-mestre) .deadline-range-control,
body.theme-dark:not(.route-admin-mestre) .budget-picker-scale {
  border-color: #314038;
  background: #101714;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .budget-picker-heading strong {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .budget-picker-scale input[type="range"]::-webkit-slider-runnable-track {
  background: linear-gradient(90deg, var(--accent) 0 var(--budget-progress, 0%), #34413b var(--budget-progress, 0%) 100%);
}

body.theme-dark:not(.route-admin-mestre) .budget-picker-scale input[type="range"]::-moz-range-track {
  background: #34413b;
}

body.theme-dark:not(.route-admin-mestre) .deadline-range-head strong {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .deadline-meter {
  background: #29342f;
}

body.theme-dark:not(.route-admin-mestre) .deadline-range-control input[type="range"]::-webkit-slider-runnable-track {
  background: rgba(247, 255, 249, 0.78);
}

body.theme-dark:not(.route-admin-mestre) .deadline-range-control input[type="range"]::-moz-range-track {
  background: rgba(247, 255, 249, 0.78);
}

body.theme-dark:not(.route-admin-mestre) input::placeholder,
body.theme-dark:not(.route-admin-mestre) textarea::placeholder {
  color: #7f9288;
  opacity: 1;
}

body.theme-dark:not(.route-admin-mestre) select {
  color-scheme: dark;
}

body.theme-dark:not(.route-admin-mestre) .intake-card,
body.theme-dark:not(.route-admin-mestre) .aside-panel,
body.theme-dark:not(.route-admin-mestre) .board-column,
body.theme-dark:not(.route-admin-mestre) .table-card,
body.theme-dark:not(.route-admin-mestre) .project-focus,
body.theme-dark:not(.route-admin-mestre) .client-project-list a,
body.theme-dark:not(.route-admin-mestre) .client-hub-summary article,
body.theme-dark:not(.route-admin-mestre) .empty-client-hub,
body.theme-dark:not(.route-admin-mestre) .job-publish-card,
body.theme-dark:not(.route-admin-mestre) .job-column {
  border-color: #27372f;
  background: #121916;
  box-shadow: 0 12px 0 rgba(43, 255, 0, 0.08), 0 22px 48px rgba(0, 0, 0, 0.22);
}

body.theme-dark:not(.route-admin-mestre) .model-compare article {
  border-color: #2b3a33;
  background: #101714;
}

body.theme-dark:not(.route-admin-mestre) .model-compare article.recommended {
  border-color: rgba(43, 255, 0, 0.55);
  background: rgba(43, 255, 0, 0.08);
}

body.theme-dark:not(.route-admin-mestre) .ai-analysis-card {
  border-color: rgba(144, 92, 174, 0.35);
  background: linear-gradient(135deg, #111815 0%, rgba(43, 255, 0, 0.09) 48%, rgba(144, 92, 174, 0.12) 100%);
}

body.theme-dark:not(.route-admin-mestre) .ai-analysis-grid div,
body.theme-dark:not(.route-admin-mestre) .ai-question-fields label,
body.theme-dark:not(.route-admin-mestre) .assistant-plan-grid section {
  border-color: #314038;
  background: rgba(16, 23, 20, 0.88);
}

body.theme-dark:not(.route-admin-mestre) .assistant-plan-card {
  border-color: rgba(43, 255, 0, 0.35);
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.09), rgba(144, 92, 174, 0.12));
}

body.theme-dark:not(.route-admin-mestre) .ai-showcase-meta article {
  border-color: #314038;
  background: rgba(16, 23, 20, 0.88);
}

body.theme-dark:not(.route-admin-mestre) .ai-showcase-card.is-ready .ai-showcase-meta article {
  border-color: rgba(43, 255, 0, 0.4);
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.14), rgba(144, 92, 174, 0.13));
}

body.theme-dark:not(.route-admin-mestre) .ai-analysis-grid div.below-expected,
body.theme-dark:not(.route-admin-mestre) .ai-showcase-meta article.below-expected {
  border-color: rgba(245, 158, 11, 0.58);
  background: linear-gradient(135deg, rgba(120, 53, 15, 0.34), rgba(69, 26, 3, 0.24));
}

body.theme-dark:not(.route-admin-mestre) .ai-analysis-grid div.above-expected,
body.theme-dark:not(.route-admin-mestre) .ai-showcase-meta article.above-expected {
  border-color: rgba(144, 92, 174, 0.62);
  background: linear-gradient(135deg, rgba(80, 45, 100, 0.38), rgba(48, 29, 62, 0.3));
}

body.theme-dark:not(.route-admin-mestre) .ai-analysis-grid div.minimum-expected,
body.theme-dark:not(.route-admin-mestre) .ai-showcase-meta article.minimum-expected {
  border-color: rgba(168, 104, 204, 0.72);
  background: linear-gradient(135deg, rgba(80, 45, 100, 0.42), rgba(48, 29, 62, 0.32));
}

body.theme-dark:not(.route-admin-mestre) .ai-analysis-grid div.ideal-expected,
body.theme-dark:not(.route-admin-mestre) .ai-showcase-meta article.ideal-expected {
  border-color: rgba(43, 255, 0, 0.54);
  background: linear-gradient(135deg, rgba(22, 101, 52, 0.3), rgba(20, 83, 45, 0.22));
}

body.theme-dark:not(.route-admin-mestre) .ai-publish-panel {
  border-color: rgba(43, 255, 0, 0.42);
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.13), rgba(144, 92, 174, 0.16));
}

body.theme-dark:not(.route-admin-mestre) .ai-showcase-actions span {
  color: #aab9c4;
}

body.theme-dark:not(.route-admin-mestre) .client-plan-card,
body.theme-dark:not(.route-admin-mestre) .assistant-plan-mini-grid div {
  border-color: #27372f;
  background: rgba(43, 255, 0, 0.07);
}

body.theme-dark:not(.route-admin-mestre) .client-plan-block {
  border-color: #314038;
  background: rgba(16, 23, 20, 0.88);
}

body.theme-dark:not(.route-admin-mestre) .hire-way-icon {
  border-color: rgba(144, 92, 174, 0.32);
  background: rgba(144, 92, 174, 0.14);
}

body.theme-dark:not(.route-admin-mestre) .hire-way-showcase,
body.theme-dark:not(.route-admin-mestre) .hire-way-showcase .hire-way-list li {
  border-color: #27372f;
  background: rgba(16, 23, 20, 0.9);
}

body.theme-dark:not(.route-admin-mestre) .hire-priority-panel,
body.theme-dark:not(.route-admin-mestre) .hire-choice-group label {
  border-color: #27372f;
  background: rgba(16, 23, 20, 0.9);
}

body.theme-dark:not(.route-admin-mestre) .hire-choice-group {
  border-color: #27372f;
  background: rgba(8, 14, 11, 0.42);
}

body.theme-dark:not(.route-admin-mestre) .hire-priority-panel {
  border-color: rgba(144, 92, 174, 0.32);
  background:
    radial-gradient(circle at 8% 0%, rgba(43, 255, 0, 0.12), transparent 32%),
    radial-gradient(circle at 92% 4%, rgba(144, 92, 174, 0.2), transparent 34%),
    linear-gradient(135deg, #0e1712, #14101e);
}

body.theme-dark:not(.route-admin-mestre) .hire-impact-card {
  border-color: rgba(159, 176, 166, 0.18);
  background: rgba(10, 18, 13, 0.82);
  box-shadow: none;
}

body.theme-dark:not(.route-admin-mestre) .hire-impact-card span,
body.theme-dark:not(.route-admin-mestre) .hire-impact-card small {
  color: #9fb0a6;
}

body.theme-dark:not(.route-admin-mestre) .hire-impact-card strong {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .hire-impact-card.featured {
  border-color: rgba(144, 92, 174, 0.52);
  background: linear-gradient(135deg, #241238, #4a1f82);
}

body.theme-dark:not(.route-admin-mestre) .hire-priority-panel .assistant-plan-head strong,
body.theme-dark:not(.route-admin-mestre) .hire-priority-panel .assistant-plan-head span {
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .hire-priority-note {
  border-color: rgba(43, 255, 0, 0.28);
  background: linear-gradient(90deg, rgba(43, 255, 0, 0.12), rgba(144, 92, 174, 0.16));
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .hire-choice-group label:has(input:checked) {
  border-color: rgba(144, 92, 174, 0.62);
  background:
    radial-gradient(circle at 12% 0%, rgba(43, 255, 0, 0.12), transparent 36%),
    rgba(144, 92, 174, 0.16);
}

body.theme-dark:not(.route-admin-mestre) .hire-choice-group legend,
body.theme-dark:not(.route-admin-mestre) .hire-choice-group small {
  color: #9fb0a6;
}

body.theme-dark:not(.route-admin-mestre) .hire-choice-group strong {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .hire-choice-toggle {
  border-color: rgba(255, 255, 255, 0.14);
  background: #303833;
}

body.theme-dark:not(.route-admin-mestre) .hire-choice-group input:checked + .hire-choice-toggle {
  border-color: #2bff00;
  background: linear-gradient(135deg, #2bff00, #19c99a);
}

body.theme-dark:not(.route-admin-mestre) .ai-analysis-card p {
  color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .message {
  background: #18211d;
  color: #cbd8cf;
}

body.theme-dark:not(.route-admin-mestre) .message strong {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .job-counter-backdrop {
  background:
    radial-gradient(circle at 18% 18%, rgba(144, 92, 174, 0.22), transparent 28%),
    radial-gradient(circle at 88% 74%, rgba(43, 255, 0, 0.16), transparent 30%),
    rgba(2, 7, 5, 0.78);
}

body.theme-dark:not(.route-admin-mestre) .job-counter-dialog {
  border-color: rgba(144, 92, 174, 0.38);
  background:
    linear-gradient(180deg, rgba(144, 92, 174, 0.14), rgba(43, 255, 0, 0.045) 58%, rgba(10, 16, 13, 0) 100%),
    #0f1613;
  color: #f7fff9;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.58);
}

body.theme-dark:not(.route-admin-mestre) .job-counter-dialog h2,
body.theme-dark:not(.route-admin-mestre) .job-counter-dialog label {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .job-counter-dialog p {
  color: #cbd8cf;
}

body.theme-dark:not(.route-admin-mestre) .job-counter-dialog input,
body.theme-dark:not(.route-admin-mestre) .job-counter-dialog textarea {
  border-color: #314038;
  background: #0b1410;
  color: #f7fff9;
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.18);
}

body.theme-dark:not(.route-admin-mestre) .job-counter-dialog input::placeholder,
body.theme-dark:not(.route-admin-mestre) .job-counter-dialog textarea::placeholder {
  color: #87968d;
}

body.theme-dark:not(.route-admin-mestre) .job-counter-dialog input:focus,
body.theme-dark:not(.route-admin-mestre) .job-counter-dialog textarea:focus {
  border-color: #905CAE;
  outline-color: rgba(144, 92, 174, 0.24);
  box-shadow: 0 0 0 1px rgba(43, 255, 0, 0.2), 0 16px 34px rgba(0, 0, 0, 0.24);
}

body.theme-dark:not(.route-admin-mestre) .job-counter-close {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .job-counter-close:hover {
  background: rgba(144, 92, 174, 0.16);
}

body.theme-dark:not(.route-admin-mestre) .job-counter-secondary {
  border-color: #314038;
  background: #151d19;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .private-acceptance,
body.theme-dark:not(.route-admin-mestre) .proposal-card,
body.theme-dark:not(.route-admin-mestre) .dev-counter-panel,
body.theme-dark:not(.route-admin-mestre) .dev-chat-panel,
body.theme-dark:not(.route-admin-mestre) .dev-ops-hero,
body.theme-dark:not(.route-admin-mestre) .dev-ops-stats article,
body.theme-dark:not(.route-admin-mestre) .dev-job-tabs a,
body.theme-dark:not(.route-admin-mestre) .dev-job-card,
body.theme-dark:not(.route-admin-mestre) .dev-empty-workspace,
body.theme-dark:not(.route-admin-mestre) .dev-work-hero,
body.theme-dark:not(.route-admin-mestre) .dev-work-summary article,
body.theme-dark:not(.route-admin-mestre) .dev-work-card,
body.theme-dark:not(.route-admin-mestre) .floating-chat-panel,
body.theme-dark:not(.route-admin-mestre) .payment-callout-dialog,
body.theme-dark:not(.route-admin-mestre) .proposal-status,
body.theme-dark:not(.route-admin-mestre) .auth-card,
body.theme-dark:not(.route-admin-mestre) .social-button {
  border-color: #314038;
  background: #121916;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .dev-participants div,
body.theme-dark:not(.route-admin-mestre) .chat-bubble > div {
  border-color: #314038;
  background: #18211d;
}

body.theme-dark:not(.route-admin-mestre) .floating-chat-panel header {
  border-color: #314038;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.18), rgba(144, 92, 174, 0.18));
}

body.theme-dark:not(.route-admin-mestre) .floating-chat-messages {
  background: #0d1310;
}

body.theme-dark:not(.route-admin-mestre) .chat-bubble.is-dev > div {
  background: #211637;
}

body.theme-dark:not(.route-admin-mestre) .floating-chat-panel header button {
  background: transparent;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .payment-callout-close {
  background: transparent;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .payment-callout-value {
  border-color: #314038;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.12), rgba(144, 92, 174, 0.14));
}

body.theme-dark:not(.route-admin-mestre) .auth-tabs {
  border-color: #314038;
  background: rgba(144, 92, 174, 0.16);
}

body.theme-dark:not(.route-admin-mestre) .auth-close {
  background: rgba(144, 92, 174, 0.18);
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .trust-row span,
body.theme-dark:not(.route-admin-mestre) .tag-row span {
  border-color: #314038;
  background: #151d19;
  color: #cbd8cf;
}

body.theme-dark:not(.route-admin-mestre) .playful-hero,
body.theme-dark:not(.route-admin-mestre) .page-head,
body.theme-dark:not(.route-admin-mestre) .form-layout,
body.theme-dark:not(.route-admin-mestre) .dashboard-shell {
  color: var(--ink);
}

body:not(.route-admin-mestre) .brand strong {
  font-size: 1.08rem;
}

body:not(.route-admin-mestre) .brand small {
  color: var(--muted);
  font-weight: 700;
}

.mega-nav {
  display: flex;
  justify-content: center;
  gap: 18px;
}

.nav-item {
  position: static;
  display: flex;
  align-items: stretch;
  min-height: 76px;
}

body:not(.route-admin-mestre) .nav a {
  position: relative;
  display: inline-flex;
  align-items: center;
  min-height: 76px;
  padding: 0 10px;
  border-radius: 0;
  color: var(--ink);
  font-size: 0.98rem;
}

body:not(.route-admin-mestre) .nav a:hover,
body:not(.route-admin-mestre) .nav a.active,
.nav-item:hover > a {
  background: transparent;
  color: var(--accent);
}

.nav-item > a::after {
  content: "";
  position: absolute;
  right: 10px;
  bottom: 0;
  left: 10px;
  height: 4px;
  border-radius: 999px 999px 0 0;
  background: transparent;
}

.nav-item:hover > a::after,
.nav-item > a.active::after {
  background: var(--accent);
}

.mega-menu {
  position: absolute;
  top: 72px;
  left: 50%;
  display: grid;
  grid-template-columns: minmax(410px, 0.82fr) minmax(520px, 1.18fr);
  gap: 32px;
  width: min(1320px, calc(100vw - 36px));
  padding: 30px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: 0 28px 70px rgba(17, 24, 39, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -8px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.mega-menu-showcase {
  align-items: stretch;
}

.nav-item:hover .mega-menu,
.nav-item:focus-within .mega-menu {
  opacity: 1;
  pointer-events: auto;
  transform: translate(-50%, 0);
}

.mega-menu-content {
  display: grid;
  align-content: start;
  gap: 14px;
  padding-right: 22px;
  border-right: 1px solid var(--line);
}

.mega-kicker {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.mega-menu-content h3 {
  max-width: 440px;
  margin: 0 0 4px;
  color: var(--ink);
  font-size: 1.45rem;
  line-height: 1.05;
}

.mega-action {
  display: grid !important;
  grid-template-columns: 44px 1fr;
  gap: 14px;
  min-height: auto !important;
  align-items: center !important;
  padding: 10px 0 !important;
  color: var(--ink) !important;
}

.mega-action + .mega-action {
  border-top: 1px solid var(--line);
}

.mega-action-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 9%, var(--surface));
  color: var(--accent);
}

.mega-action-icon svg {
  width: 25px;
  height: 25px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mega-action strong,
.mega-action small {
  display: block;
}

.mega-action strong {
  color: var(--ink);
  font-size: 1rem;
}

.mega-action small {
  margin-top: 3px;
  color: var(--muted);
  font-weight: 700;
  line-height: 1.28;
}

.mega-action:hover strong {
  color: var(--accent);
}

.mega-flat-cta {
  display: inline-flex !important;
  width: max-content;
  min-height: 42px !important;
  align-items: center !important;
  justify-content: center;
  margin-top: 6px;
  padding: 0 16px !important;
  border: 1px solid var(--line);
  border-radius: 8px !important;
  background: transparent;
  color: var(--ink) !important;
  font-weight: 950;
}

.mega-flat-cta:hover {
  border-color: rgba(43, 255, 0, 0.42);
  background: color-mix(in srgb, var(--brand) 10%, transparent);
  color: var(--ink) !important;
}

.mega-visual-card {
  position: relative;
  isolation: isolate;
  display: grid;
  min-height: 305px;
  overflow: hidden;
  border: 2px solid rgba(43, 255, 0, 0.42);
  border-radius: 12px;
  background: color-mix(in srgb, var(--surface) 92%, var(--brand));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.62),
    0 18px 44px rgba(43, 255, 0, 0.12);
}

.mega-visual-card.freela {
  border-color: rgba(144, 92, 174, 0.5);
  background: color-mix(in srgb, var(--surface) 92%, var(--accent));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.62),
    0 18px 44px rgba(144, 92, 174, 0.16);
}

.mega-visual-card::before {
  content: "";
  position: absolute;
  inset: 10px;
  z-index: 0;
  border: 1px solid rgba(43, 255, 0, 0.18);
  border-radius: 9px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.05), transparent 52%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.14));
  pointer-events: none;
}

.mega-visual-card.freela::before {
  border-color: rgba(144, 92, 174, 0.22);
  background:
    linear-gradient(135deg, rgba(144, 92, 174, 0.06), transparent 52%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.48), rgba(255, 255, 255, 0.14));
}

.mega-visual-card img {
  position: absolute;
  right: -18px;
  bottom: 0;
  z-index: 1;
  width: min(430px, 92%);
  max-height: 330px;
  object-fit: contain;
  object-position: bottom right;
  filter: drop-shadow(0 22px 28px rgba(17, 24, 39, 0.22));
}

.mega-visual-card div {
  position: absolute;
  left: 16px;
  bottom: 16px;
  z-index: 2;
  display: grid;
  gap: 2px;
  max-width: 180px;
  padding: 12px;
  border: 1px solid rgba(255, 255, 255, 0.58);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(10px);
}

.mega-visual-card small {
  color: var(--accent);
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.mega-visual-card strong {
  color: var(--ink);
  font-size: 1rem;
  line-height: 1.05;
}

.mega-nav .nav-item:nth-child(1) .mega-menu {
  border-color: rgba(144, 92, 174, 0.36);
  background:
    radial-gradient(circle at 8% 4%, rgba(184, 92, 255, 0.18), transparent 32%),
    radial-gradient(circle at 92% 18%, rgba(43, 255, 0, 0.1), transparent 26%),
    linear-gradient(135deg, #ffffff 0%, #fbf7ff 48%, #f1e6ff 100%);
  box-shadow: 0 30px 84px rgba(74, 31, 130, 0.2);
}

.mega-nav .nav-item:nth-child(1) .mega-kicker,
.mega-nav .nav-item:nth-child(1) .mega-action:hover strong,
.mega-nav .nav-item:nth-child(1) .mega-visual-card small {
  color: #8b2ee8;
}

.mega-nav .nav-item:nth-child(1) .mega-action-icon {
  background: linear-gradient(135deg, rgba(144, 92, 174, 0.16), rgba(185, 120, 255, 0.2));
  color: #8b2ee8;
}

.mega-nav .nav-item:nth-child(1) .mega-flat-cta {
  border-color: rgba(144, 92, 174, 0.36);
  background: linear-gradient(135deg, #8b2ee8, #b15cff);
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(144, 92, 174, 0.24);
}

.mega-nav .nav-item:nth-child(1) .mega-flat-cta:hover {
  border-color: rgba(144, 92, 174, 0.54);
  background: linear-gradient(135deg, #7620d6, #c477ff);
  color: #fff !important;
}

.mega-nav .nav-item:nth-child(1) .mega-visual-card {
  border-color: rgba(144, 92, 174, 0.68);
  background:
    radial-gradient(circle at 24% 16%, rgba(255, 255, 255, 0.8), transparent 24%),
    linear-gradient(135deg, #f7eeff 0%, #efe0ff 48%, #e1c9ff 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    0 20px 52px rgba(144, 92, 174, 0.22);
}

.mega-nav .nav-item:nth-child(1) .mega-visual-card::before {
  border-color: rgba(144, 92, 174, 0.28);
  background:
    linear-gradient(135deg, rgba(144, 92, 174, 0.12), transparent 54%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.56), rgba(255, 255, 255, 0.18));
}

.mega-nav .nav-item:nth-child(2) .mega-menu {
  border-color: rgba(43, 255, 0, 0.38);
  background:
    radial-gradient(circle at 9% 0%, rgba(43, 255, 0, 0.2), transparent 32%),
    radial-gradient(circle at 94% 14%, rgba(144, 92, 174, 0.12), transparent 28%),
    linear-gradient(135deg, #ffffff 0%, #f2fff0 48%, #e1ffd9 100%);
  box-shadow: 0 30px 84px rgba(43, 255, 0, 0.16);
}

.mega-nav .nav-item:nth-child(2) .mega-kicker,
.mega-nav .nav-item:nth-child(2) .mega-action:hover strong,
.mega-nav .nav-item:nth-child(2) .mega-visual-card small {
  color: #1bbf00;
}

.mega-nav .nav-item:nth-child(2) .mega-action-icon {
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.18), rgba(144, 92, 174, 0.12));
  color: #16a800;
}

.mega-nav .nav-item:nth-child(2) .mega-flat-cta {
  border-color: rgba(43, 255, 0, 0.52);
  background: linear-gradient(135deg, #2bff00, #8cff5f);
  color: #09240d !important;
  box-shadow: 0 16px 34px rgba(43, 255, 0, 0.2);
}

.mega-nav .nav-item:nth-child(2) .mega-flat-cta:hover {
  border-color: rgba(43, 255, 0, 0.7);
  background: linear-gradient(135deg, #20dd00, #a8ff82);
  color: #09240d !important;
}

.mega-nav .nav-item:nth-child(2) .mega-visual-card.freela {
  border-color: rgba(43, 255, 0, 0.68);
  background:
    radial-gradient(circle at 22% 16%, rgba(255, 255, 255, 0.82), transparent 24%),
    linear-gradient(135deg, #eeffe9 0%, #ddffd4 48%, #c5ffb8 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.72),
    0 20px 52px rgba(43, 255, 0, 0.2);
}

.mega-nav .nav-item:nth-child(2) .mega-visual-card.freela::before {
  border-color: rgba(43, 255, 0, 0.28);
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.12), transparent 54%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.56), rgba(255, 255, 255, 0.18));
}

.mega-nav .nav-item:nth-child(3) .mega-menu {
  border-color: rgba(144, 92, 174, 0.48);
  background:
    radial-gradient(circle at 8% 4%, rgba(144, 92, 174, 0.2), transparent 32%),
    radial-gradient(circle at 94% 14%, rgba(43, 255, 0, 0.14), transparent 30%),
    linear-gradient(135deg, #fff 0%, #f7f1ff 48%, #edffe8 100%);
  box-shadow: 0 30px 84px rgba(89, 43, 123, 0.2);
}

.mega-nav .nav-item:nth-child(3) .mega-kicker,
.mega-nav .nav-item:nth-child(3) .mega-action:hover strong {
  color: #8b2ee8;
}

.mega-nav .nav-item:nth-child(3) .mega-action-icon {
  background: linear-gradient(135deg, rgba(144, 92, 174, 0.2), rgba(43, 255, 0, 0.14));
  color: #8b2ee8;
}

.mega-nav .nav-item:nth-child(3) .mega-flat-cta {
  border-color: rgba(144, 92, 174, 0.5);
  background: linear-gradient(135deg, #905cae 0%, #a54fd0 48%, #2bff00 140%);
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(144, 92, 174, 0.25);
}

.mega-nav .nav-item:nth-child(3) .mega-flat-cta:hover {
  border-color: rgba(43, 255, 0, 0.62);
  background: linear-gradient(135deg, #7e40a1 0%, #9b46c5 45%, #2bff00 135%);
  color: #fff !important;
}

.mega-price-visual {
  position: relative;
  display: grid;
  align-content: center;
  gap: 10px;
  min-height: 305px;
  padding: 22px;
  overflow: hidden;
  border: 1px solid rgba(144, 92, 174, 0.46);
  border-radius: 12px;
  background:
    radial-gradient(circle at 90% 0, rgba(43, 255, 0, 0.16), transparent 34%),
    radial-gradient(circle at 4% 100%, rgba(144, 92, 174, 0.18), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, 0.84), rgba(144, 92, 174, 0.1));
}

.mega-price-label {
  margin-bottom: 3px;
  color: #8b2ee8;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

body:not(.route-admin-mestre) .nav .mega-price-tier {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  min-height: auto;
  align-items: center;
  gap: 11px;
  padding: 10px 12px;
  border: 1px solid rgba(17, 24, 39, 0.09);
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--ink);
  box-shadow: 0 10px 24px rgba(17, 24, 39, 0.06);
  transition: border-color 150ms ease, transform 150ms ease, box-shadow 150ms ease;
}

/* Megamenus compactos: evita vazios quando uma ação é ocultada pelo perfil. */
.mega-nav .mega-menu:not(.mega-menu-price) {
  grid-template-columns: minmax(360px, 0.72fr) minmax(520px, 1.28fr);
  padding: 20px;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-menu-content,
.mega-nav .mega-menu:not(.mega-menu-price) .mega-menu-content:has(.mega-action + .mega-flat-cta) {
  grid-template-rows: repeat(4, auto);
  align-content: center;
  gap: 6px;
  padding-block: 4px;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-menu-content h3 {
  margin-bottom: 6px;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-action {
  min-height: 60px !important;
  padding-block: 7px !important;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-flat-cta {
  align-self: start;
  margin-top: 8px;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-card {
  min-height: 252px;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-card img {
  width: min(390px, 70%);
  max-height: 252px;
}

.mega-visual-points {
  position: absolute;
  top: 22px;
  left: 22px;
  z-index: 2;
  display: grid;
  gap: 7px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.mega-visual-points li {
  display: flex;
  align-items: center;
  gap: 8px;
  width: max-content;
  padding: 6px 10px;
  border: 1px solid color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 800;
  backdrop-filter: blur(8px);
}

.mega-visual-points li::before {
  width: 6px;
  height: 6px;
  flex: 0 0 6px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--accent) 14%, transparent);
  content: "";
}

.mega-nav .nav-item:nth-child(2) .mega-visual-points li::before {
  background: #20d900;
  box-shadow: 0 0 0 3px rgba(43, 255, 0, 0.14);
}

body:not(.route-admin-mestre) .nav .mega-price-tier:hover {
  border-color: rgba(43, 255, 0, 0.45);
  color: var(--ink);
  box-shadow: 0 14px 28px rgba(88, 39, 123, 0.13);
  transform: translateX(4px);
}

.mega-price-tier img {
  width: 45px;
  height: 45px;
  object-fit: contain;
  filter: drop-shadow(0 7px 10px rgba(20, 24, 30, 0.16));
}

.mega-price-tier > span {
  display: grid;
  gap: 2px;
}

.mega-price-tier small {
  color: var(--muted);
  font-size: 0.66rem;
  font-weight: 750;
}

.mega-price-tier strong {
  color: var(--ink);
  font-size: 1rem;
}

.mega-price-tier > b {
  padding: 4px 8px;
  border-radius: 999px;
  background: rgba(214, 170, 78, 0.14);
  color: #9a6a12;
  font-size: 0.65rem;
  text-transform: uppercase;
}

.mega-price-tier.is-dev > b {
  background: rgba(144, 156, 170, 0.16);
  color: #65717e;
}

.mega-price-tier.is-socio > b {
  background: rgba(214, 170, 78, 0.2);
  color: #8a5b05;
}

.mobile-menu-panel[data-mobile-menu-panel="contratar"] {
  border-color: rgba(144, 92, 174, 0.28);
  background:
    radial-gradient(circle at 0% 0%, rgba(184, 92, 255, 0.14), transparent 34%),
    #fff;
}

.mobile-menu-panel[data-mobile-menu-panel="contratar"] .mega-kicker,
.mobile-menu-panel[data-mobile-menu-panel="contratar"] .mega-action-icon {
  color: #8b2ee8;
}

.mobile-menu-panel[data-mobile-menu-panel="trabalhar"] {
  border-color: rgba(43, 255, 0, 0.28);
  background:
    radial-gradient(circle at 0% 0%, rgba(43, 255, 0, 0.16), transparent 34%),
    #fff;
}

.mobile-menu-panel[data-mobile-menu-panel="trabalhar"] .mega-kicker,
.mobile-menu-panel[data-mobile-menu-panel="trabalhar"] .mega-action-icon {
  color: #16a800;
}

.mobile-menu-panel[data-mobile-menu-panel="preco"] {
  border-color: rgba(144, 92, 174, 0.34);
  background:
    radial-gradient(circle at 0% 0%, rgba(144, 92, 174, 0.16), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(43, 255, 0, 0.1), transparent 36%),
    #fbf8ff;
}

.mobile-menu-panel[data-mobile-menu-panel="preco"] .mega-kicker,
.mobile-menu-panel[data-mobile-menu-panel="preco"] .mega-action-icon {
  color: #8b2ee8;
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-menu {
  border-color: rgba(144, 92, 174, 0.46);
  background:
    radial-gradient(circle at 8% 4%, rgba(184, 92, 255, 0.2), transparent 32%),
    radial-gradient(circle at 92% 18%, rgba(43, 255, 0, 0.08), transparent 26%),
    linear-gradient(135deg, #151021 0%, #1f1134 52%, #321755 100%);
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-menu {
  border-color: rgba(43, 255, 0, 0.44);
  background:
    radial-gradient(circle at 8% 4%, rgba(43, 255, 0, 0.16), transparent 32%),
    radial-gradient(circle at 92% 18%, rgba(144, 92, 174, 0.1), transparent 26%),
    linear-gradient(135deg, #0d1710 0%, #102016 52%, #17351c 100%);
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(3) .mega-menu {
  border-color: rgba(144, 92, 174, 0.5);
  background:
    radial-gradient(circle at 8% 4%, rgba(144, 92, 174, 0.22), transparent 32%),
    radial-gradient(circle at 92% 18%, rgba(43, 255, 0, 0.12), transparent 28%),
    linear-gradient(135deg, #151021 0%, #1d1530 48%, #102519 100%);
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-visual-card,
body.theme-dark:not(.route-admin-mestre) .mobile-menu-panel[data-mobile-menu-panel="contratar"] {
  background:
    radial-gradient(circle at 20% 10%, rgba(184, 92, 255, 0.22), transparent 32%),
    linear-gradient(135deg, #20112f, #321755);
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-visual-card.freela,
body.theme-dark:not(.route-admin-mestre) .mobile-menu-panel[data-mobile-menu-panel="trabalhar"] {
  background:
    radial-gradient(circle at 20% 10%, rgba(43, 255, 0, 0.18), transparent 32%),
    linear-gradient(135deg, #102016, #17351c);
}

body.theme-dark:not(.route-admin-mestre) .mega-price-visual,
body.theme-dark:not(.route-admin-mestre) .mobile-menu-panel[data-mobile-menu-panel="preco"] {
  border-color: rgba(144, 92, 174, 0.34);
  background:
    radial-gradient(circle at 90% 0, rgba(43, 255, 0, 0.11), transparent 34%),
    radial-gradient(circle at 4% 100%, rgba(144, 92, 174, 0.18), transparent 38%),
    linear-gradient(145deg, #1e1428, #102218);
}

body.theme-dark:not(.route-admin-mestre) .nav .mega-price-tier {
  border-color: rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.055);
}

/* Megamenu editorial: itens coordenados, leves e consistentes. */
.mega-menu {
  gap: 24px;
  padding: 24px;
  border-radius: 18px;
  box-shadow: 0 24px 64px rgba(17, 24, 39, 0.16);
}

.mega-menu-content {
  grid-template-rows: auto auto auto auto 1fr;
  align-content: stretch;
  gap: 8px;
  padding: 6px 28px 6px 6px;
}

.mega-menu-content:has(.mega-action + .mega-flat-cta) {
  grid-template-rows: auto auto auto 1fr;
}

.mega-menu-content h3 {
  margin: 4px 0 12px;
  font-size: 1.38rem;
  line-height: 1.12;
}

.mega-action {
  grid-template-columns: 38px minmax(0, 1fr);
  gap: 12px;
  min-height: 68px !important;
  padding: 10px 12px !important;
  border: 1px solid transparent;
  border-radius: 12px !important;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.mega-action + .mega-action {
  border-top: 1px solid transparent;
}

.mega-action:hover,
.mega-action:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 24%, var(--line));
  background: color-mix(in srgb, var(--accent) 7%, transparent) !important;
  transform: translateX(3px);
}

.mega-action-icon {
  width: 38px;
  height: 38px;
  border-radius: 10px;
}

.mega-action-icon svg {
  width: 21px;
  height: 21px;
}

.mega-action strong {
  font-size: 0.98rem;
}

.mega-action small {
  margin-top: 2px;
  font-size: 0.78rem;
  line-height: 1.35;
}

.mega-flat-cta {
  align-self: end;
  min-height: 44px !important;
  margin-top: 10px;
  border-radius: 10px !important;
  box-shadow: none !important;
}

.mega-visual-card,
.mega-price-visual {
  min-height: 320px;
  border-width: 1px;
  border-radius: 14px;
  box-shadow: none !important;
}

.mega-visual-card::before {
  display: none;
}

.mega-visual-card img {
  right: 0;
  width: min(470px, 88%);
  max-height: 320px;
  filter: drop-shadow(0 16px 22px rgba(17, 24, 39, 0.16));
}

.mega-visual-card div {
  left: 18px;
  bottom: 18px;
  max-width: 210px;
  padding: 11px 13px;
  border-color: color-mix(in srgb, var(--line) 72%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  box-shadow: 0 10px 28px rgba(17, 24, 39, 0.1);
}

.mega-price-visual {
  align-content: center;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  grid-template-rows: auto minmax(206px, auto);
  gap: 10px;
  padding: 22px 26px;
}

.mega-price-visual .mega-price-label {
  grid-column: 1 / -1;
}

body:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier.is-free {
  grid-column: 1;
  grid-row: 2;
}

body:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier.is-dev {
  grid-column: 2;
  grid-row: 2;
}

body:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier.is-socio {
  grid-column: 3;
  grid-row: 2;
}

body:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier {
  grid-template-columns: 1fr;
  grid-template-rows: 96px auto auto;
  justify-items: center;
  align-content: center;
  gap: 8px;
  width: 100%;
  min-height: 206px;
  padding: 14px 10px;
  text-align: center;
}

body:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier > span {
  display: grid;
  justify-items: center;
  gap: 3px;
}

body:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier > b {
  justify-self: center;
}

body:not(.route-admin-mestre) .nav .mega-price-visual .mega-price-tier img {
  width: 96px;
  height: 96px;
  filter: drop-shadow(0 14px 18px rgba(29, 11, 43, 0.2));
}

body:not(.route-admin-mestre) .nav .mega-price-tier {
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 12px;
  min-height: 68px;
  padding: 9px 12px;
  border-radius: 11px;
  box-shadow: none;
  transition: border-color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

body:not(.route-admin-mestre) .nav .mega-price-tier:hover,
body:not(.route-admin-mestre) .nav .mega-price-tier:focus-visible {
  border-color: rgba(144, 92, 174, 0.38);
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
  transform: translateY(-4px);
}

body:not(.route-admin-mestre) .nav .mega-price-tier img {
  width: 40px;
  height: 40px;
}

.top-actions {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  min-width: 0;
  white-space: nowrap;
}

.top-plan-badge {
  position: absolute;
  top: 50%;
  left: 58px;
  z-index: 2;
  display: inline-flex;
  width: 104px;
  height: 82px;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  transform: translateY(-50%);
}

.top-plan-badge:hover {
  color: var(--accent);
}

.top-plan-badge img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 13px 15px rgba(20, 24, 30, 0.26));
}

.top-plan-badge span {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
}

.top-plan-badge + .profile-menu {
  margin-left: 104px;
}

.top-plan-badge small {
  color: var(--muted);
  font-size: 0.58rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.top-plan-badge strong {
  font-size: 0.82rem;
  font-weight: 950;
}

.top-plan-badge.is-pending {
  border-color: rgba(255, 178, 26, 0.48);
}

.top-plan-badge.is-expiring { filter: drop-shadow(0 0 8px rgba(255, 176, 32, 0.78)); }
.top-plan-expiration-badge {
  position: absolute; top: 3px; right: 3px; z-index: 3;
  display: grid; min-width: 27px; height: 27px; place-items: center; padding: 0 6px;
  border: 2px solid var(--surface); border-radius: 999px;
  background: #ffb020; color: #1b1200; font-size: 0.69rem; font-weight: 950; line-height: 1;
}

.top-payment-notice {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  gap: 8px;
  padding: 0 12px;
  border: 1px solid rgba(43, 255, 0, 0.36);
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.12);
  color: #128137;
  font-size: 0.78rem;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(43, 255, 0, 0.12);
}

.top-payment-notice span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2bff00;
  box-shadow: 0 0 0 6px rgba(43, 255, 0, 0.14);
}

.top-payment-notice:hover {
  color: #0f6b31;
}

body.theme-dark .top-plan-badge {
  border-color: transparent;
  background: transparent;
  color: #ffffff;
}

body.theme-dark .top-payment-notice {
  border-color: rgba(43, 255, 0, 0.42);
  background: rgba(43, 255, 0, 0.14);
  color: #a7f3bd;
}

.theme-switch {
  display: inline-flex;
  flex: 0 0 auto;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--accent-soft);
}

.theme-option {
  min-height: 34px;
  width: auto;
  padding: 7px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  font-size: 0.78rem;
  white-space: nowrap;
  box-shadow: none;
}

.theme-option.active {
  background: var(--surface);
  color: var(--ink);
  box-shadow: 0 6px 18px rgba(17, 24, 39, 0.1);
}

.login-link {
  display: inline-flex;
  flex: 0 0 auto;
  width: 42px;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  font-weight: 950;
  white-space: nowrap;
  box-shadow: none;
}

.login-link svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.login-link:hover {
  background: transparent;
  color: var(--ink);
  transform: none;
  box-shadow: none;
}

.menu-toggle:hover,
.menu-toggle.open:hover {
  background: transparent;
  color: var(--ink);
  transform: none;
  box-shadow: none;
}

body.theme-dark:not(.route-admin-mestre) .login-link:hover,
body.theme-dark:not(.route-admin-mestre) .menu-toggle:hover,
body.theme-dark:not(.route-admin-mestre) .menu-toggle.open:hover {
  background: transparent;
  color: #f7fff9;
}

.profile-menu {
  position: relative;
  flex: 0 0 auto;
}

.profile-trigger {
  display: inline-flex;
  width: auto;
  min-height: 44px;
  align-items: center;
  gap: 10px;
  padding: 0 15px 0 6px;
  border: 0;
  border-radius: 999px;
  background: #2bff00;
  color: #0d2614;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.14);
}

.profile-avatar {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  background: rgba(13, 38, 20, 0.12);
  color: #0d2614;
  font-weight: 950;
}

.profile-trigger strong {
  max-width: 112px;
  overflow: hidden;
  text-overflow: ellipsis;
}

.profile-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 60;
  display: grid;
  gap: 6px;
  width: min(300px, calc(100vw - 24px));
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 26px 60px rgba(17, 24, 39, 0.18);
  opacity: 0;
  pointer-events: none;
  transform: translateY(-6px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.profile-menu:hover .profile-dropdown,
.profile-menu:focus-within .profile-dropdown,
.profile-menu.is-hover-open .profile-dropdown {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}

.profile-dropdown::before {
  content: "";
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  height: 14px;
}

.profile-summary {
  position: relative;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px;
  border-bottom: 1px solid var(--line);
}

.profile-summary .profile-security-card {
  position: absolute;
  right: -4px;
  bottom: -5px;
  width: 66px;
  height: 66px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: transparent;
  cursor: pointer;
  filter: drop-shadow(0 7px 8px rgba(62, 44, 8, .18));
  transition: transform 160ms ease, filter 160ms ease;
}

.profile-summary .profile-security-card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.profile-dropdown .profile-security-card:hover {
  background: transparent;
  transform: translateY(-2px) rotate(-2deg);
  filter: drop-shadow(0 10px 11px rgba(62, 44, 8, .24));
}

.profile-summary .profile-security-card:active {
  transform: translateY(0) scale(.96);
}

.profile-summary .profile-security-card:focus-visible {
  outline: 3px solid #8f49bb;
  outline-offset: 2px;
}

.profile-summary:has(.profile-security-card) > div {
  max-width: calc(100% - 90px);
}

.profile-summary strong,
.profile-summary small {
  display: block;
}

.profile-summary small {
  max-width: 210px;
  overflow: hidden;
  color: var(--muted);
  text-overflow: ellipsis;
}

.profile-dropdown a,
.profile-dropdown button {
  display: flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  gap: 10px;
  padding: 9px 10px;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
  font-weight: 900;
  text-align: left;
}

.profile-dropdown a:hover,
.profile-dropdown button:hover {
  background: var(--accent-soft);
}

.profile-dropdown .profile-mascot-toggle,
.mobile-menu .mobile-mascot-toggle {
  justify-content: flex-start;
}

.profile-toggle-switch {
  position: relative;
  display: inline-flex;
  width: 42px;
  height: 24px;
  margin-left: auto;
  align-items: center;
  border: 1px solid rgba(144, 92, 174, 0.24);
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.12);
  box-shadow: inset 0 1px 4px rgba(12, 18, 14, 0.08);
  transition: background 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.profile-toggle-switch span {
  position: absolute;
  left: 4px;
  width: 16px;
  height: 16px;
  border-radius: 999px;
  background: var(--accent);
  box-shadow: 0 4px 10px rgba(144, 92, 174, 0.22);
  transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

[data-mascot-toggle][aria-pressed="true"] .profile-toggle-switch {
  border-color: rgba(43, 255, 0, 0.44);
  background: rgba(43, 255, 0, 0.18);
  box-shadow: inset 0 1px 4px rgba(12, 18, 14, 0.08), 0 0 0 4px rgba(43, 255, 0, 0.08);
}

[data-mascot-toggle][aria-pressed="true"] .profile-toggle-switch span {
  background: var(--brand);
  box-shadow: 0 5px 14px rgba(43, 255, 0, 0.26);
  transform: translateX(17px);
}

.profile-dropdown form {
  margin: 0;
}

.profile-menu-icon {
  position: relative;
  display: inline-grid;
  width: 22px;
  height: 22px;
  place-items: center;
  color: var(--accent);
}

.profile-menu-icon::before,
.profile-menu-icon::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
}

.profile-menu-icon.icon-profile::before {
  top: 3px;
  width: 8px;
  height: 8px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.profile-menu-icon.icon-profile::after {
  bottom: 3px;
  width: 16px;
  height: 8px;
  border: 2px solid currentColor;
  border-radius: 999px 999px 4px 4px;
}

.profile-menu-icon.icon-client::before {
  width: 16px;
  height: 13px;
  border: 2px solid currentColor;
  border-radius: 4px;
}

.profile-menu-icon.icon-client::after {
  top: 5px;
  width: 8px;
  height: 2px;
  background: currentColor;
  box-shadow: 0 4px 0 currentColor;
}

.profile-menu-icon.icon-gift::before {
  left: 3px;
  bottom: 3px;
  width: 16px;
  height: 12px;
  border: 2px solid currentColor;
  border-radius: 3px;
  mask-image: none;
  -webkit-mask-image: none;
  background:
    linear-gradient(currentColor, currentColor) 50% 0 / 2px 100% no-repeat;
}

.profile-menu-icon.icon-gift::after {
  left: 2px;
  top: 5px;
  width: 18px;
  height: 6px;
  border: 2px solid currentColor;
  border-radius: 3px;
  mask-image: none;
  -webkit-mask-image: none;
  background:
    radial-gradient(circle at 7px -1px, transparent 0 4px, currentColor 4px 6px, transparent 6px),
    radial-gradient(circle at 11px -1px, transparent 0 4px, currentColor 4px 6px, transparent 6px),
    linear-gradient(currentColor, currentColor) 50% 0 / 2px 100% no-repeat;
}

.profile-menu-icon.icon-dev::before {
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-radius: 5px;
}

.profile-menu-icon.icon-dev::after {
  width: 8px;
  height: 8px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-45deg);
}

.profile-menu-icon.icon-master::before {
  width: 16px;
  height: 16px;
  border: 2px solid currentColor;
  border-radius: 50%;
}

.profile-menu-icon.icon-master::after {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 -8px 0 -1px currentColor, 0 8px 0 -1px currentColor;
}

.profile-menu-icon.icon-logout::before {
  left: 2px;
  width: 12px;
  height: 14px;
  border: 2px solid currentColor;
  border-right: 0;
  border-radius: 4px 0 0 4px;
}

.profile-menu-icon.icon-logout::after {
  right: 2px;
  width: 10px;
  height: 10px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.profile-menu-icon.icon-wallet::before {
  left: 3px;
  top: 5px;
  width: 16px;
  height: 12px;
  border: 2px solid currentColor;
  border-radius: 4px;
  mask-image: none;
  -webkit-mask-image: none;
  background: transparent;
}

.profile-menu-icon.icon-wallet::after {
  right: 5px;
  top: 9px;
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: currentColor;
}

.profile-menu-icon.icon-mascot::before {
  width: 16px;
  height: 13px;
  border: 2px solid currentColor;
  border-radius: 6px;
}

.profile-menu-icon.icon-mascot::after {
  width: 9px;
  height: 3px;
  border-radius: 999px;
  background: currentColor;
  box-shadow: -4px -4px 0 -1px currentColor, 4px -4px 0 -1px currentColor;
}

body.theme-dark:not(.route-admin-mestre) .login-link {
  background: transparent;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .profile-dropdown {
  border-color: #314038;
  background: #121916;
}

body.theme-dark:not(.route-admin-mestre) .profile-dropdown a,
body.theme-dark:not(.route-admin-mestre) .profile-dropdown button {
  color: #f7fff9;
}

.theme-light-toggle,
.menu-toggle {
  display: inline-grid;
  flex: 0 0 auto;
  width: 44px;
  min-height: 44px;
  place-items: center;
  padding: 0;
  border: 2px solid var(--line);
  border-radius: 999px;
  background: var(--surface);
  color: var(--accent);
  box-shadow: 0 8px 18px rgba(17, 24, 39, 0.08);
}

.theme-light-toggle span {
  position: relative;
  width: 18px;
  height: 18px;
  border: 3px solid currentColor;
  border-radius: 50%;
  box-shadow: 0 -10px 0 -7px currentColor, 0 10px 0 -7px currentColor, 10px 0 0 -7px currentColor, -10px 0 0 -7px currentColor, 7px 7px 0 -7px currentColor, -7px -7px 0 -7px currentColor, 7px -7px 0 -7px currentColor, -7px 7px 0 -7px currentColor;
}

.theme-light-toggle span::before {
  content: "";
  position: absolute;
  left: 6px;
  top: -4px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: var(--surface);
  opacity: 0;
  transform: scale(0.7);
  transition: opacity 160ms ease, transform 160ms ease, background 160ms ease;
}

.theme-light-toggle.active {
  border-color: rgba(43, 255, 0, 0.45);
  background: #ecfff1;
  color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .theme-light-toggle {
  border-color: rgba(144, 92, 174, 0.48);
  background: #1a132d;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .theme-light-toggle span {
  background: currentColor;
  box-shadow: none;
}

body.theme-dark:not(.route-admin-mestre) .theme-light-toggle span::before {
  background: #1a132d;
  opacity: 1;
  transform: scale(1);
}

.menu-toggle {
  display: none;
  align-content: center;
  justify-items: start;
  gap: 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--ink);
  box-shadow: none;
}

.menu-toggle span {
  display: block;
  width: 23px;
  height: 2.5px;
  border-radius: 999px;
  background: currentColor;
  transform-origin: center;
  transition: width 180ms ease, transform 180ms ease, opacity 180ms ease;
}

.menu-toggle span:nth-child(2) {
  width: 15px;
}

.menu-toggle.open span:nth-child(1) {
  width: 23px;
  transform: translateY(4.25px) rotate(45deg);
}

.menu-toggle.open span:nth-child(2) {
  width: 23px;
  transform: translateY(-4.25px) rotate(-45deg);
}

.top-actions .login-link,
.top-actions .profile-trigger,
.top-actions .theme-light-toggle,
.top-actions .menu-toggle {
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
  user-select: none;
}

@media (hover: none), (pointer: coarse) {
  .top-actions .login-link:hover,
  .top-actions .login-link:active,
  .top-actions .login-link:focus:not(:focus-visible),
  .top-actions .menu-toggle:hover,
  .top-actions .menu-toggle:active,
  .top-actions .menu-toggle:focus:not(:focus-visible),
  .top-actions .menu-toggle.open:hover,
  .top-actions .menu-toggle.open:active {
    background: transparent !important;
    color: var(--ink) !important;
    box-shadow: none !important;
    outline: 0;
    transform: none !important;
  }

  body.theme-dark:not(.route-admin-mestre) .top-actions .login-link:hover,
  body.theme-dark:not(.route-admin-mestre) .top-actions .login-link:active,
  body.theme-dark:not(.route-admin-mestre) .top-actions .login-link:focus:not(:focus-visible),
  body.theme-dark:not(.route-admin-mestre) .top-actions .menu-toggle:hover,
  body.theme-dark:not(.route-admin-mestre) .top-actions .menu-toggle:active,
  body.theme-dark:not(.route-admin-mestre) .top-actions .menu-toggle:focus:not(:focus-visible) {
    color: #f7fff9 !important;
  }

  .top-actions .theme-light-toggle:hover,
  .top-actions .theme-light-toggle:active,
  .top-actions .theme-light-toggle:focus:not(:focus-visible) {
    border-color: rgba(43, 255, 0, 0.45) !important;
    background: #ecfff1 !important;
    color: #2bff00 !important;
    box-shadow: 0 8px 18px rgba(17, 24, 39, 0.08) !important;
    outline: 0;
    transform: none !important;
  }

  body.theme-dark:not(.route-admin-mestre) .top-actions .theme-light-toggle:hover,
  body.theme-dark:not(.route-admin-mestre) .top-actions .theme-light-toggle:active,
  body.theme-dark:not(.route-admin-mestre) .top-actions .theme-light-toggle:focus:not(:focus-visible) {
    border-color: rgba(144, 92, 174, 0.48) !important;
    background: #1a132d !important;
    color: #f7fff9 !important;
  }

  .top-actions .profile-trigger:hover,
  .top-actions .profile-trigger:active,
  .top-actions .profile-trigger:focus:not(:focus-visible) {
    background: #2bff00 !important;
    color: #0d2614 !important;
    box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.14) !important;
    outline: 0;
    transform: none !important;
  }
}

.signup-link {
  display: inline-flex;
  flex: 0 0 auto;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  padding: 0 22px;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-weight: 950;
  white-space: nowrap;
  box-shadow: inset 0 -4px 0 rgba(0, 0, 0, 0.14);
}

.mobile-menu {
  display: none;
}

.mobile-menu-button {
  width: 100%;
  border: 0;
  background: transparent;
  color: inherit;
  font: inherit;
}

.mobile-menu-icon {
  display: inline-grid;
  flex: 0 0 auto;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 0;
  border-radius: 8px;
  background: transparent;
  color: var(--accent);
  box-shadow: none;
}

.mobile-menu-icon svg {
  width: 26px;
  height: 26px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.1;
  stroke-linecap: round;
  stroke-linejoin: round;
}

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

.freela-mascot {
  position: fixed;
  left: clamp(18px, 3vw, 42px);
  right: auto;
  bottom: calc(clamp(18px, 4vw, 42px) + 82px);
  z-index: 820;
  width: 108px;
  height: 124px;
  pointer-events: none;
  opacity: 1;
  transform: translateY(0) scale(1);
  transform-origin: 50% 100%;
  transition: opacity 220ms ease, transform 220ms ease;
}

body.mascot-hidden .freela-mascot {
  opacity: 0;
  transform: translateY(18px) scale(0.72);
}

body.mascot-chat-open .freela-mascot {
  opacity: 0;
  transform: translateY(14px) scale(0.68);
}

body.mascot-chat-open .freela-mascot-bot {
  animation: mascotChatHello 880ms ease both;
}

body.mascot-chat-open .freela-mascot-shadow {
  opacity: 0.22;
  transform: scaleX(0.72);
}

body.mascot-chat-open .freela-mascot-arm.left {
  animation: mascotWaveLeft 1.15s ease-in-out 2 both;
}

body.mascot-chat-open .freela-mascot-arm.right {
  animation: mascotWaveRight 1.15s ease-in-out 2 both;
}

body.mascot-chat-open .freela-mascot-flame {
  display: none;
  animation: none;
}

.freela-mascot-switch {
  position: fixed;
  left: clamp(18px, 3vw, 42px);
  bottom: clamp(18px, 4vw, 42px);
  z-index: 821;
  display: grid;
  place-items: center;
  width: 68px;
  height: 68px;
  overflow: hidden;
  padding: 0;
  border: 3px solid rgba(255, 255, 255, 0.92);
  border-radius: 50%;
  background: var(--brand);
  color: #08160d;
  box-shadow: 0 18px 44px rgba(43, 255, 0, 0.35);
  cursor: pointer;
  animation: chatButtonPulse 2.4s ease-in-out infinite;
  transition: opacity 180ms ease, transform 180ms ease, background 180ms ease;
}

.freela-mascot-switch:hover,
.freela-mascot-switch:focus-visible {
  transform: translateY(-2px);
}

.platform-chat-launch {
  opacity: 1 !important;
  animation: none;
}

body.modal-open .platform-chat-launch,
body.modal-open .platform-chat-panel,
body.mobile-hire-open .platform-chat-launch,
body.mobile-hire-open .platform-chat-panel,
body:has(.withdraw-modal.open) .platform-chat-launch,
body:has(.withdraw-modal.open) .platform-chat-panel {
  visibility: hidden;
  opacity: 0 !important;
  pointer-events: none !important;
}

.freela-mascot-switch-icon {
  position: relative;
  width: 34px;
  height: 27px;
  border: 3px solid #08160d;
  border-radius: 12px;
  background: transparent;
}

.freela-mascot-switch-icon::before,
.freela-mascot-switch-icon::after {
  content: "";
  position: absolute;
  top: 10px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #08160d;
}

.freela-mascot-switch-icon::before {
  left: 8px;
}

.freela-mascot-switch-icon::after {
  right: 8px;
}

body:not(.mascot-chat-open) .freela-mascot-switch-icon::before,
body:not(.mascot-chat-open) .freela-mascot-switch-icon::after {
  animation: mascotSwitchBlink 4.8s ease-in-out infinite;
  transform-origin: 50% 50%;
}

body.mascot-chat-open .freela-mascot-switch-icon::before,
body.mascot-chat-open .freela-mascot-switch-icon::after {
  animation: mascotSwitchBlink 4.8s ease-in-out infinite;
  transform-origin: 50% 50%;
}

body:not(.mascot-chat-open):not(.mascot-hidden) .freela-mascot-switch {
  opacity: 0.46;
  box-shadow: 0 14px 34px rgba(43, 255, 0, 0.18);
}

body:not(.mascot-chat-open):not(.mascot-hidden) .freela-mascot-switch:hover,
body:not(.mascot-chat-open):not(.mascot-hidden) .freela-mascot-switch:focus-visible,
body.mascot-chat-open .freela-mascot-switch {
  opacity: 1;
}

body.mascot-hidden .freela-mascot-switch {
  opacity: 0.78;
  transform: scale(0.96);
}

.freela-mascot-shadow {
  position: absolute;
  left: 22px;
  right: 20px;
  bottom: 0;
  height: 14px;
  border-radius: 50%;
  background: rgba(18, 27, 54, 0.22);
  filter: blur(4px);
  animation: mascotShadow 7.2s ease-in-out infinite;
}

.freela-mascot-bot {
  position: absolute;
  inset: 0;
  animation: mascotFloat 7.2s ease-in-out infinite;
}

.freela-mascot-head {
  position: absolute;
  top: 11px;
  left: 18px;
  width: 72px;
  height: 54px;
  border: 3px solid #101522;
  border-radius: 22px;
  background: linear-gradient(145deg, #84a9ff, #5c76dc 58%, #3442ad);
  box-shadow: inset 0 -7px 0 rgba(15, 20, 40, 0.2), 0 10px 22px rgba(67, 82, 180, 0.32);
}

.freela-mascot-face {
  position: absolute;
  inset: 13px 13px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 11px;
  border-radius: 13px;
  background: #17244f;
  box-shadow: inset 0 0 0 2px rgba(163, 196, 255, 0.16);
}

.freela-mascot-face i {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #8ff4d4;
  box-shadow: 0 0 8px rgba(143, 244, 212, 0.48);
  animation: mascotBlink 4.8s ease-in-out infinite;
}

.freela-mascot-ear {
  position: absolute;
  top: 26px;
  width: 15px;
  height: 25px;
  border: 3px solid #101522;
  border-radius: 10px;
  background: #4d67d2;
}

.freela-mascot-ear.left {
  left: 7px;
}

.freela-mascot-ear.right {
  right: 7px;
}

.freela-mascot-body {
  position: absolute;
  top: 64px;
  left: 25px;
  width: 58px;
  height: 45px;
  border: 3px solid #101522;
  border-radius: 16px;
  background: linear-gradient(145deg, #596df0, #2730a4);
  box-shadow: inset 0 -6px 0 rgba(13, 16, 72, 0.28);
}

.freela-mascot-mark {
  position: absolute;
  top: 10px;
  left: 11px;
  color: #f7fff9;
  font-size: 0.8rem;
  font-weight: 950;
  letter-spacing: -0.03em;
}

.freela-mascot-core {
  position: absolute;
  right: 12px;
  bottom: 12px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #2bff00;
  box-shadow: 0 0 12px rgba(43, 255, 0, 0.82);
}

.freela-mascot-arm,
.freela-mascot-leg {
  position: absolute;
  border: 3px solid #101522;
  background: #4562da;
}

.freela-mascot-arm {
  top: 73px;
  width: 17px;
  height: 31px;
  border-radius: 999px;
}

.freela-mascot-arm.left {
  left: 10px;
  transform: rotate(12deg);
  transform-origin: 50% 8%;
  animation: mascotLeftArm 7.2s ease-in-out infinite;
}

.freela-mascot-arm.right {
  right: 10px;
  transform: rotate(-12deg);
  transform-origin: 50% 8%;
  animation: mascotRightArm 7.2s ease-in-out infinite;
}

.freela-mascot-leg {
  bottom: 8px;
  width: 18px;
  height: 18px;
  border-radius: 8px;
}

.freela-mascot-leg.left {
  left: 33px;
}

.freela-mascot-leg.right {
  right: 33px;
}

.freela-mascot-flame {
  position: absolute;
  left: 50%;
  bottom: -1px;
  width: 20px;
  height: 30px;
  border-radius: 50% 50% 55% 55%;
  background:
    radial-gradient(circle at 50% 28%, #fff7b4 0 18%, transparent 19%),
    linear-gradient(180deg, #f7c94a 0%, #ff7a2d 58%, rgba(255, 86, 45, 0) 100%);
  filter: drop-shadow(0 0 10px rgba(247, 201, 74, 0.42));
  opacity: 0;
  transform: translateX(-50%) scaleY(0.35);
  transform-origin: 50% 0;
  animation: mascotFlame 7.2s ease-in-out infinite;
}

body.theme-dark:not(.route-admin-mestre) .freela-mascot-shadow {
  background: rgba(144, 92, 174, 0.38);
}

body.theme-dark:not(.route-admin-mestre) .freela-mascot-switch {
  border-color: rgba(255, 255, 255, 0.92);
  background: var(--brand);
  color: #08160d;
}

@keyframes mascotFloat {
  0% {
    transform: translateY(0) rotate(-1deg);
  }

  14% {
    transform: translateY(-18px) rotate(2deg);
  }

  46% {
    transform: translateY(calc(-1 * min(42vh, 320px))) rotate(-2deg);
  }

  56% {
    transform: translateY(calc(-1 * min(42vh, 320px))) rotate(1deg) scale(1.04);
  }

  84% {
    transform: translateY(-14px) rotate(-1deg);
  }

  100% {
    transform: translateY(0) rotate(-1deg);
  }
}

@keyframes mascotChatHello {
  0% {
    transform: translateY(28px) scale(0.92) rotate(-2deg);
  }

  62% {
    transform: translateY(-10px) scale(1.04) rotate(2deg);
  }

  100% {
    transform: translateY(0) scale(1) rotate(0);
  }
}

@keyframes mascotWaveLeft {
  0%,
  100% {
    transform: rotate(12deg);
  }

  45%,
  70% {
    transform: translate(-5px, -20px) rotate(-122deg);
  }
}

@keyframes mascotWaveRight {
  0%,
  100% {
    transform: rotate(-12deg);
  }

  45%,
  70% {
    transform: translate(4px, -12px) rotate(42deg);
  }
}

@keyframes mascotSwitchBlink {
  0%,
  42%,
  46%,
  50%,
  100% {
    transform: scaleY(1);
  }

  44%,
  48% {
    transform: scaleY(0.08);
  }
}

@keyframes mascotShadow {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.8;
  }

  46%,
  56% {
    transform: scale(0.42);
    opacity: 0.22;
  }

  50% {
    transform: scale(0.38);
    opacity: 0.18;
  }
}

@keyframes mascotLeftArm {
  0%,
  78%,
  100% {
    transform: rotate(18deg);
  }

  14%,
  58% {
    transform: rotate(-178deg) translateY(-5px);
  }
}

@keyframes mascotRightArm {
  0%,
  78%,
  100% {
    transform: rotate(-18deg);
  }

  14%,
  58% {
    transform: rotate(-8deg);
  }
}

@keyframes mascotFlame {
  0%,
  10%,
  82%,
  100% {
    opacity: 0;
    transform: translateX(-50%) scaleY(0.25) scaleX(0.7);
  }

  18%,
  56% {
    opacity: 0.92;
    transform: translateX(-50%) scaleY(1) scaleX(0.9);
  }

  38% {
    opacity: 0.72;
    transform: translateX(-50%) scaleY(0.72) scaleX(1.08);
  }
}

@keyframes mascotBlink {
  0%,
  88%,
  100% {
    transform: scaleY(1);
  }

  92% {
    transform: scaleY(0.18);
  }
}

.auth-modal {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: none;
  place-items: center;
  padding: 18px;
}

.auth-modal.open {
  display: grid;
}

.freelancer-security-modal,
.duplicate-whatsapp-modal {
  position: fixed;
  inset: 0;
  z-index: 140;
  isolation: isolate;
  display: none;
  place-items: center;
  padding: 18px;
}

.duplicate-whatsapp-modal.open {
  display: grid;
}

.freelancer-security-modal.open {
  display: grid;
}

body.has-freelancer-security-modal {
  overflow: hidden;
}

.freelancer-security-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  min-height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(7, 9, 8, .82);
  backdrop-filter: blur(10px);
}

.freelancer-security-backdrop:hover,
.freelancer-security-backdrop:focus,
.freelancer-security-backdrop:active {
  background: rgba(7, 9, 8, .82);
  box-shadow: none;
  outline: 0;
  transform: none;
}

.freelancer-security-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(240px, .85fr) minmax(340px, 1.15fr);
  overflow: hidden;
  width: min(940px, 100%);
  max-height: calc(100dvh - 36px);
  border: 1px solid rgba(255, 198, 22, .56);
  border-radius: 18px;
  background: #fff;
  color: #17191f;
  box-shadow: 0 34px 100px rgba(0, 0, 0, .52);
}

.freelancer-security-modal.is-red .freelancer-security-dialog {
  border-color: rgba(245, 53, 59, .62);
}

.freelancer-security-close {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 16px;
  width: 36px;
  min-height: 36px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(17, 19, 23, .07);
  color: #17191f;
  box-shadow: none;
  font-size: 1.35rem;
}

.freelancer-security-visual {
  display: grid;
  place-items: center;
  align-content: center;
  min-height: 520px;
  padding: 34px 24px;
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 244, 169, .95), transparent 42%),
    linear-gradient(145deg, #ffe95b, #ffc616);
}

.is-red .freelancer-security-visual {
  background:
    radial-gradient(circle at 50% 45%, rgba(255, 170, 170, .82), transparent 42%),
    linear-gradient(145deg, #ff5a61, #d91925);
}

.freelancer-security-visual span {
  padding: 7px 12px;
  border: 1px solid rgba(20, 18, 8, .18);
  border-radius: 999px;
  color: #211d08;
  background: rgba(255, 255, 255, .46);
  font-size: .74rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.is-red .freelancer-security-visual span { color: #3b070a; }

.freelancer-security-visual img {
  width: min(300px, 90%);
  max-height: 390px;
  object-fit: contain;
  filter: drop-shadow(0 24px 28px rgba(61, 37, 5, .24));
}

.freelancer-security-copy {
  display: grid;
  align-content: center;
  gap: 14px;
  min-width: 0;
  padding: 54px 50px 42px;
}

.freelancer-security-copy > span {
  color: #a67900;
  font-size: .75rem;
  font-weight: 950;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.is-red .freelancer-security-copy > span { color: #d91925; }

.freelancer-security-copy h2 {
  margin: 0;
  color: #17191f;
  font-size: clamp(1.8rem, 4vw, 3rem);
  line-height: 1.02;
  letter-spacing: -.035em;
}

.freelancer-security-copy p {
  margin: 0;
  color: #5d626a;
  font-size: .98rem;
  line-height: 1.58;
}

.freelancer-security-rule {
  display: grid;
  gap: 3px;
  padding: 13px 15px;
  border-left: 5px solid #ffc616;
  border-radius: 8px;
  background: #fff7d0;
}

.is-red .freelancer-security-rule {
  border-left-color: #e21d29;
  background: #ffe4e6;
}

.freelancer-security-rule strong { color: #17191f; }
.freelancer-security-rule span { color: #6b5a16; font-size: .85rem; }
.is-red .freelancer-security-rule span { color: #8c2228; }

.freelancer-security-copy ul {
  display: grid;
  gap: 7px;
  margin: 0;
  padding-left: 20px;
  color: #4d535a;
  font-size: .88rem;
}

.freelancer-security-confirm {
  min-height: 52px;
  margin-top: 4px;
  border: 1px solid #1b1d21;
  border-radius: 8px;
  background: #1b1d21;
  color: #fff;
  font-weight: 950;
}

.freelancer-security-confirm:hover,
.freelancer-security-confirm:focus-visible {
  border-color: #55257a;
  background: #55257a;
  color: #fff;
}

@media (max-width: 720px) {
  .freelancer-security-modal { padding: 10px; }
  .freelancer-security-dialog {
    grid-template-columns: 1fr;
    overflow-y: auto;
    max-height: calc(100dvh - 20px);
    border-radius: 14px;
  }
  .freelancer-security-visual {
    min-height: 230px;
    padding: 24px 18px 8px;
  }
  .freelancer-security-visual img {
    width: 176px;
    max-height: 200px;
  }
  .freelancer-security-copy {
    gap: 11px;
    padding: 28px 22px 22px;
  }
  .freelancer-security-copy h2 { font-size: clamp(1.55rem, 7vw, 2.15rem); }
  .freelancer-security-copy p { font-size: .9rem; }
}

.duplicate-whatsapp-backdrop {
  position: absolute;
  inset: 0;
  z-index: 0;
  width: 100%;
  min-height: 100%;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: rgba(12, 13, 15, 0.72);
  backdrop-filter: blur(10px);
}

.duplicate-whatsapp-modal .duplicate-whatsapp-backdrop:hover,
.duplicate-whatsapp-modal .duplicate-whatsapp-backdrop:focus,
.duplicate-whatsapp-modal .duplicate-whatsapp-backdrop:focus-visible,
.duplicate-whatsapp-modal .duplicate-whatsapp-backdrop:active {
  background: rgba(12, 13, 15, 0.72);
  color: transparent;
  box-shadow: none;
  outline: 0;
  transform: none;
}

.duplicate-whatsapp-dialog {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 18px;
  width: min(560px, 100%);
  padding: 28px;
  border: 1px solid rgba(144, 92, 174, 0.4);
  border-top: 5px solid #905CAE;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(144, 92, 174, 0.09), transparent 50%),
    #ffffff;
  color: #17191f;
  box-shadow: 0 30px 90px rgba(0, 0, 0, 0.4);
}

.duplicate-whatsapp-close {
  position: absolute;
  top: 12px;
  right: 14px;
  display: grid;
  place-items: center;
  width: 34px;
  min-height: 34px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #17191f;
  font-size: 1.45rem;
  line-height: 1;
}

.duplicate-whatsapp-icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 8px;
  background: #28143c;
  color: #ffcb45;
}

.duplicate-whatsapp-icon svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.duplicate-whatsapp-dialog > div:not(.duplicate-whatsapp-actions) {
  display: grid;
  gap: 7px;
  min-width: 0;
  padding-right: 30px;
}

.duplicate-whatsapp-dialog small {
  color: #905CAE;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.duplicate-whatsapp-dialog h2 {
  margin: 0;
  color: #17191f;
  font-size: clamp(1.45rem, 4vw, 2rem);
  line-height: 1.05;
}

.duplicate-whatsapp-dialog p {
  margin: 0;
  color: #626a73;
  font-size: 0.92rem;
  font-weight: 700;
  line-height: 1.5;
}

.duplicate-whatsapp-dialog [data-duplicate-whatsapp-number] {
  width: max-content;
  max-width: 100%;
  margin-top: 4px;
  padding: 7px 10px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 6px;
  background: rgba(144, 92, 174, 0.08);
  color: #28143c;
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.duplicate-whatsapp-actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(110px, 0.7fr) minmax(180px, 1.3fr);
  gap: 10px;
  padding-top: 2px;
}

.duplicate-whatsapp-actions button {
  min-height: 48px;
  border: 1px solid rgba(144, 92, 174, 0.25);
  border-radius: 8px;
  background: #ffffff;
  color: #28143c;
  font-weight: 950;
}

.duplicate-whatsapp-actions button.primary {
  border-color: #905CAE;
  background: #905CAE;
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .duplicate-whatsapp-dialog {
  background:
    linear-gradient(135deg, rgba(144, 92, 174, 0.15), transparent 50%),
    #101814;
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .duplicate-whatsapp-close,
body.theme-dark:not(.route-admin-mestre) .duplicate-whatsapp-dialog h2 {
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .duplicate-whatsapp-dialog p {
  color: #bdc9c2;
}

body.theme-dark:not(.route-admin-mestre) .duplicate-whatsapp-dialog [data-duplicate-whatsapp-number] {
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .duplicate-whatsapp-actions button:not(.primary) {
  border-color: rgba(255, 255, 255, 0.2);
  background: #17211c;
  color: #ffffff;
}

@media (max-width: 560px) {
  .duplicate-whatsapp-dialog {
    grid-template-columns: 50px minmax(0, 1fr);
    gap: 14px;
    padding: 22px 18px 18px;
  }

  .duplicate-whatsapp-icon {
    width: 50px;
    height: 50px;
  }

  .duplicate-whatsapp-icon svg {
    width: 28px;
    height: 28px;
  }

  .duplicate-whatsapp-dialog > div:not(.duplicate-whatsapp-actions) {
    padding-right: 24px;
  }

  .duplicate-whatsapp-actions {
    grid-template-columns: 1fr;
  }
}

.auth-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(17, 17, 17, 0.54);
  backdrop-filter: blur(8px);
}

.auth-card {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 16px;
  width: min(460px, 100%);
  max-height: calc(100dvh - 36px);
  overflow-y: auto;
  padding: 28px 24px 24px;
  border: 2px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
  color: var(--ink);
  box-shadow: 0 24px 60px rgba(17, 24, 39, 0.24);
}

.auth-close {
  position: absolute;
  top: 12px;
  right: 12px;
  width: 38px;
  min-height: 38px;
  padding: 0;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--ink);
}

.auth-kicker {
  color: #2bff00;
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.auth-card h2 {
  margin: 0;
  font-size: 2rem;
  line-height: 1.08;
  letter-spacing: 0;
}

.auth-card p {
  margin: 0;
  color: var(--muted);
  font-weight: 750;
}

.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  padding: 5px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--accent-soft);
}

.auth-tabs button {
  width: auto;
  min-height: 40px;
  border-radius: 999px;
  background: transparent;
  color: var(--muted);
  box-shadow: none;
}

.auth-tabs button.active {
  background: #2bff00;
  color: #0d2614;
}

.auth-form {
  display: none;
  gap: 14px;
}

.auth-form.active {
  display: grid;
}

.social-login {
  display: grid;
  gap: 10px;
}

.social-button {
  display: inline-flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: #ffffff;
  color: var(--ink);
  font-weight: 900;
}

.social-button img {
  width: 20px;
  height: 20px;
  object-fit: contain;
  flex: 0 0 auto;
}

.social-button.facebook {
  border-color: #3769bd;
  background: #3769bd;
  color: #ffffff;
}

.social-button.apple {
  border-color: #111111;
  background: #111111;
  color: #ffffff;
}

.social-button.apple img {
  filter: invert(1);
}

.auth-divider {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 10px;
  color: var(--muted);
  font-size: 0.9rem;
}

.auth-divider::before,
.auth-divider::after {
  content: "";
  height: 1px;
  background: var(--line);
}

.auth-step {
  display: none;
  gap: 14px;
}

.auth-step.active {
  display: grid;
}

.auth-step-indicator {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 8px;
  margin: -2px 0 2px;
}

.auth-step-indicator span {
  display: inline-flex;
  min-height: 8px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: var(--accent-soft);
  color: transparent;
  font-size: 0;
}

.auth-step-indicator span.active {
  background: #2bff00;
}

.auth-form label {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.auth-form input,
.auth-form select {
  border: 1px solid var(--line);
  background: #ffffff;
  color: var(--ink);
  min-height: 54px;
}

.auth-form input:focus,
.auth-form select:focus {
  border-color: #2bff00;
  outline: 3px solid rgba(43, 255, 0, 0.16);
}

.forgot-link {
  justify-self: end;
  color: var(--accent);
  font-size: 0.88rem;
  font-weight: 900;
}

.password-recovery-page {
  display: grid;
  min-height: calc(100vh - 86px);
  padding: 52px 20px;
  place-items: center;
  background:
    radial-gradient(circle at 78% 18%, rgba(43, 255, 0, 0.1), transparent 30%),
    radial-gradient(circle at 20% 78%, rgba(144, 92, 174, 0.1), transparent 32%),
    var(--bg);
}

.password-recovery-card {
  display: grid;
  width: min(500px, 100%);
  gap: 16px;
  padding: clamp(26px, 5vw, 42px);
  border: 1px solid var(--line);
  border-radius: 12px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.password-recovery-brand {
  display: inline-flex;
  width: 128px;
  margin-bottom: 8px;
}

.password-recovery-brand img {
  display: block;
  width: 100%;
  height: auto;
}

.password-recovery-card h1 {
  margin: 0;
  font-size: clamp(1.8rem, 6vw, 2.6rem);
  line-height: 1.08;
}

.password-recovery-card > p,
.password-recovery-card > small {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.password-recovery-card form {
  display: grid;
  gap: 14px;
  margin-top: 4px;
}

.password-recovery-card label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.password-recovery-card input {
  min-height: 54px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface);
  color: var(--ink);
}

.password-recovery-card input:focus {
  border-color: var(--brand);
  outline: 3px solid rgba(43, 255, 0, 0.14);
}

.password-recovery-card form button,
.password-recovery-request {
  min-height: 54px;
  border-radius: 8px;
  background: var(--brand);
  color: #0d2614;
  font-weight: 950;
}

.password-recovery-back {
  justify-self: start;
  color: var(--accent);
  font-weight: 900;
}

body.theme-dark:not(.route-admin-mestre) .password-recovery-card,
body.theme-dark:not(.route-admin-mestre) .password-recovery-card input {
  border-color: #314038;
  background: #121916;
  color: #f7fff9;
}

@media (max-width: 560px) {
  .password-recovery-page {
    min-height: calc(100dvh - 72px);
    padding: 24px 14px;
    place-items: start center;
  }

  .password-recovery-card {
    padding: 24px 20px;
  }
}

.specialty-field {
  display: none;
}

.specialty-field[hidden] {
  display: none !important;
}

.specialty-field.visible {
  display: grid;
}

.auth-primary,
.auth-secondary {
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 999px;
  font-weight: 950;
}

.auth-primary {
  background: #2bff00;
  color: #0d2614;
  box-shadow: inset 0 -5px 0 rgba(0, 0, 0, 0.14);
}

.auth-step-actions {
  display: grid;
  grid-template-columns: 0.8fr 1.2fr;
  gap: 10px;
}

.auth-secondary {
  border: 2px solid var(--accent);
  background: var(--surface);
  color: var(--accent);
}

body.modal-open {
  overflow: hidden;
}

body.modal-open .sales-showcase-callout {
  display: none !important;
}

.logout-form {
  margin: 0;
}

.flash-message {
  position: fixed;
  right: 18px;
  bottom: max(18px, env(safe-area-inset-bottom));
  z-index: 900;
  box-sizing: border-box;
  max-width: min(420px, calc(100% - 36px));
  padding: 14px 16px;
  border-radius: 8px;
  background: #111111;
  color: #ffffff;
  font-weight: 900;
  line-height: 1.38;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: normal;
  pointer-events: none;
  box-shadow: 0 18px 45px rgba(0, 0, 0, 0.22);
  transition: opacity 180ms ease, transform 180ms ease;
}

.flash-message.success {
  border-left: 5px solid #2bff00;
}

.flash-message.error {
  border-left: 5px solid #ff4d4d;
}

.flash-message.hide {
  opacity: 0;
  transform: translateY(10px);
}

.hire-account-notice {
  position: fixed;
  z-index: 920;
  top: 92px;
  left: 50%;
  display: flex;
  align-items: center;
  gap: 12px;
  width: max-content;
  max-width: calc(100% - 32px);
  padding: 19px 28px 18px 22px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #18151d;
  box-shadow: none;
  isolation: isolate;
  overflow: visible;
  transform: translateX(-50%);
  transition: opacity 220ms ease, transform 220ms ease;
}

.hire-account-notice::after {
  display: none;
}

@keyframes hireAccountNoticeCountdown {
  to { transform: scaleX(0); }
}

.hire-account-notice > span {
  position: relative;
  z-index: 1;
  display: grid;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, #2bff00, #905cae);
  color: #fff;
  font-size: 1rem;
  font-weight: 900;
}

.hire-account-notice > div {
  position: relative;
  z-index: 1;
}

.hire-account-notice-paper {
  position: absolute;
  z-index: -1;
  inset: -20px -28px -22px;
  width: calc(100% + 56px);
  height: calc(100% + 42px);
  object-fit: fill;
  pointer-events: none;
  filter: drop-shadow(0 17px 20px rgba(39, 22, 49, .24));
}

.hire-account-notice-pin {
  position: absolute;
  z-index: 3;
  top: -40px;
  left: 50%;
  width: 50px;
  height: 62px;
  object-fit: contain;
  pointer-events: none;
  opacity: 0;
  filter: drop-shadow(0 7px 6px rgba(67, 16, 24, .3));
  transform-origin: 50% 82%;
  animation: hireNoticePinAttach 820ms cubic-bezier(.2, .92, .2, 1.16) 120ms both;
}

@keyframes hireNoticePinAttach {
  0% {
    opacity: 0;
    transform: translate3d(-50%, -58px, 0) rotate(-18deg) scale(1.18);
  }
  58% {
    opacity: 1;
    transform: translate3d(-50%, 7px, 0) rotate(4deg) scale(.94);
  }
  78% {
    transform: translate3d(-50%, -3px, 0) rotate(-2deg) scale(1.04);
  }
  100% {
    opacity: 1;
    transform: translate3d(-50%, 0, 0) rotate(0) scale(1);
  }
}

.hire-account-notice strong,
.hire-account-notice p {
  display: block;
  margin: 0;
}

.hire-account-notice strong {
  font-size: 0.92rem;
}

.hire-account-notice p {
  margin-top: 2px;
  color: #626878;
  font-size: 0.82rem;
}

.hire-account-notice.hide {
  opacity: 0;
  transform: translate(-50%, -10px);
}

body.theme-dark .hire-account-notice {
  border-color: transparent;
  background: transparent;
  color: #18151d;
}

body.theme-dark .hire-account-notice p {
  color: #626878;
}

@media (prefers-reduced-motion: reduce) {
  .hire-account-notice-pin {
    animation: none;
    opacity: 1;
    transform: translate3d(-50%, 0, 0);
  }
}

@media (max-width: 760px) {
  .hire-account-notice {
    top: 78px;
    width: calc(100% - 24px);
    box-sizing: border-box;
  }
}

@media (max-width: 760px) {
  .flash-message {
    right: 12px;
    bottom: calc(104px + env(safe-area-inset-bottom));
    left: 12px;
    width: auto;
    max-width: none;
    min-height: 58px;
    display: flex;
    align-items: center;
    padding: 14px 16px;
    font-size: 0.94rem;
  }
}

.playful-hero {
  grid-template-columns: minmax(340px, 0.9fr) minmax(0, 1fr);
  gap: clamp(32px, 6vw, 76px);
  min-height: calc(100vh - 76px);
  padding-top: 54px;
}

.playful-hero .hero-copy {
  order: 2;
}

.playful-hero .hero-visual {
  order: 1;
}

.playful-hero h1 {
  max-width: 780px;
  color: var(--ink);
  font-size: clamp(2.1rem, 4.25vw, 4rem);
  line-height: 1.08;
}

.playful-hero h1::first-line {
  color: var(--accent);
}

.playful-hero p {
  max-width: 690px;
  color: #3f4650;
  font-size: clamp(1.1rem, 1.8vw, 1.38rem);
  font-weight: 750;
}

body.theme-dark:not(.route-admin-mestre) .playful-hero p {
  color: var(--muted);
}

.playful-hero .btn.primary {
  min-height: 58px;
  border-radius: 999px;
  background: var(--brand);
  color: #0d2614;
  box-shadow: inset 0 -5px 0 rgba(0, 0, 0, 0.15);
}

body.theme-dark:not(.route-admin-mestre) .playful-hero .btn.primary {
  color: #08160d;
}

.playful-hero .btn.ghost {
  min-height: 58px;
  border: 2px solid var(--accent);
  border-radius: 999px;
  background: var(--surface);
  color: var(--accent);
}

.trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}

.trust-row span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.72);
  color: var(--muted);
  font-weight: 850;
}

.trust-row span::before {
  content: "";
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: var(--brand);
}

.hero-visual {
  position: relative;
  min-height: 520px;
}

.orbit-card.main {
  position: absolute;
  left: 50%;
  top: 46%;
  display: grid;
  width: min(360px, 82vw);
  min-height: 330px;
  place-items: center;
  padding: 34px;
  border: 3px solid #0f2415;
  border-radius: 8px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.14), transparent 42%),
    var(--surface);
  box-shadow: 0 24px 0 #d8f3df, 0 34px 55px rgba(43, 255, 0, 0.18);
  text-align: center;
  transform: translate(-50%, -50%) rotate(-2deg);
  animation: hero-card-float 5.5s ease-in-out infinite;
}

body.theme-dark:not(.route-admin-mestre) .orbit-card.main {
  border-color: #26372d;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.22), transparent 42%),
    #121815;
  box-shadow: 0 24px 0 rgba(43, 255, 0, 0.16), 0 34px 55px rgba(0, 0, 0, 0.36);
}

.bot-face {
  display: grid;
  width: 124px;
  height: 124px;
  place-items: center;
  border: 8px solid #1e2a1f;
  border-radius: 8px;
  background: var(--brand);
  color: #102316;
  font-size: 2rem;
  font-weight: 950;
  box-shadow: inset 0 -10px 0 rgba(0, 0, 0, 0.12);
  animation: bot-face-breathe 3.8s ease-in-out infinite;
}

body.theme-dark:not(.route-admin-mestre) .bot-face {
  color: #08160d;
}

.orbit-card strong {
  margin-top: 18px;
  color: var(--accent);
  font-size: 4.4rem;
  line-height: 1;
  transform-origin: center;
}

.orbit-card strong.is-peak {
  animation: speedCounterPeak 420ms ease-out both;
}

.orbit-card small {
  width: min(250px, 100%);
  min-height: 34px;
  color: var(--muted);
  font-weight: 900;
}

.flip-copy {
  position: relative;
  display: block;
}

.flip-copy span,
.floating-token span {
  display: grid;
  place-items: center;
}

.flip-copy span {
  position: absolute;
  inset: 0;
  opacity: 1;
  transform: translateY(0);
}

.flip-copy span:first-child {
  position: absolute;
}

.floating-token {
  position: absolute;
  display: inline-flex;
  min-width: 150px;
  min-height: 50px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 2px solid var(--ink);
  border-radius: 999px;
  background: var(--surface);
  color: var(--ink);
  font-weight: 950;
  box-shadow: 0 8px 0 var(--accent-soft);
  animation: token-bob 4s ease-in-out infinite;
  will-change: transform;
}

.floating-token span {
  position: absolute;
  inset: 0;
  padding: 0 18px;
  opacity: 0;
  white-space: nowrap;
  transform: translateY(8px);
  animation-duration: 7.2s;
  animation-iteration-count: infinite;
  animation-timing-function: ease-in-out;
  animation-fill-mode: both;
  will-change: opacity, transform;
}

.floating-token span:first-child {
  animation-name: token-word-one;
}

.floating-token span:nth-child(2) {
  animation-name: token-word-two;
}

.floating-token span:nth-child(3) {
  animation-name: token-word-three;
}

.token-a {
  left: 4%;
  top: 12%;
  animation-delay: 0.1s;
}

.token-b {
  right: 2%;
  top: 24%;
  min-width: 182px;
  background: var(--accent);
  color: #fff;
  animation-delay: 0.65s;
}

.token-c {
  right: 11%;
  bottom: 13%;
  min-width: 132px;
  background: var(--brand);
  animation-delay: 1.1s;
}

.mini-path {
  position: absolute;
  left: 8%;
  bottom: 13%;
  display: grid;
  grid-template-columns: repeat(4, 28px);
  gap: 15px;
}

.mini-path span {
  width: 28px;
  height: 28px;
  border: 3px solid var(--accent);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 6px 0 var(--accent-soft);
  transform: rotate(45deg);
  animation: path-pulse 1.8s ease-in-out infinite;
}

.mini-path span:nth-child(2) {
  animation-delay: 0.18s;
}

.mini-path span:nth-child(3) {
  animation-delay: 0.36s;
}

.mini-path span:nth-child(4) {
  animation-delay: 0.54s;
}

@keyframes hero-card-float {
  0%,
  100% {
    transform: translate(-50%, -50%) rotate(-2deg);
  }

  50% {
    transform: translate(-50%, calc(-50% - 12px)) rotate(1deg);
  }
}

@keyframes speedCounterPeak {
  0%,
  100% {
    transform: scale(1);
  }

  44% {
    filter: brightness(1.08);
    transform: scale(1.12);
  }
}

@keyframes bot-face-breathe {
  0%,
  100% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.035);
  }
}

@keyframes token-bob {
  0%,
  100% {
    transform: translateY(0) rotate(0deg);
  }

  50% {
    transform: translateY(-10px) rotate(-1deg);
  }
}

@keyframes token-word-one {
  0%,
  27%,
  100% {
    opacity: 1;
    transform: translateY(0);
  }

  31%,
  96% {
    opacity: 0;
    transform: translateY(-8px);
  }
}

@keyframes token-word-two {
  0%,
  29%,
  64%,
  100% {
    opacity: 0;
    transform: translateY(8px);
  }

  34%,
  59% {
    opacity: 1;
    transform: translateY(0);
  }

  64% {
    opacity: 0;
    transform: translateY(-8px);
  }
}

@keyframes token-word-three {
  0%,
  62%,
  97%,
  100% {
    opacity: 0;
    transform: translateY(8px);
  }

  68%,
  92% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes path-pulse {
  0%,
  100% {
    opacity: 0.56;
    transform: rotate(45deg) scale(0.92);
  }

  50% {
    opacity: 1;
    transform: rotate(45deg) scale(1.08);
  }
}

@keyframes mobile-menu-drop {
  from {
    opacity: 0;
    transform: scaleY(0.92) translateY(-8px);
  }

  to {
    opacity: 1;
    transform: scaleY(1) translateY(0);
  }
}

@keyframes mobile-item-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .orbit-card.main,
  .bot-face,
  .floating-token,
  .floating-token span,
  .flip-copy span,
  .mini-path span,
  .mobile-menu.open,
  .mobile-menu a,
  .mobile-menu-icon {
    animation: none;
    opacity: 1;
    transform: none;
  }

  .orbit-card.main {
    transform: translate(-50%, -50%) rotate(-2deg);
  }

  .floating-token span:not(:first-child),
  .flip-copy span:not(:first-child) {
    display: none;
  }
}

body.theme-dark:not(.route-admin-mestre) .floating-token,
body.theme-dark:not(.route-admin-mestre) .mini-path span {
  box-shadow: 0 8px 0 rgba(144, 92, 174, 0.18);
}

body.theme-dark:not(.route-admin-mestre) .token-b {
  background: var(--accent);
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .token-c {
  background: var(--brand);
  color: #08160d;
}

body:not(.route-admin-mestre) .metrics-band {
  border-color: rgba(155, 92, 246, 0.42);
  background:
    radial-gradient(circle at 12% 0%, rgba(166, 103, 255, 0.34), transparent 34%),
    linear-gradient(135deg, #3b1766 0%, #27113f 48%, #4c1d95 100%);
  box-shadow: 0 28px 72px rgba(76, 29, 149, 0.24);
}

body.theme-dark:not(.route-admin-mestre) .metrics-band {
  background:
    radial-gradient(circle at 12% 0%, rgba(166, 103, 255, 0.28), transparent 34%),
    linear-gradient(135deg, #2d1252 0%, #180f28 48%, #381879 100%);
}

body:not(.route-admin-mestre) .workflow-card {
  border: 2px solid var(--line);
  border-top: 6px solid var(--brand);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 12px 0 rgba(43, 255, 0, 0.12);
}

body:not(.route-admin-mestre) .workflow-card:nth-child(even) {
  border-top-color: var(--accent);
  box-shadow: 0 12px 0 rgba(144, 92, 174, 0.12);
}

body:not(.route-admin-mestre) .feature-list div,
body:not(.route-admin-mestre) .intake-card,
body:not(.route-admin-mestre) .aside-panel,
body:not(.route-admin-mestre) .talent-card {
  border-radius: 8px;
  box-shadow: 0 12px 0 rgba(17, 24, 39, 0.05);
}

body:not(.route-admin-mestre) .feature-list div {
  border-radius: 24px;
}

body.theme-dark:not(.route-admin-mestre) .talent-profile img {
  border-color: rgba(144, 92, 174, 0.38);
  background: #111916;
}

body.theme-dark:not(.route-admin-mestre) .feature-list div::after {
  -webkit-text-stroke-color: rgba(144, 92, 174, 0.46);
  text-stroke-color: rgba(144, 92, 174, 0.46);
}

body.theme-dark:not(.route-admin-mestre) .feature-list div:nth-child(2)::after {
  -webkit-text-stroke-color: rgba(43, 255, 0, 0.42);
  text-stroke-color: rgba(43, 255, 0, 0.42);
}

body.theme-dark:not(.route-admin-mestre) .feature-list div:nth-child(3)::after {
  -webkit-text-stroke-color: rgba(247, 255, 249, 0.24);
  text-stroke-color: rgba(247, 255, 249, 0.24);
}

body.theme-dark:not(.route-admin-mestre) .talent-score-row strong {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .talent-rank-meter {
  background: #26302b;
}

body.route-admin-mestre,
body.route-admin-projetos,
body.route-admin-login,
body.route-admin-pagamentos,
body.route-admin-pagamentos-clientes,
body.route-admin-clientes,
body.route-admin-freelancer-editar,
body.route-admin-cliente-editar,
.route-admin-mestre,
.route-admin-projetos,
.route-admin-login,
.route-admin-pagamentos,
.route-admin-pagamentos-clientes,
.route-admin-clientes,
.route-admin-cliente-editar,
.route-admin-freelancer-editar {
  background: #171717;
  color: #f6f7fb;
}

.route-admin-mestre .topbar,
.route-admin-mestre .footer,
.route-admin-projetos .topbar,
.route-admin-projetos .footer,
.route-admin-login .topbar,
.route-admin-login .footer,
.route-admin-pagamentos .topbar,
.route-admin-pagamentos .footer,
.route-admin-pagamentos-clientes .topbar,
.route-admin-pagamentos-clientes .footer,
.route-admin-clientes .topbar,
.route-admin-clientes .footer,
.route-admin-cliente-editar .topbar,
.route-admin-cliente-editar .footer,
.route-admin-freelancer-editar .topbar,
.route-admin-freelancer-editar .footer {
  display: none !important;
}

.route-admin-mestre main,
.route-admin-projetos main,
.route-admin-login main,
.route-admin-verificacao main,
.route-admin-pagamentos main,
.route-admin-pagamentos-clientes main,
.route-admin-clientes main,
.route-admin-cliente-editar main,
.route-admin-freelancer-editar main {
  min-height: 100vh;
}

.admin-login-page {
  display: grid;
  min-height: 100vh;
  place-items: center;
  padding: 40px 28px;
  background:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    radial-gradient(circle at 50% 30%, rgba(0, 200, 83, 0.12), transparent 34%),
    #0c0f12;
  background-size: 42px 42px, 42px 42px, auto, auto;
}

.admin-login-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(350px, 0.92fr) minmax(430px, 1.08fr);
  width: min(1040px, 100%);
  min-height: 650px;
  overflow: hidden;
  border: 1px solid rgba(126, 144, 137, 0.2);
  border-radius: 22px;
  background: #11151a;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.48), 0 -3px 0 rgba(0, 200, 83, 0.55);
}

.admin-login-showcase {
  position: relative;
  display: flex;
  overflow: hidden;
  padding: 48px;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  flex-direction: column;
  justify-content: space-between;
  background:
    radial-gradient(circle at 28% 24%, rgba(43, 255, 0, 0.16), transparent 27%),
    radial-gradient(circle at 76% 72%, rgba(144, 92, 174, 0.14), transparent 31%),
    linear-gradient(145deg, #1b2025, #15191e);
}

.admin-login-showcase::after {
  position: absolute;
  right: -90px;
  bottom: -105px;
  width: 280px;
  height: 280px;
  border: 1px solid rgba(43, 255, 0, 0.15);
  border-radius: 50%;
  content: "";
}

.admin-login-showcase-brand {
  display: flex;
  align-items: center;
  gap: 13px;
}

.admin-login-showcase-brand img {
  width: 54px;
  height: 54px;
  object-fit: contain;
  filter: drop-shadow(0 12px 22px rgba(144, 92, 174, 0.28));
}

.admin-login-showcase-brand span {
  color: #fff;
  font-size: 1.12rem;
  font-weight: 760;
}

.admin-login-showcase-brand strong {
  color: #2bff00;
  font-weight: 950;
}

.admin-login-showcase-copy {
  position: relative;
  z-index: 1;
  max-width: 390px;
}

.admin-login-kicker,
.admin-login-form-head > span {
  color: #2bff00;
  font-size: 0.7rem;
  font-weight: 900;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}

.admin-login-showcase-copy h1 {
  margin: 14px 0 18px;
  color: #fff;
  font-size: clamp(2.45rem, 4vw, 3.45rem);
  line-height: 1.02;
  letter-spacing: -0.04em;
}

.admin-login-showcase-copy p {
  margin: 0;
  color: #9ba6b2;
  font-size: 1rem;
  line-height: 1.65;
}

.admin-login-restricted {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #2bff00;
}

.admin-login-restricted > span {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(43, 255, 0, 0.28);
  border-radius: 50%;
  background: rgba(43, 255, 0, 0.08);
}

.admin-login-restricted div {
  display: grid;
  gap: 2px;
}

.admin-login-restricted strong {
  color: #fff;
  font-size: 0.86rem;
}

.admin-login-restricted small {
  color: #87929d;
  font-size: 0.74rem;
}

.admin-login-card {
  display: grid;
  gap: 18px;
  width: min(420px, 100%);
  padding: 30px;
  border: 1px solid #26332d;
  border-radius: 8px;
  background: #14181d;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.38), 0 -4px 0 rgba(0, 200, 83, 0.18);
}

.admin-login-shell .admin-login-card {
  align-content: center;
  width: 100%;
  padding: clamp(42px, 6vw, 74px);
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 100% 0, rgba(43, 255, 0, 0.055), transparent 28%),
    #11151a;
  box-shadow: none;
}

.admin-login-form-head {
  display: grid;
  gap: 9px;
  margin-bottom: 10px;
}

.admin-login-form-head h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.1rem, 4vw, 3.2rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.admin-login-form-head p {
  margin: 0;
  color: #87929d;
  font-size: 0.9rem;
}

.admin-login-mobile-brand {
  display: none;
}

.admin-login-brand {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-login-brand img {
  width: 64px;
  height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 12px 20px rgba(144, 92, 174, 0.24));
}

.admin-login-brand strong {
  color: #ffffff;
  font-size: 1.05rem;
  font-weight: 950;
}

.admin-login-card h1 {
  margin: 2px 0 4px;
  font-size: clamp(1.8rem, 4vw, 2.45rem);
  line-height: 1.05;
}

.admin-login-card label {
  color: #aeb7c2;
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-login-shell .admin-login-card label {
  display: grid;
  gap: 8px;
  color: #aeb7c2;
  font-weight: 850;
}

.admin-login-card input {
  min-height: 52px;
  border-color: #343a40;
  background: #0f1216;
  color: #ffffff;
  font-weight: 800;
}

.admin-login-shell .admin-login-card input {
  min-height: 56px;
  padding: 0 17px;
  border: 1px solid #334039;
  border-radius: 11px;
  background: #0d1511;
  transition: border-color 160ms ease, box-shadow 160ms ease;
}

.admin-login-shell .admin-login-card input:focus {
  border-color: #00c853;
  box-shadow: 0 0 0 4px rgba(0, 200, 83, 0.12);
  outline: none;
}

.admin-login-card button {
  min-height: 52px;
  background: #00c853;
  color: #031006;
}

.admin-login-shell .admin-login-card button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 56px;
  border-radius: 11px;
  background: linear-gradient(135deg, #00c853, #10b98c);
  color: #04130a;
  font-weight: 950;
  box-shadow: 0 14px 30px rgba(0, 200, 83, 0.15);
}

.admin-login-shell .admin-login-card button span {
  font-size: 1.2rem;
  transition: transform 160ms ease;
}

.admin-login-shell .admin-login-card button:hover span {
  transform: translateX(4px);
}

.admin-login-security-note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 12px;
  color: #52625b;
}

.admin-login-security-note small {
  font-size: 0.72rem;
}

.admin-2fa-card {
  width: min(500px, 100%);
  gap: 16px;
  border-color: rgba(144, 92, 174, 0.55);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.42), 0 -4px 0 #905cae;
}

.admin-2fa-shell .admin-2fa-card {
  align-content: center;
  width: 100%;
  padding: clamp(42px, 6vw, 74px);
  border: 0;
  border-radius: 0;
  background:
    radial-gradient(circle at 100% 0, rgba(144, 92, 174, 0.09), transparent 30%),
    #11151a;
  box-shadow: none;
}

.admin-2fa-showcase {
  background:
    radial-gradient(circle at 28% 24%, rgba(144, 92, 174, 0.18), transparent 28%),
    radial-gradient(circle at 76% 72%, rgba(43, 255, 0, 0.1), transparent 32%),
    linear-gradient(145deg, #1b2025, #15191e);
}

.admin-2fa-showcase-copy h1 {
  font-size: clamp(2.35rem, 3.7vw, 3.25rem);
}

.admin-2fa-progress {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-2fa-progress li {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 13px 15px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.035);
}

.admin-2fa-progress li > span {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.13);
  border-radius: 50%;
  color: #aeb7c2;
  font-weight: 950;
}

.admin-2fa-progress li div {
  display: grid;
  gap: 2px;
}

.admin-2fa-progress li strong {
  color: #fff;
  font-size: 0.86rem;
}

.admin-2fa-progress li small {
  color: #87929d;
  font-size: 0.73rem;
}

.admin-2fa-progress .is-complete > span {
  border-color: rgba(43, 255, 0, 0.32);
  background: rgba(43, 255, 0, 0.1);
  color: #2bff00;
}

.admin-2fa-progress .is-current {
  border-color: rgba(180, 122, 210, 0.48);
  background: linear-gradient(135deg, rgba(144, 92, 174, 0.16), rgba(43, 255, 0, 0.045));
  box-shadow: 0 14px 30px rgba(144, 92, 174, 0.1);
}

.admin-2fa-progress .is-current > span {
  border-color: #b47ad2;
  background: #905cae;
  color: #fff;
}

.admin-2fa-form-head > span {
  color: #b47ad2;
}

.admin-2fa-form-head .admin-2fa-copy {
  margin: 2px 0 0;
}

.admin-2fa-card .admin-login-brand {
  padding-bottom: 16px;
  border-bottom: 1px solid #2d333a;
}

.admin-2fa-card .admin-login-brand div {
  display: grid;
  gap: 3px;
}

.admin-2fa-card .admin-login-brand small,
.admin-2fa-copy,
.admin-2fa-form > small {
  color: #98a3ae;
}

.admin-2fa-kicker {
  color: #b47ad2;
  font-size: 0.75rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.admin-2fa-copy {
  margin: -4px 0 2px;
  line-height: 1.6;
}

.admin-2fa-copy strong {
  color: #ffffff;
}

.admin-2fa-form {
  display: grid;
  gap: 10px;
}

.admin-2fa-form label {
  display: grid;
  gap: 9px;
}

.admin-2fa-form input[name="pin"] {
  min-height: 76px;
  border-color: #905cae;
  text-align: center;
  font-size: 2rem;
  letter-spacing: 0.32em;
}

.admin-2fa-shell .admin-2fa-form input[name="pin"] {
  min-height: 72px;
  border-color: rgba(180, 122, 210, 0.65);
  border-radius: 11px;
  background: #0d1511;
  box-shadow: inset 0 0 0 1px rgba(144, 92, 174, 0.08);
}

.admin-2fa-shell .admin-2fa-form input[name="pin"]:focus {
  border-color: #b47ad2;
  box-shadow: 0 0 0 4px rgba(144, 92, 174, 0.14);
  outline: none;
}

.admin-2fa-form > button {
  margin-top: 8px;
}

.admin-2fa-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-top: 14px;
  border-top: 1px solid #2d333a;
}

.admin-2fa-actions form {
  margin: 0;
}

.admin-2fa-actions button,
.admin-2fa-actions a {
  min-height: auto;
  padding: 0;
  border: 0;
  background: transparent;
  color: #b98ad4;
  font-size: 0.84rem;
  font-weight: 900;
  text-decoration: none;
}

.admin-2fa-shell .admin-2fa-actions button {
  display: inline;
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #b98ad4;
  box-shadow: none;
  font-size: 0.84rem;
}

.admin-2fa-actions button:hover,
.admin-2fa-actions a:hover {
  color: #ffffff;
  background: transparent;
}

.master-command {
  display: grid;
  gap: 20px;
  max-width: 1540px;
  margin: 0 auto;
  padding: 34px 34px 28px;
}

.master-command-hero,
.command-panel,
.command-kpi-card {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: #222;
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.18);
}

.master-command-hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 20px;
  padding: 24px 26px;
  background:
    radial-gradient(circle at 82% 0%, rgba(144, 92, 174, 0.18), transparent 34%),
    linear-gradient(135deg, #222 0%, #1a1a1a 58%, #122016 100%);
}

.master-command-hero h2 {
  margin: 7px 0 8px;
  max-width: 720px;
  color: #fff;
  font-size: clamp(1.65rem, 2.35vw, 2.55rem);
  line-height: 1.04;
  letter-spacing: 0;
}

.master-command-hero p,
.command-panel p,
.command-kpi-card p,
.command-table small,
.people-mini-list small,
.plan-mini-grid small,
.finance-stack span,
.command-alert-list span {
  color: #b9c6d6;
}

.master-command-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
}

.master-command-actions .btn,
.command-link {
  min-height: 42px;
  padding: 12px 16px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 8px;
  color: #fff;
  font-weight: 900;
}

.master-command-actions .btn.primary {
  border-color: rgba(0, 200, 83, 0.55);
  background: #00c853;
  color: #041308;
}

.master-command-actions .btn.ghost,
.command-link {
  background: #15191c;
}

.command-kpi-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}

.command-kpi-card {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr);
  align-items: start;
  gap: 12px;
  min-height: 108px;
  padding: 16px;
  overflow: hidden;
  position: relative;
}

.command-kpi-card::after {
  content: "";
  position: absolute;
  inset: auto 0 0 0;
  height: 3px;
  background: #00c853;
}

.command-kpi-card.tone-purple::after {
  background: #905CAE;
}

.command-kpi-card.tone-blue::after {
  background: #48a0ff;
}

.command-kpi-card.tone-amber::after {
  background: #ffad14;
}

.command-icon,
.menu-icon.svg-menu-icon {
  display: grid;
  place-items: center;
}

.menu-icon.svg-menu-icon::before,
.menu-icon.svg-menu-icon::after {
  content: none;
}

.admin-svg-icon {
  width: 19px;
  height: 19px;
}

.command-icon {
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: rgba(0, 200, 83, 0.14);
  color: #2bff00;
}

.command-kpi-card.tone-purple .command-icon {
  background: rgba(144, 92, 174, 0.18);
  color: #905CAE;
}

.command-kpi-card.tone-blue .command-icon {
  background: rgba(72, 160, 255, 0.16);
  color: #6fb5ff;
}

.command-kpi-card.tone-amber .command-icon {
  background: rgba(255, 173, 20, 0.16);
  color: #ffb727;
}

.command-kpi-card small,
.command-panel .master-kicker {
  color: #9db0c5;
  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.command-kpi-card small,
.command-kpi-card strong,
.command-kpi-card p {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.command-kpi-card strong {
  display: block;
  margin-top: 4px;
  color: #fff;
  font-size: clamp(1.18rem, 1.45vw, 1.75rem);
  line-height: 1;
}

.command-kpi-card p {
  margin: 7px 0 0;
  font-size: 0.76rem;
}

.command-report-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}

.command-report-card {
  position: relative;
  overflow: hidden;
  min-width: 0;
  border: 1px solid rgba(144, 92, 174, 0.32);
  border-radius: 8px;
  background:
    radial-gradient(circle at 88% 8%, rgba(43, 255, 0, 0.12), transparent 34%),
    linear-gradient(135deg, rgba(34, 34, 34, 0.98), rgba(25, 18, 31, 0.96));
  box-shadow: 0 22px 60px rgba(0, 0, 0, 0.18);
  padding: 20px;
}

.command-report-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(120deg, transparent 0 38%, rgba(255, 255, 255, 0.04) 48%, transparent 62%);
}

.command-report-head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 18px;
}

.command-report-head h3 {
  margin: 5px 0 0;
  color: #fff;
  font-size: clamp(1.2rem, 1.6vw, 1.65rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.report-pie-layout {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1fr;
  align-items: start;
  gap: 20px;
}

.report-pie-orb {
  position: relative;
  display: grid;
  width: min(250px, 100%);
  margin: 0 auto;
  aspect-ratio: 1;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--pie-gradient));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.14),
    0 18px 42px rgba(0, 0, 0, 0.22);
}

.report-pie-orb::before {
  content: "";
  position: absolute;
  inset: 28px;
  border-radius: inherit;
  background: #202020;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.08);
}

.report-pie-orb span,
.report-pie-orb strong {
  position: relative;
  z-index: 1;
}

.report-pie-orb span {
  align-self: end;
  color: #9db0c5;
  font-size: 0.68rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.report-pie-orb strong {
  align-self: start;
  color: #fff;
  font-size: clamp(1rem, 1.45vw, 1.35rem);
  line-height: 1.1;
}

.report-legend-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.report-legend-row {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  min-height: 82px;
  padding: 8px 12px 8px 8px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: rgba(17, 17, 17, 0.7);
}

.report-plan-seal {
  display: block;
  width: 64px;
  height: 64px;
  object-fit: contain;
  filter: drop-shadow(0 10px 14px rgba(0, 0, 0, 0.34));
}

.report-legend-row strong,
.report-legend-row span {
  display: block;
  min-width: 0;
}

.report-legend-row strong {
  color: #fff;
  font-size: 0.9rem;
}

.report-legend-row span {
  margin-top: 0;
  color: #b9c6d6;
  font-size: 0.78rem;
  font-weight: 800;
  line-height: 1.35;
}

.report-wave-canvas {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(17, 19, 24, 0.98), rgba(15, 28, 22, 0.92));
}

.report-wave-svg {
  display: block;
  width: 100%;
  height: auto;
}

.report-wave-area {
  fill: url(#serviceWaveFill);
}

.report-wave-line {
  fill: none;
  stroke: url(#serviceWaveStroke);
  stroke-width: 3.5;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 6px 12px rgba(38, 140, 255, 0.22));
}

.report-wave-grid-line {
  stroke: rgba(185, 198, 214, 0.18);
  stroke-width: 1;
  stroke-dasharray: 2 5;
}

.report-wave-axis-label {
  fill: #8290a3;
  font-size: 9px;
  font-weight: 700;
}

.report-wave-dot {
  fill: #268cff;
  stroke: #dcebff;
  stroke-width: 2;
  transition: r 0.2s ease, filter 0.2s ease, stroke-width 0.2s ease;
}

.report-wave-hit {
  fill: transparent;
}

.report-wave-point-link {
  cursor: pointer;
  outline: none;
}

.report-wave-point-link:hover .report-wave-dot,
.report-wave-point-link:focus-visible .report-wave-dot,
.report-wave-point-link.is-active .report-wave-dot {
  r: 7;
  stroke-width: 3;
  filter: drop-shadow(0 0 10px rgba(38, 140, 255, 0.9));
}

.report-wave-tooltip {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.18s ease;
}

.report-wave-tooltip rect {
  fill: #268cff;
  filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.32));
}

.report-wave-tooltip-label,
.report-wave-tooltip-value {
  fill: #fff;
  font-size: 9px;
  font-weight: 700;
}

.report-wave-tooltip-value {
  font-size: 11px;
  font-weight: 900;
}

.report-wave-point-link:hover .report-wave-tooltip,
.report-wave-point-link:focus-visible .report-wave-tooltip,
.report-wave-point-link.is-active .report-wave-tooltip {
  opacity: 1;
}

.report-wave-label {
  fill: #b9c6d6;
  font-size: 12px;
  font-weight: 800;
}

.report-wave-summary {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 12px;
}

.report-wave-summary-card {
  display: grid;
  grid-template-rows: auto 1fr;
  align-content: stretch;
  gap: 12px;
  min-width: 0;
  min-height: 108px;
  padding: 14px 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: rgba(17, 17, 17, 0.72);
  color: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.report-wave-summary-card:hover,
.report-wave-summary-card:focus-visible,
.report-wave-summary-card.is-active {
  border-color: var(--flow-color);
  background: linear-gradient(135deg, color-mix(in srgb, var(--flow-color) 18%, transparent), rgba(17, 17, 17, 0.84));
  transform: translateY(-2px);
}

.report-wave-summary-label {
  display: block;
  color: #9db0c5;
  font-weight: 900;
}

.report-wave-summary-label {
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
}

.report-wave-summary-metric {
  display: flex;
  min-width: 0;
  align-items: flex-end;
  justify-content: space-between;
  gap: 12px;
}

.report-wave-summary-metric strong {
  min-width: 0;
  margin: 0;
  color: #fff;
  font-size: clamp(1.15rem, 1.35vw, 1.45rem);
  font-variant-numeric: tabular-nums;
  line-height: 1.08;
  white-space: nowrap;
}

.report-wave-summary-count {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 5px 8px;
  border-radius: 6px;
  background: color-mix(in srgb, var(--flow-color) 12%, transparent);
  color: #c3cfdd;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.report-action-panel {
  position: relative;
  z-index: 1;
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(43, 255, 0, 0.18);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.08)), rgba(17, 17, 17, 0.58);
}

.report-action-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 10px;
}

.report-action-head h4 {
  margin: 3px 0 0;
  font-size: 1.05rem;
}

.report-action-head > span {
  flex: 0 0 auto;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.11);
  color: #2bff00;
  font-size: 0.78rem;
  font-weight: 900;
}

.report-action-list {
  display: none;
  gap: 8px;
}

.report-action-list.is-active {
  display: grid;
}

.report-action-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 11px 12px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: rgba(10, 10, 10, 0.54);
  color: inherit;
  text-decoration: none;
  transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.report-action-row:hover,
.report-action-row:focus-visible {
  border-color: rgba(43, 255, 0, 0.42);
  background: rgba(43, 255, 0, 0.09);
  transform: translateX(2px);
}

.report-action-row span {
  min-width: 0;
}

.report-action-row small,
.report-action-row em {
  display: block;
  color: #9db0c5;
  font-style: normal;
  font-weight: 800;
}

.report-action-row small {
  font-size: 0.64rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.report-action-row strong {
  display: block;
  margin-top: 3px;
  color: #fff;
  font-weight: 900;
}

.report-action-row > span:last-child {
  text-align: right;
}

.report-action-empty {
  padding: 14px;
  border: 1px dashed rgba(144, 92, 174, 0.35);
  border-radius: 8px;
  color: #9db0c5;
  font-weight: 800;
}

.command-main-grid,
.command-secondary-grid {
  display: grid;
  gap: 14px;
}

.command-main-grid {
  grid-template-columns: minmax(0, 1fr) 320px;
}

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

.command-panel {
  min-width: 0;
  padding: 18px 20px;
}

.command-panel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 16px;
}

.command-panel h3 {
  margin: 5px 0 0;
  color: #fff;
  font-size: 1.18rem;
  line-height: 1.15;
}

.command-live-pill {
  white-space: nowrap;
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(0, 200, 83, 0.14);
  color: #21e56d;
  font-weight: 950;
}

.command-pipeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.command-pipeline div,
.finance-stack div,
.plan-mini-grid div,
.command-alert-list a {
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: #151515;
}

.command-pipeline div {
  padding: 13px;
}

.command-pipeline strong,
.finance-stack strong,
.plan-mini-grid strong {
  display: block;
  color: #fff;
  font-size: 1.05rem;
}

.command-pipeline span {
  color: #97a6b7;
  font-size: 0.78rem;
  font-weight: 800;
}

.command-table-wrap {
  overflow-x: auto;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
}

.command-table {
  width: 100%;
  min-width: 760px;
  border-collapse: collapse;
}

.command-table th,
.command-table td {
  padding: 13px 12px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
  text-align: left;
  vertical-align: middle;
}

.command-table th {
  background: #111;
  color: #fff;
  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.command-table td {
  color: #fff;
  font-size: 0.82rem;
}

.command-table td:first-child {
  min-width: 210px;
}

.command-table td:nth-child(3),
.command-table td:nth-child(5),
.command-table td:nth-child(6) {
  min-width: 120px;
}

.command-table td > strong,
.command-table td > small,
.cycle-cell small {
  display: block;
}

.cycle-cell {
  display: grid;
  gap: 3px;
}

.command-alert-list,
.finance-stack,
.people-mini-list,
.plan-mini-grid {
  display: grid;
  gap: 10px;
}

.command-alert-list a {
  display: grid;
  gap: 5px;
  padding: 14px;
  border-left: 3px solid #905CAE;
}

.command-alert-list strong,
.people-mini-list strong {
  color: #fff;
}

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

.finance-stack div,
.plan-mini-grid div {
  padding: 14px;
}

.plan-mini-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.finance-stack,
.plan-mini-grid {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}

.plan-mini-grid span {
  color: #21e56d;
  font-weight: 950;
}

.people-mini-list a {
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  padding: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: #151515;
}

.people-mini-list b {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border-radius: 8px;
  background: #00c853;
  color: #031006;
}

.people-mini-list span,
.people-mini-list strong,
.people-mini-list small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.command-overview-alerts {
  display: grid;
  grid-template-columns: 1fr;
}

.command-overview-alerts .command-alert-list {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.projects-admin-page {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: 24px clamp(18px, 3vw, 38px) 42px;
}

.projects-admin-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;
  background:
    linear-gradient(110deg, rgba(0, 200, 83, 0.1), transparent 42%),
    #202020;
}

.projects-admin-hero h2 {
  margin: 6px 0 8px;
  color: #fff;
  font-size: clamp(1.55rem, 2.5vw, 2.3rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.projects-admin-hero p {
  max-width: 760px;
  margin: 0;
  color: #aeb8c4;
  line-height: 1.55;
}

.projects-admin-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.projects-admin-hero-actions .command-link {
  width: auto;
  min-height: 46px;
  margin: 0;
  padding: 0 16px;
}

.projects-admin-hero-actions .command-link.is-primary {
  border-color: #00c853;
  background: #00c853;
  color: #05130a;
  font-weight: 950;
}

.projects-admin-stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
}

.projects-admin-stats article {
  display: grid;
  align-content: start;
  gap: 5px;
  min-height: 118px;
  padding: 18px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-bottom: 3px solid #905cae;
  border-radius: 8px;
  background: #202020;
}

.projects-admin-stats article.featured {
  border-color: rgba(0, 200, 83, 0.45);
  border-bottom-color: #00c853;
  background: linear-gradient(135deg, rgba(0, 200, 83, 0.15), #202020 70%);
}

.projects-admin-stats small {
  color: #9cabc0;
  font-size: 0.7rem;
  font-weight: 900;
  text-transform: uppercase;
}

.projects-admin-stats strong {
  color: #fff;
  font-size: clamp(1.35rem, 2vw, 1.9rem);
  line-height: 1.1;
}

.projects-admin-stats span {
  color: #9ca8b5;
  font-size: 0.78rem;
  line-height: 1.35;
}

.projects-admin-table-card {
  min-width: 0;
}

.projects-admin-filters {
  display: grid;
  grid-template-columns: minmax(260px, 1fr) 230px;
  gap: 12px;
  margin-bottom: 16px;
}

.projects-admin-filters label {
  display: grid;
  gap: 7px;
  color: #aeb8c4;
  font-size: 0.72rem;
  font-weight: 900;
  text-transform: uppercase;
}

.projects-admin-filters input,
.projects-admin-filters select {
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 0 13px;
  border: 1px solid #343b42;
  border-radius: 8px;
  background: #111518;
  color: #fff;
  box-shadow: none;
}

.projects-admin-table {
  min-width: 1280px;
}

.project-operation-cell {
  min-width: 178px;
}

.project-operation-cell small {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 5px;
  color: #cbd4de;
  white-space: nowrap;
}

.project-operation-cell small b {
  color: #8f9cab;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.project-operation-cell small.is-platform-total {
  margin-top: 7px;
  padding-top: 7px;
  border-top: 1px solid rgba(255, 255, 255, .09);
  color: #2bff74;
  font-weight: 900;
}

.projects-admin-table td:last-child {
  min-width: 150px;
}

.projects-admin-table .inline-admin-form {
  margin-top: 8px;
}

.projects-admin-table .inline-admin-form button {
  min-height: 34px;
  padding: 7px 10px;
  border-radius: 6px;
  font-size: 0.75rem;
}

.project-edit-button {
  display: block;
  width: auto;
  min-height: 34px;
  margin-top: 8px;
  padding: 7px 12px;
  border: 1px solid rgba(144, 92, 174, 0.65);
  border-radius: 6px;
  background: rgba(144, 92, 174, 0.13);
  color: #d2a4ee;
  font-size: 0.75rem;
  font-weight: 900;
  box-shadow: none;
}

.project-edit-button:hover,
.project-edit-button:focus-visible {
  border-color: #b874df;
  background: rgba(144, 92, 174, 0.24);
  color: #ffffff;
}

body.project-editor-open {
  overflow: hidden;
}

.project-editor-modal {
  position: fixed;
  z-index: 12000;
  inset: 0;
  display: grid;
  place-items: center;
  padding: 24px;
}

.project-editor-modal[aria-hidden="true"] {
  display: none;
}

.project-editor-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  border-radius: 0;
  background: rgba(2, 6, 4, 0.76);
  backdrop-filter: blur(8px);
}

.project-editor-backdrop:hover,
.project-editor-backdrop:focus,
.project-editor-backdrop:focus-visible,
.project-editor-backdrop:active {
  border: 0 !important;
  border-radius: 0 !important;
  background: rgba(2, 6, 4, 0.76) !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
}

.project-editor-dialog {
  position: relative;
  z-index: 1;
  width: min(760px, 100%);
  max-height: calc(100vh - 48px);
  overflow-y: auto;
  padding: 26px;
  border: 1px solid #3a4240;
  border-top: 4px solid #00c853;
  border-radius: 12px;
  background: #191d1b;
  box-shadow: 0 32px 90px rgba(0, 0, 0, 0.58);
}

.project-editor-dialog > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}

.project-editor-dialog h2 {
  margin: 5px 0 7px;
  color: #ffffff;
  font-size: clamp(1.65rem, 3vw, 2.2rem);
}

.project-editor-dialog header p {
  margin: 0;
  color: #aeb8c4;
}

.project-editor-close {
  width: 38px;
  min-width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid #3a4240;
  border-radius: 50%;
  background: transparent;
  color: #ffffff;
  font-size: 1.25rem;
  box-shadow: none;
}

.project-editor-close:hover,
.project-editor-close:focus,
.project-editor-close:focus-visible,
.project-editor-close:active {
  border-color: #3a4240 !important;
  background: transparent !important;
  color: #ffffff !important;
  box-shadow: none !important;
  outline: 0 !important;
  transform: none !important;
}

.project-editor-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 15px;
}

.project-editor-grid label {
  display: grid;
  align-content: start;
  gap: 7px;
  color: #dce4eb;
  font-size: 0.8rem;
  font-weight: 900;
}

.project-editor-grid label.span-2 {
  grid-column: 1 / -1;
}

.project-editor-grid input,
.project-editor-grid select,
.project-editor-grid textarea {
  width: 100%;
  min-height: 46px;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #3a4240;
  border-radius: 8px;
  background: #0f1412;
  color: #ffffff;
  box-shadow: none;
}

.project-editor-grid textarea {
  min-height: 104px;
  resize: vertical;
}

.project-editor-grid input:focus,
.project-editor-grid select:focus,
.project-editor-grid textarea:focus {
  border-color: #905cae;
  outline: 2px solid rgba(144, 92, 174, 0.2);
}

.project-editor-grid small {
  color: #84918c;
  font-size: 0.7rem;
  font-weight: 700;
}

.project-editor-actions {
  display: grid;
  grid-template-columns: minmax(140px, 0.55fr) minmax(220px, 1fr);
  gap: 12px;
  margin-top: 22px;
}

.project-editor-actions button {
  min-height: 50px;
  border-radius: 8px;
  font-weight: 950;
}

.project-editor-cancel {
  border: 1px solid #3a4240;
  background: transparent;
  color: #ffffff;
}

.project-editor-save {
  border: 1px solid #00c853;
  background: #00e65b;
  color: #041108;
}

.project-state-pill {
  display: inline-flex;
  width: max-content;
  align-items: center;
  padding: 6px 9px;
  border-radius: 999px;
  color: #dce4eb;
  background: #30363c;
  font-size: 0.7rem;
  font-weight: 900;
  white-space: nowrap;
}

.project-state-pill.state-open {
  color: #ffd45a;
  background: rgba(245, 185, 66, 0.15);
}

.project-state-pill.state-accepted {
  color: #39e77d;
  background: rgba(0, 200, 83, 0.15);
}

.project-state-pill.state-completed {
  color: #c6a2ff;
  background: rgba(144, 92, 174, 0.18);
}

.project-state-pill.state-cancelled {
  color: #ff8b8b;
  background: rgba(229, 57, 53, 0.15);
}

.projects-admin-pager {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  padding-top: 16px;
  color: #c8d0d8;
}

.projects-admin-pager[hidden],
.projects-admin-empty[hidden],
.projects-admin-table [data-project-row][hidden] {
  display: none !important;
}

.projects-admin-pager button {
  width: auto;
  min-width: 110px;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid #3a424a;
  border-radius: 8px;
  background: #15191d;
  color: #fff;
  box-shadow: none;
}

.projects-admin-pager button:not(:disabled):hover {
  border-color: #00c853;
  color: #22eb70;
}

.projects-admin-pager button:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.clients-admin-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding-top: 18px;
  color: #aeb8c4;
  font-size: 0.82rem;
  font-weight: 800;
}

.clients-admin-pager[hidden],
.clients-admin-empty[hidden],
.management-table [data-client-row][hidden] {
  display: none !important;
}

.clients-admin-pager > div {
  display: flex;
  align-items: center;
  gap: 12px;
}

.clients-admin-pager button {
  width: auto;
  min-width: 102px;
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid #3a424a;
  border-radius: 8px;
  background: #15191d;
  color: #fff;
  box-shadow: none;
}

.clients-admin-pager button:not(:disabled):hover {
  border-color: #00c853;
  color: #22eb70;
}

.clients-admin-pager button:disabled {
  opacity: 0.38;
  cursor: not-allowed;
}

.clients-admin-pager strong {
  min-width: 54px;
  color: #fff;
  text-align: center;
}

.clients-admin-empty {
  margin: 16px 0 0;
  padding: 18px;
  border: 1px dashed #3a424a;
  border-radius: 8px;
  color: #aeb8c4;
  text-align: center;
}

@media (max-width: 720px) {
  .clients-admin-pager {
    align-items: stretch;
    flex-direction: column;
  }

  .clients-admin-pager > div {
    justify-content: space-between;
  }

  .clients-admin-pager button {
    min-width: 92px;
  }
}

.projects-admin-empty {
  margin: 14px 0 0;
  padding: 18px;
  border: 1px dashed #3a424a;
  border-radius: 8px;
  color: #aeb8c4;
  text-align: center;
}

@media (max-width: 1180px) {
  .projects-admin-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1180px) {
  .command-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .command-main-grid {
    grid-template-columns: 1fr;
  }

  .command-report-grid {
    grid-template-columns: 1fr;
  }

  .report-wave-summary-card {
    min-height: 98px;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .report-wave-summary {
    grid-template-columns: 1fr;
  }

  .report-wave-summary-card {
    grid-template-columns: minmax(120px, 0.55fr) minmax(0, 1fr);
    grid-template-rows: 1fr;
    align-items: center;
    min-height: 76px;
  }
}

@media (max-width: 760px) {
  .projects-admin-page {
    padding: 14px 12px 32px;
  }

  .projects-admin-hero {
    align-items: stretch;
    flex-direction: column;
    padding: 18px;
  }

  .projects-admin-hero-actions {
    justify-content: stretch;
  }

  .projects-admin-hero-actions .command-link {
    flex: 1 1 180px;
    justify-content: center;
  }

  .project-editor-modal {
    align-items: end;
    padding: 0;
  }

  .project-editor-dialog {
    width: 100%;
    max-height: 92vh;
    padding: 20px 16px;
    border-radius: 16px 16px 0 0;
  }

  .project-editor-grid,
  .project-editor-actions {
    grid-template-columns: 1fr;
  }

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

  .projects-admin-stats article.featured {
    grid-column: 1 / -1;
  }

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

  .projects-admin-pager {
    justify-content: space-between;
  }

  .master-command {
    padding: 22px 14px;
  }

  .master-command-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .master-command-actions {
    justify-content: stretch;
  }

  .master-command-actions .btn {
    flex: 1 1 140px;
    text-align: center;
  }

  .command-kpi-grid,
  .command-secondary-grid,
  .command-pipeline,
  .finance-stack,
  .plan-mini-grid,
  .report-pie-layout,
  .report-wave-summary {
    grid-template-columns: 1fr;
  }

  .command-report-card {
    padding: 16px;
  }

  .command-report-head {
    align-items: stretch;
    flex-direction: column;
  }

  .report-pie-orb {
    width: min(210px, 72vw);
    margin: 0 auto;
  }

  .report-legend-list {
    grid-template-columns: 1fr;
  }

  .report-wave-summary-card {
    min-height: 92px;
  }

  .report-wave-summary-metric strong {
    font-size: clamp(1.15rem, 6vw, 1.45rem);
  }
}

.master-console {
  display: grid;
  grid-template-columns: 292px minmax(0, 1fr);
  min-height: 100vh;
  background: #171717;
}

.master-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  overflow-y: auto;
  border-right: 1px solid #2b2b2b;
  background: #0c0f12;
  padding: 22px 16px;
}

.master-logo {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 48px;
  padding: 0 6px 20px;
  border-bottom: 1px solid #20252a;
}

.master-logo span,
.master-user strong {
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: #00c853;
  color: #031006;
  font-weight: 950;
}

.master-logo span {
  width: 44px;
  height: 44px;
  overflow: hidden;
  border-radius: 0;
  background: transparent url("/assets/img/freela-logo-3d-chat.png") center / contain no-repeat;
  color: transparent;
  font-size: 0;
  filter: drop-shadow(0 8px 13px rgba(43, 255, 0, 0.2));
}

.master-logo strong {
  color: #fff;
  font-size: 1.02rem;
}

.master-menu {
  display: grid;
  gap: 22px;
  padding-top: 22px;
}

.master-menu-group {
  display: grid;
  gap: 7px;
}

.master-menu-group small,
.master-kicker,
.master-card-head p,
.report-tile p,
.payment-list small,
.loyalty-list small,
.master-stats small {
  color: #9ba3ad;
}

.master-menu-group small {
  padding: 0 12px 6px;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.master-menu a {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) auto;
  align-items: center;
  min-height: 46px;
  gap: 12px;
  padding: 10px 12px;
  border: 1px solid transparent;
  border-radius: 8px;
  color: #aeb5bd;
  font-weight: 800;
}

.master-menu a > span:not(.menu-icon) {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.master-menu a:hover,
.master-menu a.active {
  border-color: rgba(0, 200, 83, 0.32);
  background: rgba(0, 200, 83, 0.12);
  color: #21e56d;
}

/* Atalhos centrais do Admin Mestre permanecem fáceis de localizar. */
.master-menu a[href$="/admin-mestre"],
.master-menu a[href$="/admin-pagamentos"] {
  position: relative;
  isolation: isolate;
  font-weight: 950;
}

.master-menu a[href$="/admin-mestre"] {
  border-color: rgba(43, 255, 105, 0.34);
  background: linear-gradient(90deg, rgba(0, 200, 83, 0.17), rgba(0, 200, 83, 0.055));
  color: #42f780;
  box-shadow: inset 3px 0 #20e86b, 0 5px 18px rgba(0, 200, 83, 0.08);
}

.master-menu a[href$="/admin-pagamentos"] {
  border-color: rgba(255, 197, 66, 0.34);
  background: linear-gradient(90deg, rgba(255, 181, 45, 0.16), rgba(255, 181, 45, 0.045));
  color: #ffd36b;
  box-shadow: inset 3px 0 #f4bd3f, 0 5px 18px rgba(255, 181, 45, 0.08);
}

.master-menu a[href$="/admin-mestre"] .menu-icon {
  border-color: rgba(43, 255, 105, 0.7);
  color: #43ff86;
  box-shadow: 0 0 14px rgba(43, 255, 105, 0.28);
}

.master-menu a[href$="/admin-pagamentos"] .menu-icon {
  border-color: rgba(255, 205, 88, 0.72);
  color: #ffdc7f;
  box-shadow: 0 0 14px rgba(255, 193, 55, 0.3);
}

.master-menu a[href$="/admin-mestre"]:hover,
.master-menu a[href$="/admin-mestre"].active {
  border-color: #2bff69;
  background: linear-gradient(90deg, rgba(0, 200, 83, 0.28), rgba(0, 200, 83, 0.11));
  box-shadow: inset 4px 0 #52ff8e, 0 0 22px rgba(43, 255, 105, 0.16);
}

.master-menu a[href$="/admin-pagamentos"]:hover,
.master-menu a[href$="/admin-pagamentos"].active {
  border-color: #ffd05b;
  background: linear-gradient(90deg, rgba(255, 181, 45, 0.27), rgba(255, 181, 45, 0.1));
  box-shadow: inset 4px 0 #ffdd79, 0 0 22px rgba(255, 193, 55, 0.17);
}

.master-menu b {
  min-width: 24px;
  padding: 3px 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, #7d35a8, #c46aff);
  color: #ffffff;
  font-size: 0.73rem;
  font-weight: 950;
  text-align: center;
  box-shadow: 0 0 0 0 rgba(196, 106, 255, 0.42);
  animation: masterAlertPulse 1.9s ease-in-out infinite;
  transform-origin: center;
}

@keyframes masterAlertPulse {
  0%, 100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(196, 106, 255, 0.38);
  }
  50% {
    transform: scale(1.07);
    box-shadow: 0 0 0 7px rgba(196, 106, 255, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .master-menu b {
    animation: none;
  }
}

.menu-icon {
  position: relative;
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 8px;
  background: #171c21;
  color: #d4d8dd;
  font-size: 0;
}

.master-menu .menu-icon::before,
.stat-icon::before,
.icon-action::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  background: currentColor;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.master-menu .menu-icon::after,
.stat-icon::after,
.icon-action::after {
  content: none;
}

.master-menu .menu-icon.svg-menu-icon::before,
.master-menu .menu-icon.svg-menu-icon::after {
  content: none;
  display: none;
}

.master-menu .menu-icon.svg-menu-icon {
  background: #151b20;
  color: #dce7f1;
}

.master-menu a.active .menu-icon.svg-menu-icon,
.master-menu a:hover .menu-icon.svg-menu-icon {
  background: rgba(0, 200, 83, 0.18);
  color: #22e974;
}

.master-menu .menu-icon.svg-menu-icon .admin-svg-icon {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

.icon-grid::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6' height='6' rx='1.5'/%3E%3Crect x='14' y='4' width='6' height='6' rx='1.5'/%3E%3Crect x='4' y='14' width='6' height='6' rx='1.5'/%3E%3Crect x='14' y='14' width='6' height='6' rx='1.5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='6' height='6' rx='1.5'/%3E%3Crect x='14' y='4' width='6' height='6' rx='1.5'/%3E%3Crect x='4' y='14' width='6' height='6' rx='1.5'/%3E%3Crect x='14' y='14' width='6' height='6' rx='1.5'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-chart::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5'/%3E%3Cpath d='M4 19h16'/%3E%3Cpath d='m7 15 4-4 3 3 5-7'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 19V5'/%3E%3Cpath d='M4 19h16'/%3E%3Cpath d='m7 15 4-4 3 3 5-7'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-folder::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M3 7a2 2 0 0 1 2-2h5l2 2h7a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2z'/%3E%3C/svg%3E");
}

.icon-spark::before,
.icon-plus::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-users::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 19a6 6 0 0 1 12 0'/%3E%3Ccircle cx='17' cy='9' r='2'/%3E%3Cpath d='M16 15a5 5 0 0 1 5 4'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 19a6 6 0 0 1 12 0'/%3E%3Ccircle cx='17' cy='9' r='2'/%3E%3Cpath d='M16 15a5 5 0 0 1 5 4'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-building::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 7h.01M15 7h.01M9 11h.01M15 11h.01M9 15h.01M15 15h.01'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='3' width='14' height='18' rx='2'/%3E%3Cpath d='M9 7h.01M15 7h.01M9 11h.01M15 11h.01M9 15h.01M15 15h.01'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-code::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 9-4 3 4 3M16 9l4 3-4 3M14 5l-4 14'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m8 9-4 3 4 3M16 9l4 3-4 3M14 5l-4 14'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-shield::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M12 3 5 6v6c0 4.5 3 7.5 7 9 4-1.5 7-4.5 7-9V6z'/%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round' d='M12 3 5 6v6c0 4.5 3 7.5 7 9 4-1.5 7-4.5 7-9V6z'/%3E%3C/svg%3E");
}

.icon-wallet::before,
.icon-card::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='13' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='6' width='18' height='13' rx='2'/%3E%3Cpath d='M3 10h18'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-percent::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='m19 5-14 14'/%3E%3Ccircle cx='7' cy='7' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='m19 5-14 14'/%3E%3Ccircle cx='7' cy='7' r='2'/%3E%3Ccircle cx='17' cy='17' r='2'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-gift::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v8H4v-8M2 8h20v4H2zM12 8v12M12 8H8a2.5 2.5 0 1 1 2.5-2.5C10.5 7 12 8 12 8ZM12 8h4a2.5 2.5 0 1 0-2.5-2.5C13.5 7 12 8 12 8Z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 12v8H4v-8M2 8h20v4H2zM12 8v12M12 8H8a2.5 2.5 0 1 1 2.5-2.5C10.5 7 12 8 12 8ZM12 8h4a2.5 2.5 0 1 0-2.5-2.5C13.5 7 12 8 12 8Z'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-share::before,
.icon-megaphone::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-8-8 18-2-8z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 11 18-8-8 18-2-8z'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-settings::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.8 1.8 0 0 0 .36 2l.04.04a2.1 2.1 0 0 1-3 3l-.04-.04a1.8 1.8 0 0 0-2-.36 1.8 1.8 0 0 0-1 1.64V21a2.1 2.1 0 0 1-4.2 0v-.06a1.8 1.8 0 0 0-1-1.64 1.8 1.8 0 0 0-2 .36l-.04.04a2.1 2.1 0 0 1-3-3l.04-.04a1.8 1.8 0 0 0 .36-2 1.8 1.8 0 0 0-1.64-1H3a2.1 2.1 0 0 1 0-4.2h.06a1.8 1.8 0 0 0 1.64-1 1.8 1.8 0 0 0-.36-2l-.04-.04a2.1 2.1 0 0 1 3-3l.04.04a1.8 1.8 0 0 0 2 .36 1.8 1.8 0 0 0 1-1.64V3a2.1 2.1 0 0 1 4.2 0v.06a1.8 1.8 0 0 0 1 1.64 1.8 1.8 0 0 0 2-.36l.04-.04a2.1 2.1 0 0 1 3 3l-.04.04a1.8 1.8 0 0 0-.36 2 1.8 1.8 0 0 0 1.64 1H21a2.1 2.1 0 0 1 0 4.2h-.06a1.8 1.8 0 0 0-1.64 1Z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3Cpath d='M19.4 15a1.8 1.8 0 0 0 .36 2l.04.04a2.1 2.1 0 0 1-3 3l-.04-.04a1.8 1.8 0 0 0-2-.36 1.8 1.8 0 0 0-1 1.64V21a2.1 2.1 0 0 1-4.2 0v-.06a1.8 1.8 0 0 0-1-1.64 1.8 1.8 0 0 0-2 .36l-.04.04a2.1 2.1 0 0 1-3-3l.04-.04a1.8 1.8 0 0 0 .36-2 1.8 1.8 0 0 0-1.64-1H3a2.1 2.1 0 0 1 0-4.2h.06a1.8 1.8 0 0 0 1.64-1 1.8 1.8 0 0 0-.36-2l-.04-.04a2.1 2.1 0 0 1 3-3l.04.04a1.8 1.8 0 0 0 2 .36 1.8 1.8 0 0 0 1-1.64V3a2.1 2.1 0 0 1 4.2 0v.06a1.8 1.8 0 0 0 1 1.64 1.8 1.8 0 0 0 2-.36l.04-.04a2.1 2.1 0 0 1 3 3l-.04.04a1.8 1.8 0 0 0-.36 2 1.8 1.8 0 0 0 1.64 1H21a2.1 2.1 0 0 1 0 4.2h-.06a1.8 1.8 0 0 0-1.64 1Z'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-lock::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/g%3E%3C/svg%3E");
}

.menu-icon::before,
.menu-icon::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
}

.icon-grid::before {
  width: 4px;
  height: 4px;
  border-radius: 2px;
  background: currentColor;
  box-shadow: 8px 0 currentColor, 0 8px currentColor, 8px 8px currentColor;
}

.icon-chart::before {
  width: 16px;
  height: 13px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
}

.icon-chart::after {
  width: 14px;
  height: 8px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-35deg) translate(1px, -1px);
}

.icon-folder::before {
  width: 18px;
  height: 13px;
  border: 2px solid currentColor;
  border-radius: 3px;
}

.icon-folder::after {
  top: 8px;
  left: 8px;
  width: 9px;
  height: 4px;
  border-radius: 2px 2px 0 0;
  background: currentColor;
}

.icon-spark::before,
.icon-plus::before {
  width: 16px;
  height: 2px;
  background: currentColor;
}

.icon-spark::after,
.icon-plus::after {
  width: 2px;
  height: 16px;
  background: currentColor;
}

.icon-users::before {
  width: 8px;
  height: 8px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: 9px 2px 0 -2px #171c21, 9px 2px 0 0 currentColor;
  transform: translateY(-4px);
}

.icon-users::after {
  width: 20px;
  height: 9px;
  border: 2px solid currentColor;
  border-top: 0;
  border-radius: 0 0 9px 9px;
  transform: translateY(6px);
}

.icon-building::before {
  width: 16px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 3px;
  background:
    linear-gradient(currentColor 0 0) 4px 4px / 3px 3px no-repeat,
    linear-gradient(currentColor 0 0) 9px 4px / 3px 3px no-repeat,
    linear-gradient(currentColor 0 0) 4px 10px / 3px 3px no-repeat,
    linear-gradient(currentColor 0 0) 9px 10px / 3px 3px no-repeat;
}

.icon-code::before {
  width: 9px;
  height: 9px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateX(-5px) rotate(45deg);
}

.icon-code::after {
  width: 9px;
  height: 9px;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translateX(5px) rotate(-45deg);
}

.icon-shield::before {
  width: 16px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 8px 8px 10px 10px;
  clip-path: polygon(50% 0, 100% 18%, 86% 82%, 50% 100%, 14% 82%, 0 18%);
}

.icon-wallet::before,
.icon-card::before {
  width: 18px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 4px;
}

.icon-wallet::after {
  right: 7px;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
}

.icon-card::after {
  top: 11px;
  width: 18px;
  height: 2px;
  background: currentColor;
}

.icon-percent::before {
  width: 18px;
  height: 2px;
  background: currentColor;
  transform: rotate(-45deg);
}

.icon-percent::after {
  width: 5px;
  height: 5px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: 10px 10px 0 -2px #171c21, 10px 10px 0 0 currentColor;
  transform: translate(-5px, -5px);
}

.icon-gift::before {
  width: 18px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 3px;
  background: linear-gradient(90deg, transparent 43%, currentColor 43% 57%, transparent 57%);
}

.icon-gift::after {
  top: 7px;
  width: 20px;
  height: 2px;
  background: currentColor;
}

.icon-share::before {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 12px -6px currentColor, 12px 6px currentColor;
}

.icon-share::after {
  width: 13px;
  height: 13px;
  border-top: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: translate(4px) skewY(-27deg);
}

.icon-megaphone::before {
  width: 17px;
  height: 12px;
  border: 2px solid currentColor;
  border-left-width: 6px;
  transform: skewX(-12deg);
}

.icon-megaphone::after {
  bottom: 5px;
  left: 13px;
  width: 6px;
  height: 8px;
  border-left: 2px solid currentColor;
  transform: rotate(-18deg);
}

.master-menu .menu-icon.icon-share::before,
.master-menu .menu-icon.icon-megaphone::before,
.master-menu .menu-icon.icon-refresh::before {
  width: 19px;
  height: 19px;
  border: 0;
  border-radius: 0;
  background: currentColor;
  box-shadow: none;
  transform: none;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.master-menu .menu-icon.icon-share::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='12' r='2.5'/%3E%3Ccircle cx='18' cy='6' r='2.5'/%3E%3Ccircle cx='18' cy='18' r='2.5'/%3E%3Cpath d='m8.2 10.8 7.5-3.6M8.2 13.2l7.5 3.6'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='6' cy='12' r='2.5'/%3E%3Ccircle cx='18' cy='6' r='2.5'/%3E%3Ccircle cx='18' cy='18' r='2.5'/%3E%3Cpath d='m8.2 10.8 7.5-3.6M8.2 13.2l7.5 3.6'/%3E%3C/g%3E%3C/svg%3E");
}

.master-menu .menu-icon.icon-megaphone::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v4h4l9 4V6L8 10zM8 14l1.5 5h3'/%3E%3Cpath d='M20 9v6'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10v4h4l9 4V6L8 10zM8 14l1.5 5h3'/%3E%3Cpath d='M20 9v6'/%3E%3C/g%3E%3C/svg%3E");
}

.master-menu .menu-icon.icon-refresh::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 5v6h-6'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11a8 8 0 1 0-2.3 5.7'/%3E%3Cpath d='M20 5v6h-6'/%3E%3C/g%3E%3C/svg%3E");
}

.master-menu .menu-icon.icon-share::after,
.master-menu .menu-icon.icon-megaphone::after,
.master-menu .menu-icon.icon-refresh::after {
  content: none;
  display: none;
}

.master-menu .menu-icon.icon-receipt::before,
.master-menu .menu-icon.icon-gavel::before,
.master-menu .menu-icon.icon-calendar::before {
  width: 19px;
  height: 19px;
  border: 0;
  border-radius: 0;
  background: currentColor;
  box-shadow: none;
  transform: none;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.master-menu .menu-icon.icon-receipt::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/%3E%3Cpath d='M9 8h6M9 12h6M9 16h4'/%3E%3C/g%3E%3C/svg%3E");
}

.master-menu .menu-icon.icon-gavel::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 5 5 5M12 7l5 5M5 20l9-9M3 21h8'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m14 5 5 5M12 7l5 5M5 20l9-9M3 21h8'/%3E%3C/g%3E%3C/svg%3E");
}

.master-menu .menu-icon.icon-calendar::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18M8 15l2 2 5-5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M7 3v4M17 3v4M3 10h18M8 15l2 2 5-5'/%3E%3C/g%3E%3C/svg%3E");
}

.master-menu .menu-icon.icon-receipt::after,
.master-menu .menu-icon.icon-gavel::after,
.master-menu .menu-icon.icon-calendar::after {
  content: none;
  display: none;
}

.icon-settings::before {
  width: 16px;
  height: 16px;
  border: 3px dotted currentColor;
  border-radius: 50%;
}

.icon-lock::before {
  bottom: 8px;
  width: 17px;
  height: 12px;
  border: 2px solid currentColor;
  border-radius: 3px;
}

.icon-lock::after {
  top: 7px;
  width: 10px;
  height: 9px;
  border: 2px solid currentColor;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
}

.master-workspace {
  min-width: 0;
}

.master-topbar {
  position: sticky;
  top: 0;
  z-index: 5;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  align-items: center;
  min-height: 78px;
  padding: 18px clamp(18px, 4vw, 42px);
  border-bottom: 1px solid #2b2b2b;
  background: rgba(17, 18, 19, 0.94);
  backdrop-filter: blur(12px);
}

.master-topbar h1 {
  margin: 2px 0 0;
  font-size: 1.05rem;
  letter-spacing: 0;
}

.master-kicker {
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.master-user {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #c8ced5;
}

.master-user form {
  margin: 0;
}

.master-user button {
  display: inline-flex;
  width: auto;
  min-height: 34px;
  align-items: center;
  gap: 7px;
  padding: 8px 12px;
  border: 1px solid #2f353b;
  border-radius: 8px;
  background: #15191d;
  color: #aeb7c2;
  box-shadow: none;
}

.master-user button::before {
  content: "";
  width: 13px;
  height: 13px;
  border: 2px solid currentColor;
  border-right: 0;
  border-radius: 4px 0 0 4px;
}

.master-user button::after {
  content: "";
  width: 8px;
  height: 8px;
  margin-left: -7px;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  transform: rotate(45deg);
}

.master-user strong {
  width: 38px;
  height: 38px;
}

.master-hero,
.master-stats,
.master-grid,
.roadmap-card {
  width: min(1260px, calc(100% - 36px));
  margin-right: auto;
  margin-left: auto;
}

.master-hero {
  display: flex;
  justify-content: space-between;
  gap: 28px;
  align-items: end;
  padding: 32px 0 22px;
}

.master-hero h2 {
  max-width: 860px;
  margin: 8px 0 10px;
  font-size: clamp(2rem, 4vw, 3.8rem);
  line-height: 1.02;
  letter-spacing: 0;
}

.master-hero p {
  max-width: 780px;
  margin: 0;
  color: #aeb5bd;
}

.master-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 18px;
}

.master-stats article,
.master-card {
  border: 1px solid #303030;
  border-radius: 8px;
  background: #242424;
  box-shadow: 0 18px 38px rgba(0, 0, 0, 0.22);
}

.master-stats article {
  display: grid;
  gap: 5px;
  min-height: 126px;
  padding: 18px;
}

.master-stats span,
.payment-list span,
.loyalty-list span {
  color: #cdd2d8;
}

.master-stats strong {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1;
}

.master-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 18px;
  margin-bottom: 18px;
}

.master-card {
  min-width: 0;
  padding: 20px;
}

.master-card.span-2 {
  grid-column: span 1;
}

.master-card-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: start;
  margin-bottom: 16px;
}

.master-card h2 {
  margin: 0 0 4px;
  font-size: 1.22rem;
  letter-spacing: 0;
}

.master-card-head p {
  margin: 0;
  font-size: 0.92rem;
}

.master-card button,
.master-hero button {
  min-height: 42px;
  border-color: #02b84f;
  background: #00c853;
  color: #031006;
}

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

.report-tile {
  min-height: 144px;
  padding: 16px;
  border: 1px solid #33383d;
  border-radius: 8px;
  background: #1a1d20;
}

.report-tile span,
.status-pill {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 9px;
  border-radius: 999px;
  background: rgba(0, 200, 83, 0.14);
  color: #20df69;
  font-size: 0.76rem;
  font-weight: 900;
}

.status-pill.danger {
  background: rgba(255, 77, 77, 0.14);
  color: #ff7676;
}

.status-pill.warning {
  background: rgba(255, 173, 20, 0.14);
  color: #ffcf5b;
}

.status-pill.plan-pill {
  min-width: 64px;
  justify-content: center;
  border: 1px solid transparent;
}

.status-pill.plan-free {
  border-color: rgba(43, 255, 0, 0.3);
  background: rgba(43, 255, 0, 0.14);
  color: #2bff00;
}

.status-pill.plan-dev {
  border-color: rgba(220, 228, 239, 0.38);
  background: rgba(220, 228, 239, 0.13);
  color: #e6edf5;
}

.status-pill.plan-socio {
  border-color: rgba(244, 196, 81, 0.42);
  background: rgba(244, 196, 81, 0.15);
  color: #f4c451;
}

.report-tile h3 {
  margin: 14px 0 8px;
}

.loyalty-list,
.payment-list {
  display: grid;
  gap: 12px;
}

.loyalty-list div,
.payment-list div {
  display: grid;
  gap: 3px;
  padding: 14px;
  border: 1px solid #33383d;
  border-radius: 8px;
  background: #1a1d20;
}

.loyalty-list strong {
  color: #ffcf5b;
}

.payment-list strong {
  color: #fff;
  font-size: 1.2rem;
}

.master-table-wrap {
  overflow-x: auto;
}

.master-table {
  min-width: 820px;
}

.master-table th,
.master-table td {
  border-bottom-color: #343434;
}

.master-table th {
  color: #9ba3ad;
}

.master-table td {
  color: #f5f7fa;
}

.freelancer-card-grid {
  display: grid;
  gap: 12px;
}

.freelancer-admin-card {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  border: 1px solid #343a40;
  border-radius: 8px;
  background: #171a1d;
}

.freelancer-avatar {
  display: grid;
  width: 52px;
  height: 52px;
  place-items: center;
  border-radius: 8px;
  background: #00c853;
  color: #031006;
  font-size: 1.2rem;
  font-weight: 950;
}

.freelancer-info,
.freelancer-info * {
  color: #ffffff;
}

.freelancer-title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.freelancer-title-row h3 {
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
  line-height: 1.25;
}

.freelancer-info p {
  margin: 6px 0 10px;
  color: #d8dde5;
}

.freelancer-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 12px;
}

.freelancer-meta span {
  display: inline-flex;
  min-height: 28px;
  align-items: center;
  padding: 5px 9px;
  border: 1px solid #343a40;
  border-radius: 999px;
  background: #202428;
  color: #d8dde5;
  font-size: 0.78rem;
  font-weight: 850;
}

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

.action-row form {
  margin: 0;
}

.mini-action {
  display: inline-flex;
  width: auto;
  min-height: 32px;
  align-items: center;
  justify-content: center;
  padding: 6px 10px;
  border: 1px solid #394047;
  border-radius: 8px;
  background: #1a1d20;
  color: #dce3ea;
  font-size: 0.78rem;
  font-weight: 900;
  box-shadow: none;
}

.mini-action.warn {
  border-color: rgba(255, 173, 20, 0.45);
  color: #ffcf5b;
}

.mini-action.danger {
  border-color: rgba(255, 77, 77, 0.5);
  color: #ff7676;
}

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

.master-form,
.master-form * {
  color: #ffffff;
}

.master-form label {
  color: #ffffff;
  font-size: 0.78rem;
  text-transform: uppercase;
}

.master-form input {
  border-color: #343434;
  background: #1a1d20;
  color: #ffffff;
}

.master-form input::placeholder {
  color: #b9c1ca;
}

.master-form button {
  background: #00c853;
  color: #031006;
}

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

.master-console.is-freelancers-view .master-command,
.master-console.is-pix-validation-view .master-command {
  display: none;
}

.master-console.is-freelancers-view .freelancer-admin-grid {
  margin-top: 32px;
}

body.route-admin-mestre .master-console:not(.is-freelancers-view) #freelancers,
body.route-admin-mestre .master-console:not(.is-pix-validation-view) #pix-validation {
  display: none;
}

body.route-admin-mestre .master-console.is-pix-validation-view #pix-validation {
  margin-top: 32px;
}

body.route-admin-mestre .master-workspace > .freelancer-admin-grid {
  width: min(1472px, calc(100% - 68px));
}

@media (max-width: 760px) {
  body.route-admin-mestre .master-workspace > .freelancer-admin-grid {
    width: calc(100% - 28px);
  }
}

.admin-management-card {
  padding: 26px;
}

.management-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 22px 0 18px;
}

.management-stats article {
  display: grid;
  grid-template-columns: 48px 1fr;
  align-items: center;
  gap: 12px;
  min-height: 104px;
  padding: 18px;
  border-radius: 8px;
  background: #161616;
}

.management-stats strong,
.management-stats small {
  grid-column: 2;
}

.management-stats strong {
  color: #ffffff;
  font-size: 1.7rem;
  line-height: 1;
}

.management-stats small {
  color: #8f98a3;
  font-weight: 800;
}

.stat-icon {
  position: relative;
  display: flex;
  grid-row: span 2;
  width: 42px;
  height: 42px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: rgba(0, 200, 83, 0.13);
  color: #00d86a;
}

.stat-icon::before,
.stat-icon::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
}

.stat-icon.people::before,
.stat-icon.people::after,
.stat-icon.active::before,
.stat-icon.active::after,
.stat-icon.blocked::before,
.stat-icon.blocked::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
  background: transparent;
  mask-image: none;
  -webkit-mask-image: none;
}

.stat-icon.people::before {
  top: 10px;
  left: 10px;
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  box-shadow: 11px 3px 0 -2px #161616, 11px 3px 0 0 currentColor;
}

.stat-icon.people::after {
  left: 9px;
  bottom: 9px;
  width: 24px;
  height: 11px;
  border: 2px solid currentColor;
  border-top: 0;
  border-radius: 0 0 14px 14px;
}

.stat-icon.active {
  background: rgba(104, 117, 245, 0.15);
  color: #8fa0ff;
}

.stat-icon.active::before {
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 50%;
  left: 12px;
  top: 12px;
}

.stat-icon.active::after {
  width: 9px;
  height: 5px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  left: 17px;
  top: 17px;
  transform: rotate(-45deg);
}

.stat-icon.blocked {
  background: rgba(255, 173, 20, 0.12);
  color: #ffba37;
}

.stat-icon.blocked::before {
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 50%;
  left: 12px;
  top: 12px;
}

.stat-icon.blocked::after {
  width: 14px;
  height: 2px;
  background: currentColor;
  left: 14px;
  top: 20px;
}

.management-filters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) 122px;
  gap: 10px;
  padding: 16px;
  border: 1px solid #343434;
  border-radius: 8px 8px 0 0;
  background: #222222;
}

.management-filters input {
  border-color: #3a4046;
  background: #171717;
  color: #ffffff;
}

.management-filters input::placeholder {
  color: #7f8791;
}

.management-filters button {
  background: #00cbb8;
  color: #031006;
}

.management-table-wrap {
  overflow-x: auto;
  border: 1px solid #343434;
  border-top: 0;
  border-radius: 0 0 8px 8px;
}

.management-table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  background: #242424;
}

.management-table th,
.management-table td {
  padding: 16px;
  border-bottom: 1px solid #3a3a3a;
  color: #ffffff;
  vertical-align: middle;
}

.management-table th {
  background: #171717;
  color: #ffffff;
  font-size: 0.75rem;
  text-transform: uppercase;
}

.management-table td small {
  display: block;
  margin-top: 4px;
  color: #aeb7c2;
}

.payment-admin-card {
  position: relative;
  overflow: visible;
}

.payment-admin-head,
.payment-table-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
}

.payment-admin-head {
  flex-direction: column;
}

.payment-admin-head p,
.payment-table-header p,
.payment-config-panel p,
.payment-queue-intro p {
  color: #aeb7c2;
}

.payment-admin-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: nowrap;
  width: 100%;
}

.payment-admin-actions .btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border-radius: 8px;
  background: #2bff00;
  color: #031006;
  font-weight: 900;
}

.payment-live-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  background: rgba(0, 200, 83, 0.12);
  color: #28f076;
  font-weight: 900;
}

.payment-live-pill.has-pending {
  animation: subtlePulse 1.8s ease-in-out infinite;
}

.payment-stats {
  margin-top: 24px;
}

.payment-admin-split {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
  gap: 16px;
  margin: 18px 0 24px;
}

.payment-config-panel,
.payment-queue-intro {
  padding: 22px;
  border: 1px solid #343434;
  border-radius: 8px;
  background: #1f1f1f;
}

.payment-config-panel h3,
.payment-queue-intro h3,
.payment-table-header h3 {
  margin: 4px 0 8px;
  color: #ffffff;
  font-size: 1.25rem;
}

.payment-config-panel form {
  display: grid;
  gap: 16px;
  margin-top: 18px;
}

.payment-config-panel label,
.payment-withdraw-rules label {
  display: grid;
  gap: 8px;
  color: #c8d3df;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.payment-config-panel input {
  width: 100%;
  min-height: 50px;
  border: 1px solid #3a4046;
  border-radius: 8px;
  background: #111111;
  color: #ffffff;
  font: inherit;
  font-weight: 800;
  padding: 0 14px;
}

.payment-config-panel label small {
  color: #8f98a3;
  font-size: 0.78rem;
  text-transform: none;
}

.payment-toggle {
  display: flex !important;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 10px !important;
  width: fit-content;
  padding: 8px 12px;
  border: 1px solid #394149;
  border-radius: 999px;
  background: #151515;
}

.payment-toggle input {
  display: none;
}

.payment-toggle span {
  position: relative;
  width: 46px;
  height: 26px;
  border-radius: 999px;
  background: #343a40;
}

.payment-toggle span::after {
  content: "";
  position: absolute;
  top: 4px;
  left: 4px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #d7dde5;
  transition: transform 0.2s ease, background 0.2s ease;
}

.payment-toggle input:checked + span {
  background: #2bff00;
}

.payment-toggle input:checked + span::after {
  transform: translateX(20px);
  background: #ffffff;
}

.payment-webhook {
  background: #151515;
}

.payment-withdraw-rules {
  padding: 18px;
  border: 1px solid rgba(0, 200, 83, 0.22);
  border-radius: 8px;
  background: rgba(0, 200, 83, 0.06);
}

.payment-withdraw-rules .field-grid {
  margin-top: 12px;
}

.payment-withdraw-summary {
  display: grid;
  gap: 12px;
}

.payment-withdraw-summary .payment-mini-metrics {
  margin-top: 0;
}

.commission-inline-link {
  display: inline-flex;
  width: fit-content;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 14px;
  border-radius: 8px;
  background: #2bff00;
  color: #031006;
  font-weight: 950;
}

.payment-save {
  min-height: 52px;
  border: 0;
  border-radius: 8px;
  background: #ffc247;
  color: #120f04;
  font-weight: 950;
}

.payment-queue-intro {
  background:
    linear-gradient(135deg, rgba(0, 200, 83, 0.1), rgba(144, 92, 174, 0.08)),
    #1f1f1f;
}

.payment-mini-metrics {
  display: grid;
  gap: 10px;
  margin-top: 20px;
}

.payment-mini-metrics span {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding: 12px;
  border-radius: 8px;
  background: #151515;
  color: #aeb7c2;
  font-weight: 800;
}

.payment-mini-metrics strong {
  color: #ffffff;
}

.commission-admin-card {
  overflow: visible;
}

.commission-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(310px, 0.65fr);
  gap: 16px;
  margin-top: 18px;
}

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

.commission-form .field-grid {
  align-items: start;
}

.commission-plan-fees {
  display: grid;
  gap: 12px;
  grid-column: 1 / -1;
  min-width: 0;
  padding: 14px;
  border: 1px solid rgba(43, 255, 0, 0.2);
  border-radius: 8px;
  background: rgba(43, 255, 0, 0.06);
}

.commission-plan-fees legend {
  padding: 0 8px;
  color: var(--brand);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.commission-plan-fee-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.commission-save {
  background: #2bff00;
  color: #031006;
}

.commission-rule-preview {
  align-self: start;
}

.commission-flow-list {
  display: grid;
  gap: 12px;
  margin-top: 18px;
}

.commission-flow-list div {
  display: grid;
  gap: 5px;
  padding: 14px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 8px;
  background: #151515;
}

.commission-flow-list strong {
  color: #ffffff;
  font-size: 0.95rem;
}

.commission-flow-list span {
  color: #b9c6d6;
  font-size: 0.88rem;
  line-height: 1.45;
}

@media (max-width: 980px) {
  .payment-admin-split,
  .commission-layout {
    grid-template-columns: 1fr;
  }

  .commission-plan-fee-grid {
    grid-template-columns: 1fr;
  }

  .payment-admin-head,
  .payment-table-header {
    flex-direction: column;
  }

  .payment-admin-actions {
    flex-wrap: wrap;
  }
}

@media (max-width: 600px) {
  .payment-admin-actions > * {
    flex: 1 1 100%;
    width: 100%;
  }
}

.payment-table-header {
  align-items: center;
  margin: 12px 0 0;
  padding: 18px 16px;
  border: 1px solid #343434;
  border-bottom: 0;
  border-radius: 8px 8px 0 0;
  background: #222222;
}

.payment-live-dot {
  position: relative;
  padding-left: 14px;
  color: #28f076;
  font-weight: 900;
  font-size: 0.85rem;
}

.payment-live-dot::before {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  transform: translateY(-50%);
  box-shadow: 0 0 0 0 rgba(40, 240, 118, 0.55);
  animation: pingDot 1.7s ease-out infinite;
}

.payment-table-wrap {
  border-top: 0;
}

.payment-table-wrap.has-pager {
  border-radius: 0;
}

.admin-table-pager {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px;
  border: 1px solid #343434;
  border-top: 0;
  border-radius: 0 0 8px 8px;
  background: #1b1b1b;
}

.admin-table-pager-summary {
  color: #9ba5b1;
  font-size: 0.82rem;
  font-weight: 750;
}

.admin-table-pager-summary strong {
  color: #ffffff;
}

.admin-table-pager-controls {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
  flex-wrap: wrap;
}

.admin-table-pager-controls a {
  display: inline-flex;
  min-width: 38px;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 0 12px;
  border: 1px solid #3b4249;
  border-radius: 8px;
  background: #242424;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 900;
}

.admin-table-pager-controls a:hover,
.admin-table-pager-controls a:focus-visible,
.admin-table-pager-controls a.is-current {
  border-color: #2bff00;
  background: #2bff00;
  color: #031006;
}

.admin-table-pager-controls a.is-disabled {
  pointer-events: none;
  opacity: 0.38;
}

.admin-table-pager-controls span {
  padding: 0 3px;
  color: #77818c;
  font-weight: 900;
}

@media (max-width: 720px) {
  .admin-table-pager {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-table-pager-controls {
    justify-content: flex-start;
  }
}

.payment-table {
  min-width: 1080px;
}

.payment-status {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: rgba(255, 194, 71, 0.15);
  color: #ffc247;
  font-weight: 950;
  font-size: 0.82rem;
}

.payment-status.status-processando,
.payment-status.status-checkout_criado,
.payment-status.status-pagamento_pendente {
  background: rgba(144, 92, 174, 0.18);
  color: #905CAE;
}

.payment-status.status-pago {
  background: rgba(0, 200, 83, 0.16);
  color: #28f076;
}

.payment-status.status-aprovado {
  background: rgba(0, 200, 83, 0.16);
  color: #28f076;
}

.payment-status.status-pendente {
  background: rgba(255, 194, 71, 0.15);
  color: #ffc247;
}

.payment-status.status-rejeitado,
.payment-status.status-pagamento_recusado {
  background: rgba(255, 84, 84, 0.16);
  color: #ff7777;
}

.payment-row-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.payment-row-actions form {
  margin: 0;
}

.payment-row-actions select {
  min-height: 40px;
  border: 1px solid #394149;
  border-radius: 8px;
  background: #111111;
  color: #ffffff;
  padding: 0 10px;
  font-weight: 900;
}

.payment-row-actions button {
  min-height: 40px;
  border: 1px solid #394149;
  border-radius: 8px;
  background: #1c2228;
  color: #ffffff;
  padding: 0 12px;
  font-weight: 900;
}

.payment-row-actions button.confirm {
  border-color: #2bff00;
  background: #2bff00;
  color: #031006;
}

.payment-row-actions button.reject {
  border-color: rgba(255, 84, 84, 0.45);
  background: rgba(255, 84, 84, 0.12);
  color: #ff7777;
}

.payment-table tr.row-highlight td {
  animation: rowGlow 1.6s ease;
}

.admin-alert-stack {
  position: fixed;
  top: 92px;
  right: 24px;
  z-index: 80;
  display: grid;
  gap: 10px;
  width: min(360px, calc(100vw - 32px));
}

.admin-live-alert {
  display: grid;
  grid-template-columns: 44px 1fr;
  gap: 12px;
  align-items: center;
  width: 100%;
  border: 1px solid rgba(0, 212, 100, 0.44);
  border-radius: 8px;
  background: #101915;
  color: #ffffff;
  padding: 14px;
  text-align: left;
  box-shadow: 0 18px 50px rgba(0, 0, 0, 0.38);
  animation: alertSlide 0.24s ease-out;
}

.admin-live-alert > span {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  background: #2bff00;
  color: #031006;
  font-weight: 950;
}

.admin-live-alert strong,
.admin-live-alert small {
  display: block;
}

.admin-live-alert small {
  margin-top: 4px;
  color: #aeb7c2;
}

.whatsapp-approval-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  place-items: center;
  padding: 20px;
  background: rgba(0, 0, 0, 0.72);
}

.whatsapp-approval-modal.open {
  display: grid;
}

.whatsapp-approval-dialog {
  position: relative;
  width: min(520px, 100%);
  padding: 28px;
  border: 1px solid #343434;
  border-radius: 8px;
  background: #202020;
  color: #ffffff;
  box-shadow: 0 28px 90px rgba(0, 0, 0, 0.48);
}

.whatsapp-approval-close {
  position: absolute;
  top: 16px;
  right: 16px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: #2c2c2c;
  color: #ffffff;
  font-size: 1.3rem;
  font-weight: 900;
}

.whatsapp-approval-dialog h2 {
  margin: 8px 0 6px;
  color: #ffffff;
  font-size: 1.55rem;
}

.whatsapp-approval-dialog p {
  color: #aeb7c2;
}

.whatsapp-approval-dialog label {
  display: grid;
  gap: 10px;
  margin-top: 20px;
  color: #aeb7c2;
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.whatsapp-approval-dialog textarea {
  width: 100%;
  min-height: 142px;
  resize: vertical;
  border: 1px solid #dfe8df;
  border-radius: 8px;
  background: #f8fff9;
  color: #111111;
  padding: 14px;
  font: inherit;
  font-weight: 700;
  text-transform: none;
}

.whatsapp-approval-warning {
  margin-top: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 194, 71, 0.4);
  border-radius: 8px;
  background: rgba(255, 194, 71, 0.11);
  color: #ffc247;
  font-weight: 800;
}

.whatsapp-approval-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 18px;
}

.whatsapp-approval-actions button {
  min-height: 48px;
  border: 1px solid #394149;
  border-radius: 8px;
  background: #191919;
  color: #cbd5df;
  font-weight: 950;
}

.whatsapp-approval-actions button.confirm {
  border-color: #2bff00;
  background: #2bff00;
  color: #031006;
}

.dev-whatsapp-action {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  margin-top: 14px;
  border-radius: 8px;
  background: #2bff00;
  color: #031006;
  font-weight: 950;
}

.subscription-admin-page {
  align-items: start;
  grid-template-columns: 1fr;
  overflow: hidden;
}

.admin-settings-subnav {
  display: flex;
  gap: 8px;
  width: 100%;
  padding: 6px;
  border: 1px solid #30363d;
  border-radius: 8px;
  background: #15191e;
}

.admin-settings-subnav a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: #aeb9c7;
  font-weight: 900;
}

.admin-settings-subnav a:hover {
  border-color: #3b444e;
  color: #ffffff;
}

.admin-settings-subnav a.active {
  border-color: rgba(0, 204, 83, 0.5);
  background: #07331e;
  color: #25ed74;
}

.admin-settings-icon,
.admin-security-lock {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  color: currentColor;
}

.admin-settings-icon {
  width: 24px;
  height: 24px;
}

.admin-settings-icon svg,
.admin-security-lock svg {
  display: block;
  width: 100%;
  height: 100%;
}

.admin-security-card {
  display: grid;
  gap: 22px;
  border-color: rgba(0, 204, 83, 0.28);
}

.admin-security-state {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0 12px;
  border: 1px solid #49515b;
  border-radius: 6px;
  color: #b8c2cf;
  font-size: 0.76rem;
  font-weight: 900;
}

.admin-security-state.is-configured {
  border-color: rgba(0, 204, 83, 0.52);
  background: #0b2d1d;
  color: #32e87b;
}

.admin-security-layout {
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.55fr);
  gap: 18px;
  align-items: stretch;
}

.admin-security-summary,
.admin-security-form {
  border: 1px solid #303842;
  border-radius: 8px;
  background: #171b20;
}

.admin-security-summary {
  display: grid;
  align-content: start;
  gap: 10px;
  padding: 22px;
}

.admin-security-lock {
  width: 42px;
  height: 42px;
  padding: 9px;
  border-radius: 8px;
  color: #27e978;
  background: #0b3320;
}

.admin-security-summary small,
.admin-security-summary time,
.admin-security-form small,
.admin-security-rule {
  color: #92a0af;
  font-size: 0.78rem;
}

.admin-security-summary strong {
  color: #ffffff;
  font-size: 1.45rem;
  overflow-wrap: anywhere;
}

.admin-security-summary p,
.admin-security-summary time,
.admin-security-rule {
  margin: 0;
  line-height: 1.55;
}

.admin-security-form {
  display: grid;
  gap: 16px;
  padding: 22px;
}

.admin-security-form label {
  display: grid;
  gap: 8px;
  color: #b7c5d5;
  font-size: 0.78rem;
  font-weight: 900;
}

.admin-security-form input {
  width: 100%;
  min-width: 0;
  min-height: 48px;
  padding: 12px 14px;
  border: 1px solid #35404a;
  border-radius: 8px;
  background: #0d1411;
  color: #ffffff;
  font: inherit;
  font-weight: 800;
}

.admin-security-form input:focus {
  border-color: #00cc53;
  outline: 2px solid rgba(0, 204, 83, 0.16);
}

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

.admin-security-submit {
  min-height: 52px;
  border: 0;
  border-radius: 8px;
  background: #00cc53;
  color: #041009;
  font-weight: 950;
}

.admin-security-submit:hover {
  background: #22e875;
}

.admin-two-factor-settings {
  display: grid;
  grid-template-columns: minmax(240px, 0.72fr) minmax(0, 1.55fr);
  gap: 18px;
  padding-top: 22px;
  border-top: 1px solid #303842;
}

.admin-two-factor-intro {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 22px;
  border: 1px solid rgba(144, 92, 174, 0.48);
  border-radius: 8px;
  background: #201729;
}

.admin-two-factor-number {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #905cae;
  color: #ffffff;
  font-size: 1.15rem;
  font-weight: 950;
}

.admin-two-factor-intro small {
  color: #b98ad4;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.admin-two-factor-intro h3 {
  margin: 5px 0 8px;
  color: #ffffff;
  font-size: 1.25rem;
}

.admin-two-factor-intro p {
  margin: 0;
  color: #aab5c0;
  line-height: 1.55;
}

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

.admin-two-factor-toggle,
.admin-two-factor-form .admin-security-submit {
  grid-column: 1 / -1;
}

.admin-security-form .admin-two-factor-toggle {
  display: flex;
  align-items: center;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid #35404a;
  border-radius: 8px;
  background: #0d1411;
}

.admin-security-form .admin-two-factor-toggle input {
  width: 20px;
  min-height: 20px;
  margin: 0;
  accent-color: #00cc53;
}

@media (max-width: 820px) {
  .admin-login-page {
    padding: 22px;
  }

  .admin-login-shell {
    grid-template-columns: 1fr;
    width: min(560px, 100%);
    min-height: 0;
  }

  .admin-login-showcase {
    display: none;
  }

  .admin-login-shell .admin-login-card {
    padding: 44px;
  }

  .admin-login-mobile-brand {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 12px;
  }

  .admin-login-mobile-brand img {
    width: 48px;
    height: 48px;
    object-fit: contain;
  }

  .admin-login-mobile-brand strong {
    color: #fff;
  }

  .admin-two-factor-settings,
  .admin-two-factor-form {
    grid-template-columns: 1fr;
  }

  .admin-two-factor-toggle,
  .admin-two-factor-form .admin-security-submit {
    grid-column: auto;
  }
}

@media (max-width: 520px) {
  .admin-login-page {
    padding: 16px;
  }

  .admin-login-shell {
    border-radius: 16px;
  }

  .admin-login-shell .admin-login-card {
    padding: 30px 22px;
  }

  .admin-login-form-head h2 {
    font-size: 2.15rem;
  }

  .admin-2fa-card {
    padding: 22px;
  }

  .admin-2fa-actions {
    align-items: flex-start;
    flex-direction: column;
  }
}

.route-admin-assinaturas .master-workspace,
.route-admin-configuracoes .master-workspace {
  min-width: 0;
  overflow-x: hidden;
}

.subscription-editor-card,
.subscription-preview-card,
.sales-approval-card {
  border-color: rgba(255, 178, 22, 0.22);
  min-width: 0;
  width: 100%;
}

.sales-approval-card {
  display: grid;
  gap: 18px;
}

.sales-action-list {
  display: grid;
  gap: 10px;
}

.sales-approval-card .admin-table-pager {
  margin-top: 2px;
  border-top: 1px solid #343434;
  border-radius: 8px;
}

.sales-action-empty,
.sales-action-row {
  border: 1px solid #343434;
  border-radius: 8px;
  background: #161616;
}

.sales-action-empty {
  display: grid;
  gap: 4px;
  padding: 18px;
}

.sales-action-empty span,
.sales-reviewed {
  color: #9aa5b3;
}

.sales-action-row {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(200px, 0.8fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
}

.sales-action-row strong,
.sales-action-row small {
  display: block;
}

.sales-action-row small {
  margin-top: 4px;
  color: #9aa5b3;
}

.sales-action-buttons {
  display: flex;
  align-items: center;
  gap: 8px;
}

.sales-action-buttons form {
  display: grid;
}

.sales-action-buttons button {
  min-height: 40px;
  padding: 0 14px;
  border: 0;
  border-radius: 8px;
  background: #00c853;
  color: #06110a;
  font-weight: 950;
}

.sales-action-buttons button.reject {
  background: #2a2a2a;
  color: #f1f5f9;
}

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

.subscription-form-section {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid #32383f;
  border-radius: 8px;
  background: #1d2025;
}

.subscription-form-section h3,
.subscription-plan-editor legend {
  margin: 0;
  color: #ffad13;
  font-size: 1rem;
  font-weight: 950;
}

.subscription-form-section label,
.subscription-plan-editor label {
  display: grid;
  min-width: 0;
  gap: 8px;
  color: #9fb2c8;
  font-size: 0.76rem;
  font-weight: 900;
}

.subscription-form-section input,
.subscription-form-section textarea,
.subscription-form-section select,
.subscription-plan-editor input {
  width: 100%;
  min-width: 0;
  min-height: 46px;
  border: 1px solid #333b46;
  border-radius: 8px;
  background: #101419;
  color: #ffffff;
  padding: 12px;
  font: inherit;
  font-weight: 800;
}

.subscription-form-section textarea {
  resize: vertical;
  line-height: 1.45;
}

.subscription-plan-editor {
  display: grid;
  gap: 14px;
}

.subscription-plan-editor fieldset {
  display: grid;
  gap: 14px;
  margin: 0;
  padding: 16px;
  border: 1px solid #303743;
  border-radius: 8px;
  background: #191d23;
}

.subscription-repeat-grid {
  display: grid;
  gap: 10px;
}

.subscription-repeat-grid > div {
  display: grid;
  grid-template-columns: 110px 1fr;
  min-width: 0;
  gap: 10px;
}

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

.subscription-save {
  min-height: 54px;
  border: 0;
  border-radius: 8px;
  background: #ffb21a;
  color: #140f04;
  font-weight: 950;
  box-shadow: 0 10px 0 rgba(255, 178, 26, 0.18);
}

.subscription-preview-card {
  padding: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 90% 8%, rgba(255, 178, 26, 0.15), transparent 28%),
    #12161d;
}

.subscription-showcase {
  max-width: 100%;
  padding: 38px;
  border: 1px solid rgba(255, 178, 26, 0.55);
  border-radius: 8px;
  background: linear-gradient(120deg, #141923 0%, #151a20 52%, #2b2114 100%);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.32);
}

.subscription-showcase-head {
  display: flex;
  gap: 12px;
  align-items: center;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.subscription-bolt {
  display: grid;
  width: 36px;
  height: 36px;
  place-items: center;
  border-radius: 8px;
  background: #ffad13;
  color: #111111;
  font-size: 1.45rem;
  font-weight: 950;
}

.subscription-showcase h2,
.subscription-feature-side h3 {
  margin: 0;
  color: #ffffff;
}

.subscription-showcase-head p,
.subscription-price-side small,
.subscription-info-card p {
  margin: 4px 0 0;
  color: #a9bfd9;
}

.subscription-showcase-body {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) minmax(0, 1.2fr);
  gap: 44px;
  padding-top: 28px;
}

.subscription-price-side {
  display: grid;
  align-content: start;
  gap: 16px;
}

.subscription-tabs {
  display: inline-grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  width: min(100%, 330px);
  padding: 4px;
  border: 1px solid rgba(255, 178, 26, 0.45);
  border-radius: 999px;
  background: #171d26;
}

.subscription-tabs span {
  display: grid;
  min-height: 46px;
  place-items: center;
  border-radius: 999px;
  color: #aab8c8;
  font-weight: 900;
}

.subscription-tabs span.active {
  background: #ffb21a;
  color: #15100a;
}

.subscription-price strong {
  color: #ffad13;
  font-size: clamp(2.3rem, 4vw, 3.4rem);
  line-height: 1;
}

.subscription-price small {
  color: #b8c7d8;
  font-weight: 800;
}

.subscription-price-side > b,
.subscription-price-side > p {
  color: #ffad13;
  font-size: 0.86rem;
}

.subscription-rates {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.subscription-rates li {
  display: flex;
  gap: 12px;
  align-items: center;
  color: #a9bfd9;
  font-size: 0.9rem;
}

.subscription-rates li::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #ffad13;
}

.subscription-rates strong {
  color: #ffad13;
}

.subscription-expense-note {
  color: #75869c;
  line-height: 1.45;
}

.subscription-feature-side {
  display: grid;
  min-width: 0;
  gap: 22px;
  padding: 24px;
  border: 1px solid rgba(255, 178, 26, 0.35);
  border-radius: 8px;
  background: rgba(255, 178, 26, 0.055);
}

.subscription-feature-side h3 {
  color: #ffad13;
  font-size: 0.84rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.subscription-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 22px;
}

.subscription-feature-grid p {
  display: grid;
  grid-template-columns: 18px 1fr;
  min-width: 0;
  gap: 10px;
  margin: 0;
  color: #b8c9dd;
  line-height: 1.45;
}

.subscription-feature-grid span {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 178, 26, 0.16);
  color: #ffad13;
  font-size: 0.72rem;
  font-weight: 950;
}

.subscription-feature-side button {
  min-height: 54px;
  border: 0;
  border-radius: 8px;
  background: #ffb21a;
  color: #15100a;
  font-weight: 950;
}

.subscription-info-card {
  display: grid;
  gap: 8px;
  width: min(100% - 160px, 860px);
  margin: 28px auto 0;
  padding: 22px 26px;
  border: 1px solid #303948;
  border-radius: 8px;
  background: #1a202c;
}

.subscription-info-card strong {
  color: #ffffff;
}

.subscription-info-card span {
  color: #ffad13;
  font-weight: 950;
}

.pricing-page {
  width: min(1180px, calc(100% - 36px));
  margin: 0 auto;
  padding: clamp(46px, 8vw, 82px) 0 72px;
}

.pricing-head {
  max-width: 760px;
  margin-bottom: 28px;
}

.pricing-head h1 {
  margin: 10px 0 14px;
  font-size: clamp(2.35rem, 5vw, 4.8rem);
  line-height: 0.98;
  letter-spacing: 0;
}

.pricing-head p {
  max-width: 620px;
  color: var(--muted);
  font-size: 1.08rem;
}

.public-subscription-card {
  display: grid;
  gap: 26px;
}

.public-subscription-card .subscription-showcase {
  background: linear-gradient(120deg, #141923 0%, #151a20 50%, #302414 100%);
}

.public-plan-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  padding-top: 28px;
}

.public-plan-tabs > input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.public-plan-tabs > label {
  position: relative;
  z-index: 1;
  display: grid;
  min-height: 54px;
  place-items: center;
  border-top: 1px solid rgba(255, 178, 26, 0.45);
  border-bottom: 1px solid rgba(255, 178, 26, 0.45);
  background: #171d26;
  color: #aab8c8;
  font-weight: 950;
  cursor: pointer;
}

.public-plan-tabs > label:first-of-type {
  border-left: 1px solid rgba(255, 178, 26, 0.45);
  border-radius: 999px 0 0 999px;
}

.public-plan-tabs > label:last-of-type {
  border-right: 1px solid rgba(255, 178, 26, 0.45);
  border-radius: 0 999px 999px 0;
}

#plan-monthly:checked + label,
#plan-quarterly:checked + label,
#plan-annual:checked + label {
  background: #ffb21a;
  color: #15100a;
}

.public-plan-body {
  grid-column: 1 / -1;
}

.public-plan-panel {
  display: none;
}

#plan-monthly:checked ~ .public-plan-body .plan-panel-monthly,
#plan-quarterly:checked ~ .public-plan-body .plan-panel-quarterly,
#plan-annual:checked ~ .public-plan-body .plan-panel-annual {
  display: grid;
  gap: 14px;
}

.public-subscription-note {
  width: min(100%, 860px);
}

.refined-pricing-shell {
  display: grid;
  gap: 26px;
  width: 100%;
}

.refined-price-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: clamp(24px, 4vw, 40px);
  border: 1px solid rgba(255, 178, 26, 0.45);
  border-radius: 18px;
  background:
    radial-gradient(circle at 96% 8%, rgba(255, 178, 26, 0.13), transparent 30%),
    linear-gradient(145deg, #151923 0%, #0d1017 56%, #261d12 100%);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.04);
  color: #ffffff;
}

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

.refined-price-card.is-socio-active {
  border-color: rgba(255, 214, 93, 0.78);
  box-shadow:
    0 28px 82px rgba(144, 92, 174, 0.32),
    0 0 0 1px rgba(255, 214, 93, 0.22),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.plan-confetti {
  position: fixed;
  z-index: 1200;
  width: 7px;
  height: 12px;
  border-radius: 2px;
  background: var(--confetti-color, #f7c94a);
  pointer-events: none;
  transform: translate(-50%, -50%) rotate(var(--confetti-rotate, 0deg));
  animation: planConfettiFall 760ms ease-out forwards;
}

.refined-price-head {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.refined-price-bolt {
  display: grid;
  width: 36px;
  height: 36px;
  min-width: 36px;
  place-items: center;
  border-radius: 9px;
  background: #ffb21a;
  color: #171008;
  font-size: 1.4rem;
  font-weight: 950;
  line-height: 1;
}

.refined-price-head h2 {
  margin: 0;
  color: #ffffff;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  line-height: 1.08;
}

.refined-price-head p {
  margin: 4px 0 0;
  color: #a9bfd9;
  font-size: 0.92rem;
}

.refined-price-grid {
  display: grid;
  grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
  gap: clamp(24px, 4vw, 42px);
  align-items: start;
  padding-top: 28px;
}

.refined-price-main {
  display: grid;
  gap: 16px;
  min-width: 0;
}

.refined-plan-tabs {
  display: inline-grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  overflow: hidden;
  width: min(100%, 330px);
  padding: 4px;
  border: 1px solid rgba(255, 178, 26, 0.45);
  border-radius: 999px;
  background: #171d26;
}

.pricing-cycle-switch {
  display: inline-grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  width: min(100%, 430px);
  padding: 4px;
  border: 1px solid rgba(144, 92, 174, 0.42);
  border-radius: 999px;
  background: rgba(15, 12, 22, 0.42);
}

body.route-preco:not(.route-admin-mestre) .refined-price-card {
  overflow: visible;
}

body.route-preco:not(.route-admin-mestre) .refined-price-card > .pricing-cycle-switch {
  position: absolute;
  z-index: 5;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.pricing-cycle-switch button {
  position: relative;
  min-height: 36px;
  padding: 7px 12px;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #c8bed2;
  font: inherit;
  font-size: 0.78rem;
  font-weight: 900;
  cursor: pointer;
}

.pricing-cycle-switch button small {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 8px;
  display: block;
  padding: 3px 8px;
  border: 1px solid rgba(43, 255, 0, 0.58);
  border-radius: 999px;
  background: #172016;
  color: #2bff00;
  font-size: 0.58rem;
  line-height: 1;
  letter-spacing: 0.03em;
  white-space: nowrap;
  transform: translateY(-65%);
  box-shadow: 0 5px 12px rgba(10, 18, 9, 0.24);
}

@media (max-width: 520px) {
  .pricing-cycle-switch button {
    padding-inline: 7px;
    font-size: 0.72rem;
  }
}

.pricing-cycle-switch button.is-active {
  background: #2bff00;
  color: #142012;
  box-shadow: 0 7px 18px rgba(43, 255, 0, 0.2);
}

.pricing-cycle-switch button:disabled {
  opacity: 0.35;
  cursor: not-allowed;
}

.pricing-cycle-switch button:disabled small {
  box-shadow: none;
}

body.route-preco:not(.theme-dark) .pricing-cycle-switch {
  background: rgba(144, 92, 174, 0.07);
}

body.route-preco:not(.theme-dark) .pricing-cycle-switch button:not(.is-active) {
  color: #664d76;
}

.refined-plan-radio {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  opacity: 0;
  pointer-events: none;
  white-space: nowrap;
}

.refined-plan-tabs label,
.refined-plan-tabs.static span {
  display: flex;
  min-height: 46px;
  align-items: center;
  justify-content: center;
  gap: 6px;
  place-items: center;
  border-radius: 999px;
  color: #aab8c8;
  font-weight: 900;
  cursor: pointer;
}

.refined-plan-tabs label img {
  width: 22px;
  height: 22px;
  object-fit: contain;
}

.refined-plan-tabs label.is-downgrade-blocked {
  opacity: 0.34;
  cursor: not-allowed;
  filter: grayscale(1);
}

.refined-plan-tabs label.is-downgrade-blocked small {
  display: none;
}

.refined-plan-tabs label.is-downgrade-blocked::after {
  content: "×";
  font-size: 0.9rem;
  line-height: 1;
}

.refined-plan-tabs.static span {
  cursor: default;
}

#plan-monthly:checked ~ .refined-plan-tabs label[for="plan-monthly"],
#plan-quarterly:checked ~ .refined-plan-tabs label[for="plan-quarterly"],
#plan-annual:checked ~ .refined-plan-tabs label[for="plan-annual"],
.refined-plan-tabs.static span.active {
  background: #ffb21a;
  color: #15100a;
}

.refined-price-card.is-socio-active .refined-plan-tabs label[for="plan-annual"] {
  background: linear-gradient(135deg, #f7c94a, #fff1a8 44%, #905CAE 100%);
  color: #211608;
  box-shadow: 0 0 0 4px rgba(255, 214, 93, 0.16), 0 12px 26px rgba(144, 92, 174, 0.24);
  animation: socioTabGlow 1.8s ease-in-out infinite;
}

.refined-plan-body {
  width: 100%;
}

.refined-plan-panel {
  display: none;
}

.refined-plan-badge {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  gap: 8px;
  padding: 5px 10px 5px 5px;
  border: 1px solid rgba(144, 92, 174, 0.34);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.06);
  color: #dfe8f4;
  font-size: 0.74rem;
  font-weight: 950;
  text-transform: uppercase;
}

.refined-plan-badge img {
  width: 34px;
  height: 34px;
  object-fit: contain;
  filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.28));
}

.refined-price-card.is-socio-active .plan-panel-annual .refined-plan-badge {
  border-color: rgba(255, 214, 93, 0.58);
  background:
    linear-gradient(135deg, rgba(255, 246, 190, 0.26), rgba(247, 201, 74, 0.18) 52%, rgba(144, 92, 174, 0.18));
  color: #fff4bd;
  box-shadow: 0 10px 26px rgba(247, 201, 74, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

.refined-price-card.is-socio-active .plan-panel-annual .refined-plan-badge img {
  animation: socioCoinFloat 2.4s ease-in-out infinite;
}

#plan-monthly:checked ~ .refined-plan-body .plan-panel-monthly,
#plan-quarterly:checked ~ .refined-plan-body .plan-panel-quarterly,
#plan-annual:checked ~ .refined-plan-body .plan-panel-annual {
  display: grid;
  gap: 10px;
}

.refined-price-value {
  display: flex;
  align-items: flex-end;
  gap: 6px;
}

.refined-price-value strong {
  color: #ffad13;
  font-size: clamp(2.5rem, 5vw, 4.1rem);
  line-height: 0.92;
  letter-spacing: 0;
}

.refined-price-value small {
  margin-bottom: 5px;
  color: #b8c7d8;
  font-weight: 800;
}

.refined-price-caption,
.refined-rate-intro {
  color: #ffad13;
  font-size: 0.9rem;
  font-weight: 900;
  line-height: 1.45;
}

.refined-rate-intro {
  margin: 0;
}

.refined-rates {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.refined-rates li {
  display: grid;
  grid-template-columns: 8px auto 1fr;
  gap: 10px;
  align-items: center;
  min-width: 0;
  color: #a9bfd9;
  font-size: 0.94rem;
}

.refined-rates li::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #ffad13;
}

.refined-rates strong {
  color: #ffad13;
  white-space: nowrap;
}

.refined-rates span {
  min-width: 0;
}

.refined-expense-note {
  color: #7f90a8;
  font-size: 0.86rem;
  line-height: 1.5;
}

.refined-benefits-panel {
  display: grid;
  gap: 22px;
  min-width: 0;
  padding: clamp(20px, 3vw, 26px);
  border: 1px solid rgba(255, 178, 26, 0.26);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(255, 178, 26, 0.10), rgba(255, 255, 255, 0.025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.refined-benefits-panel h3 {
  margin: 0;
  color: #ffad13;
  font-size: 0.86rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.refined-feature-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px 24px;
}

.refined-feature-grid p {
  display: grid;
  grid-template-columns: 18px 1fr;
  gap: 10px;
  min-width: 0;
  margin: 0;
  color: #b8c9dd;
  line-height: 1.45;
}

.refined-feature-grid span {
  display: grid;
  width: 18px;
  height: 18px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 178, 26, 0.16);
  color: #ffad13;
  font-size: 0.72rem;
  font-weight: 950;
}

.refined-benefits-panel button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  width: 100%;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, #ffb21a, #ffc94d);
  color: #15100a;
  font-weight: 950;
  box-shadow: 0 12px 28px rgba(255, 178, 26, 0.24);
}

.refined-price-card.is-socio-active .refined-benefits-panel button {
  position: relative;
  overflow: hidden;
  background: linear-gradient(135deg, #2bff00, #f7c94a 44%, #905CAE);
  box-shadow: 0 16px 36px rgba(144, 92, 174, 0.30), 0 0 0 5px rgba(255, 214, 93, 0.14);
  animation: socioCtaPulse 2.2s ease-in-out infinite;
}

.refined-price-card.is-socio-active .refined-benefits-panel button::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, transparent 0 34%, rgba(255, 255, 255, 0.24) 48%, transparent 64% 100%);
  transform: translateX(-120%);
  animation: socioCtaShine 2.8s ease-in-out infinite;
  pointer-events: none;
}

.sales-action-form {
  display: grid;
}

.sales-action-form button {
  width: 100%;
}

.pricing-profile-guidance {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 13px;
  align-items: start;
  padding: 15px;
  border: 1px solid rgba(144, 92, 174, 0.32);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(144, 92, 174, 0.12), rgba(43, 255, 0, 0.07));
}

.pricing-profile-guidance > span {
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border-radius: 11px;
  background: rgba(144, 92, 174, 0.18);
  color: #b778d8;
  font-size: 1.25rem;
  font-weight: 950;
}

.pricing-profile-guidance strong,
.pricing-profile-guidance p {
  display: block;
}

.pricing-profile-guidance strong {
  color: var(--ink);
  line-height: 1.3;
}

.pricing-profile-guidance p {
  grid-column: 1 / -1;
  width: 100%;
  margin: 0;
  color: var(--muted);
  font-size: 0.8rem;
  line-height: 1.45;
}

.refined-benefits-panel .pricing-create-freelancer {
  background: linear-gradient(135deg, #2bff00, #68d45b 56%, #905CAE);
  color: #0a120c;
  box-shadow: 0 13px 28px rgba(43, 255, 0, 0.18);
}

body.theme-dark:not(.route-admin-mestre) .pricing-profile-guidance strong {
  color: #ffffff;
}

.rank-vitrine-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  width: min(100%, 1040px);
  margin: 0 auto;
}

.rank-vitrine-panel article {
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.35);
  border-radius: 12px;
  background:
    radial-gradient(circle at 92% 10%, rgba(43, 255, 0, 0.1), transparent 32%),
    #141b27;
  color: #ffffff;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.18);
}

.rank-vitrine-panel small {
  color: #2bff00;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.rank-vitrine-panel strong {
  display: block;
  margin-top: 8px;
  font-size: 1.35rem;
  line-height: 1;
}

.rank-vitrine-panel p {
  margin: 10px 0 0;
  color: #a9bad2;
  font-size: 0.84rem;
  line-height: 1.5;
}

.refined-info-card {
  display: grid;
  grid-template-columns: 26px 1fr;
  gap: 12px;
  width: min(100%, 860px);
  margin: 0 auto;
  padding: 22px 26px;
  border: 1px solid #303948;
  border-radius: 12px;
  background: #1a202c;
  color: #ffffff;
  box-shadow: 0 16px 42px rgba(0, 0, 0, 0.2);
}

.refined-info-card::before {
  content: "i";
  display: grid;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: rgba(255, 178, 26, 0.16);
  color: #ffad13;
  font-weight: 950;
}

.refined-info-card strong,
.refined-info-card p,
.refined-info-card span,
.refined-info-card a {
  grid-column: 2;
}

.refined-info-card strong {
  color: #ffffff;
}

.refined-info-card p {
  margin: 0;
  color: #a9bfd9;
  line-height: 1.5;
}

.refined-info-card span,
.refined-info-card a {
  color: #ffad13;
  font-weight: 950;
}

.subscription-preview-card .admin-refined-preview {
  max-width: 1160px;
  margin: 0 auto;
}

.subscription-preview-card .refined-price-card {
  box-shadow: none;
}

.route-preco {
  background: #090d0c;
}

.route-preco .topbar {
  background: rgba(255, 255, 255, 0.98);
}

body.route-preco.theme-dark .topbar {
  border-bottom-color: rgba(144, 92, 174, 0.28);
  background: rgba(8, 12, 11, 0.96);
}

.route-preco main {
  overflow-x: hidden;
  background:
    radial-gradient(circle at 52% 8%, rgba(144, 92, 174, 0.16), transparent 30%),
    radial-gradient(circle at 30% 55%, rgba(43, 255, 0, 0.12), transparent 34%),
    #090d0c;
}

.route-preco .pricing-page {
  --interlude-logo-y: 0px;
  position: relative;
  width: min(100% - 32px, 1120px);
  padding: 52px 0 64px;
}

.route-preco .pricing-page > * {
  position: relative;
  z-index: 1;
}

.route-preco .pricing-page::before {
  content: "";
  position: absolute;
  z-index: 0;
  top: 180px;
  right: clamp(-390px, -18vw, -220px);
  width: clamp(620px, 52vw, 900px);
  aspect-ratio: 1;
  background: url('../img/home-interlude-logo-mark.png') center / contain no-repeat;
  opacity: .09;
  pointer-events: none;
  transform: translate3d(0, var(--interlude-logo-y), 0);
  transition: transform 220ms cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}

body.theme-dark.route-preco .pricing-page::before {
  opacity: .075;
}

@media (max-width: 760px) {
  .route-preco .pricing-page::before {
    display: none;
  }
}

.route-preco .pricing-head {
  max-width: 600px;
  margin: 0 auto 52px;
  text-align: center;
}

.route-preco .pricing-head .eyebrow {
  color: #905CAE;
}

.route-preco .pricing-head h1 {
  margin: 8px 0 8px;
  color: #ffffff;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  line-height: 1.04;
}

.route-preco .pricing-head p {
  margin: 0 auto;
  color: #b9c7d8;
  font-size: 0.92rem;
  line-height: 1.45;
}

.route-preco .refined-pricing-shell,
.subscription-preview-card .admin-refined-preview {
  gap: 18px;
}

.route-preco .refined-price-card,
.subscription-preview-card .refined-price-card {
  max-width: 1040px;
  margin: 0 auto;
  padding: 28px 30px;
  border-color: rgba(144, 92, 174, 0.5);
  background:
    radial-gradient(circle at 98% 4%, rgba(43, 255, 0, 0.12), transparent 28%),
    radial-gradient(circle at 78% 12%, rgba(144, 92, 174, 0.10), transparent 30%),
    linear-gradient(145deg, #111821 0%, #0b1016 54%, #101a13 100%);
  box-shadow: 0 24px 58px rgba(0, 0, 0, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.035);
}

.route-preco .refined-price-head,
.subscription-preview-card .refined-price-head {
  gap: 10px;
  padding-bottom: 18px;
}

.route-preco .refined-price-bolt,
.subscription-preview-card .refined-price-bolt,
.route-preco .refined-info-card::before,
.subscription-preview-card .refined-info-card::before {
  background: linear-gradient(135deg, #2bff00, #905CAE);
  color: #06110a;
}

.route-preco .refined-price-head h2,
.subscription-preview-card .refined-price-head h2 {
  font-size: 1.35rem;
}

.route-preco .refined-price-head p,
.subscription-preview-card .refined-price-head p {
  color: #aecaef;
  font-size: 0.78rem;
}

.route-preco .refined-price-grid,
.subscription-preview-card .refined-price-grid {
  grid-template-columns: minmax(245px, 0.75fr) minmax(0, 1.25fr);
  gap: 30px;
  padding-top: 22px;
}

.route-preco .refined-price-main,
.subscription-preview-card .refined-price-main {
  gap: 12px;
}

.route-preco .refined-plan-tabs,
.subscription-preview-card .refined-plan-tabs {
  width: min(100%, 300px);
  border-color: rgba(144, 92, 174, 0.55);
  background: #151c28;
}

.route-preco .refined-plan-tabs label,
.subscription-preview-card .refined-plan-tabs.static span {
  min-height: 38px;
  color: #aac0dc;
  font-size: 0.86rem;
}

.route-preco #plan-monthly:checked ~ .refined-plan-tabs label[for="plan-monthly"],
.route-preco #plan-quarterly:checked ~ .refined-plan-tabs label[for="plan-quarterly"],
.route-preco #plan-annual:checked ~ .refined-plan-tabs label[for="plan-annual"],
.subscription-preview-card .refined-plan-tabs.static span.active {
  background: linear-gradient(135deg, #2bff00, #905CAE);
  color: #ffffff;
}

.subscription-preview-card .refined-plan-tabs.static span {
  gap: 7px;
}

.subscription-preview-card .refined-plan-tabs.static span img {
  width: 24px;
  height: 24px;
  object-fit: contain;
}

.subscription-preview-card .refined-commercial-head {
  padding-bottom: 14px;
  border-bottom: 1px solid rgba(144, 92, 174, 0.2);
}

.subscription-preview-card .refined-commercial-head > span {
  color: #c283e4;
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.subscription-preview-card .refined-commercial-rates li.is-referral-sale-highlight {
  border-color: rgba(43, 255, 0, 0.72);
  box-shadow: 0 0 0 3px rgba(43, 255, 0, 0.08);
}

.route-preco .refined-price-value strong,
.subscription-preview-card .refined-price-value strong {
  color: #2bff00;
  font-size: clamp(2.1rem, 4vw, 3.1rem);
}

.route-preco .refined-price-caption,
.route-preco .refined-rate-intro,
.subscription-preview-card .refined-price-caption,
.subscription-preview-card .refined-rate-intro {
  color: #905CAE;
  font-size: 0.76rem;
}

.route-preco .refined-rates,
.subscription-preview-card .refined-rates {
  gap: 7px;
}

.route-preco .refined-rates li,
.subscription-preview-card .refined-rates li {
  color: #afc0d7;
  font-size: 0.78rem;
}

.route-preco .refined-rates li::before,
.subscription-preview-card .refined-rates li::before {
  background: #2bff00;
}

.route-preco .refined-rates strong,
.subscription-preview-card .refined-rates strong {
  color: #2bff00;
}

.route-preco .refined-expense-note,
.subscription-preview-card .refined-expense-note {
  color: #778aa4;
  font-size: 0.72rem;
}

.route-preco .refined-benefits-panel,
.subscription-preview-card .refined-benefits-panel {
  gap: 16px;
  padding: 20px;
  border-color: rgba(144, 92, 174, 0.42);
  background: linear-gradient(145deg, rgba(144, 92, 174, 0.12), rgba(43, 255, 0, 0.055));
}

.route-preco .refined-benefits-panel h3,
.subscription-preview-card .refined-benefits-panel h3 {
  color: #2bff00;
  font-size: 0.76rem;
}

body.route-preco:not(.theme-dark) .refined-benefits-panel h3,
body:not(.theme-dark) .subscription-preview-card .refined-benefits-panel h3 {
  color: #07110b;
}

.route-preco .refined-feature-grid,
.subscription-preview-card .refined-feature-grid {
  gap: 14px 20px;
}

.route-preco .refined-feature-grid p,
.subscription-preview-card .refined-feature-grid p {
  color: #bdcce0;
  font-size: 0.8rem;
  line-height: 1.38;
}

.route-preco .refined-feature-grid span,
.subscription-preview-card .refined-feature-grid span {
  background: rgba(43, 255, 0, 0.14);
  color: #2bff00;
}

.route-preco .refined-benefits-panel button,
.subscription-preview-card .refined-benefits-panel button {
  min-height: 46px;
  background: linear-gradient(135deg, #2bff00, #905CAE);
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(43, 255, 0, 0.18);
}

.route-preco .refined-info-card,
.subscription-preview-card .refined-info-card {
  width: min(100%, 1040px);
  padding: 18px 22px;
  border-color: rgba(144, 92, 174, 0.35);
  background: #141b27;
}

.route-preco .refined-info-card p,
.subscription-preview-card .refined-info-card p {
  color: #a9bad2;
  font-size: 0.82rem;
}

.route-preco .refined-info-card span,
.subscription-preview-card .refined-info-card span,
.route-preco .refined-info-card a,
.subscription-preview-card .refined-info-card a {
  color: #2bff00;
}

body.route-preco:not(.theme-dark) {
  background: #f7fbf4;
}

body.route-preco:not(.theme-dark) main {
  background:
    radial-gradient(circle at 52% 5%, rgba(144, 92, 174, 0.12), transparent 28%),
    radial-gradient(circle at 22% 60%, rgba(43, 255, 0, 0.14), transparent 32%),
    #f7fbf4;
}

body.route-preco:not(.theme-dark) .pricing-head .eyebrow {
  color: #905CAE;
}

body.route-preco:not(.theme-dark) .pricing-head h1 {
  color: #17191f;
}

body.route-preco:not(.theme-dark) .pricing-head p {
  color: #566170;
}

body.route-preco:not(.theme-dark) .refined-price-card {
  border-color: rgba(144, 92, 174, 0.32);
  background:
    radial-gradient(circle at 98% 5%, rgba(43, 255, 0, 0.14), transparent 28%),
    radial-gradient(circle at 74% 18%, rgba(144, 92, 174, 0.10), transparent 30%),
    linear-gradient(145deg, #ffffff 0%, #f8fbf6 54%, #f3fff6 100%);
  box-shadow: 0 24px 58px rgba(34, 43, 48, 0.10), inset 0 1px 0 rgba(255, 255, 255, 0.82);
  color: #17191f;
}

body.route-preco:not(.theme-dark) .refined-price-head {
  border-bottom-color: rgba(24, 29, 36, 0.09);
}

body.route-preco:not(.theme-dark) .refined-price-head h2 {
  color: #15191f;
}

body.route-preco:not(.theme-dark) .refined-price-head p,
body.route-preco:not(.theme-dark) .refined-price-value small,
body.route-preco:not(.theme-dark) .refined-expense-note {
  color: #607086;
}

body.route-preco:not(.theme-dark) .refined-plan-tabs {
  border-color: rgba(144, 92, 174, 0.28);
  background: #eef6f0;
}

body.route-preco:not(.theme-dark) .refined-plan-tabs label {
  color: #374151;
}

body.route-preco:not(.theme-dark) .refined-plan-badge {
  border-color: rgba(144, 92, 174, 0.24);
  background: rgba(255, 255, 255, 0.86);
  color: #374151;
}

body.route-preco:not(.theme-dark) .refined-price-card.is-socio-active .plan-panel-annual .refined-plan-badge {
  border-color: rgba(210, 149, 16, 0.72);
  background:
    linear-gradient(135deg, #fff8d1 0%, #ffe18a 48%, #ffffff 52%, #f2c44d 100%);
  color: #684209;
  box-shadow: 0 14px 32px rgba(210, 149, 16, 0.20), 0 0 0 4px rgba(255, 225, 138, 0.18);
}

body.route-preco:not(.theme-dark) .refined-price-card.is-socio-active .plan-panel-annual .refined-plan-badge img {
  filter: drop-shadow(0 10px 14px rgba(210, 149, 16, 0.32));
}

body.route-preco:not(.theme-dark) .refined-price-caption,
body.route-preco:not(.theme-dark) .refined-rate-intro {
  color: #905CAE;
}

body.route-preco:not(.theme-dark) .refined-rates li {
  color: #44546a;
}

body.route-preco:not(.theme-dark) .refined-price-value strong {
  color: #1f1235;
}

body.route-preco:not(.theme-dark) .refined-price-card.is-socio-active .plan-panel-annual .refined-price-value strong {
  color: #6e3f08;
}

body.route-preco:not(.theme-dark) .refined-rates strong,
body.route-preco:not(.theme-dark) .rank-vitrine-panel small {
  color: #7a3db0;
}

body.route-preco:not(.theme-dark) .refined-price-card.is-socio-active .plan-panel-annual .refined-rates strong {
  color: #7b4b08;
}

body.route-preco:not(.theme-dark) .rank-vitrine-panel article {
  border-color: rgba(144, 92, 174, 0.22);
  background:
    radial-gradient(circle at 92% 10%, rgba(43, 255, 0, 0.12), transparent 34%),
    linear-gradient(145deg, #ffffff 0%, #f8fbf6 100%);
  color: #17191f;
  box-shadow: 0 18px 42px rgba(34, 43, 48, 0.09);
}

body.route-preco:not(.theme-dark) .rank-vitrine-panel strong {
  color: #17191f;
}

body.route-preco:not(.theme-dark) .rank-vitrine-panel p {
  color: #536276;
}

body.route-preco:not(.theme-dark) .refined-benefits-panel {
  border-color: rgba(144, 92, 174, 0.25);
  background: linear-gradient(145deg, rgba(144, 92, 174, 0.08), rgba(43, 255, 0, 0.08));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.72);
}

body.route-preco:not(.theme-dark) .refined-feature-grid p {
  color: #314052;
}

body.route-preco:not(.theme-dark) .refined-info-card {
  border-color: rgba(144, 92, 174, 0.26);
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(34, 43, 48, 0.09);
  color: #17191f;
}

body.route-preco:not(.theme-dark) .refined-info-card strong {
  color: #17191f;
}

body.route-preco:not(.theme-dark) .refined-info-card p {
  color: #536276;
}

body.route-preco .refined-info-card.is-market-highlight {
  position: relative;
  overflow: hidden;
  grid-template-columns: 48px 1fr;
  padding-right: 96px;
  border: 2px solid rgba(43, 255, 0, 0.58);
  background:
    radial-gradient(circle at 94% 10%, rgba(188, 112, 235, 0.42), transparent 34%),
    linear-gradient(115deg, #351052 0%, #55257a 48%, #6d2da8 100%);
  box-shadow:
    0 24px 54px rgba(58, 18, 91, 0.28),
    0 0 0 5px rgba(43, 255, 0, 0.07),
    inset 0 1px 0 rgba(255, 255, 255, 0.16);
  color: #ffffff;
}

body.route-preco .refined-info-card.is-market-highlight::before {
  display: none;
}

body.route-preco .refined-info-card.is-market-highlight .market-highlight-image {
  grid-column: 1;
  grid-row: 1 / span 2;
  align-self: center;
  width: 48px;
  height: 48px;
  object-fit: contain;
  filter: drop-shadow(0 8px 14px rgba(24, 8, 38, 0.34));
}

body.route-preco .refined-info-card.is-market-highlight::before {
  background: linear-gradient(135deg, #2bff00, #8edb65);
  color: #17310e;
  box-shadow: 0 8px 20px rgba(43, 255, 0, 0.24);
}

body.route-preco .refined-info-card.is-market-highlight strong,
body.route-preco:not(.theme-dark) .refined-info-card.is-market-highlight strong {
  color: #ffffff;
  font-size: 1.05rem;
}

body.route-preco .refined-info-card.is-market-highlight p,
body.route-preco:not(.theme-dark) .refined-info-card.is-market-highlight p {
  color: rgba(255, 255, 255, 0.82);
}

body.route-preco .refined-info-card.is-market-highlight .market-highlight-arrow {
  position: absolute;
  right: 22px;
  bottom: 22px;
  display: inline-flex;
  width: 52px;
  height: 52px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid #2bff00;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.08);
  color: #2bff00;
  font-size: 1.55rem;
  line-height: 1;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(27, 8, 43, 0.24);
  backdrop-filter: blur(8px);
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

body.route-preco .refined-info-card.is-market-highlight .market-highlight-arrow span {
  display: inline-block;
  grid-column: auto;
  color: inherit;
  font-weight: 500;
  transition: transform 180ms cubic-bezier(.2, .8, .2, 1);
}

@media (max-width: 640px) {
  body.route-preco .refined-info-card.is-market-highlight {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    grid-template-columns: 58px minmax(0, 1fr) 48px;
    grid-template-rows: auto auto;
    column-gap: 14px;
    row-gap: 8px;
    align-items: center;
    padding: 20px 16px;
  }

  body.route-preco .refined-info-card.is-market-highlight .market-highlight-image {
    grid-column: 1;
    grid-row: 1 / 3;
    width: 58px;
    height: 58px;
  }

  body.route-preco .refined-info-card.is-market-highlight strong,
  body.route-preco:not(.theme-dark) .refined-info-card.is-market-highlight strong {
    grid-column: 2;
    grid-row: 1;
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
  }

  body.route-preco .refined-info-card.is-market-highlight p,
  body.route-preco:not(.theme-dark) .refined-info-card.is-market-highlight p {
    grid-column: 2;
    grid-row: 2;
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
  }

  body.route-preco .refined-info-card.is-market-highlight .market-highlight-arrow {
    position: static;
    grid-column: 3;
    grid-row: 1 / 3;
    width: 48px;
    height: 48px;
    justify-self: end;
  }
}

@media (hover: hover) and (pointer: fine) {
  body.route-preco .refined-info-card.is-market-highlight .market-highlight-arrow:hover {
    background: #2bff00;
    color: #17310e;
    transform: none;
    box-shadow: 0 14px 28px rgba(43, 255, 0, 0.26);
  }

  body.route-preco .refined-info-card.is-market-highlight .market-highlight-arrow:hover span {
    transform: translate(3px, -3px);
  }
}

@keyframes pingDot {
  0% { box-shadow: 0 0 0 0 rgba(40, 240, 118, 0.55); }
  80%, 100% { box-shadow: 0 0 0 10px rgba(40, 240, 118, 0); }
}

@keyframes subtlePulse {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.035); }
}

@keyframes rowGlow {
  0% { background: rgba(0, 212, 100, 0.16); }
  100% { background: transparent; }
}

@keyframes alertSlide {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.user-cell {
  display: flex;
  align-items: center;
  gap: 12px;
}

.freelancer-avatar.small {
  width: 34px;
  height: 34px;
  font-size: 0.9rem;
}

.icon-action-row {
  display: flex;
  align-items: center;
  gap: 8px;
}

.icon-action-row form {
  margin: 0;
}

.icon-action {
  position: relative;
  display: inline-grid;
  width: 38px;
  min-height: 38px;
  place-items: center;
  padding: 0;
  border: 1px solid #464b51;
  border-radius: 8px;
  background: #2c2c2c;
  color: #ffffff;
  box-shadow: none;
}

.icon-action::before,
.icon-action::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
  mask-image: none;
  -webkit-mask-image: none;
  background: transparent;
}

.icon-action.whatsapp::before {
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 50%;
  left: 9px;
  top: 8px;
}

.icon-action.whatsapp::after {
  left: 13px;
  bottom: 8px;
  width: 8px;
  height: 8px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  transform: rotate(-20deg);
}

.icon-action.whatsapp::before,
.icon-action.whatsapp::after {
  content: none;
  display: none;
}

.icon-action.whatsapp[href]:hover,
.icon-action.whatsapp[href]:focus-visible {
  border-color: #20c967;
  background: #123c27;
  color: #51ef91;
}

.icon-action.whatsapp::before,
.icon-action.whatsapp::after {
  content: none;
  display: none;
}

.icon-action-image {
  display: block;
  width: 30px;
  height: 30px;
  object-fit: contain;
  filter: drop-shadow(0 3px 5px rgba(0, 216, 106, .3));
  transition: transform 180ms ease, filter 180ms ease;
}

.icon-action.whatsapp[href]:hover .icon-action-image,
.icon-action.whatsapp[href]:focus-visible .icon-action-image {
  transform: scale(1.09);
  filter: drop-shadow(0 4px 7px rgba(43, 255, 0, .48));
}

.icon-action.disabled {
  cursor: not-allowed;
  opacity: 0.35;
}

.icon-action.edit::before {
  width: 17px;
  height: 6px;
  border: 2px solid currentColor;
  border-radius: 2px;
  transform: rotate(-45deg);
  left: 10px;
  top: 15px;
}

.icon-action.edit::after {
  right: 9px;
  bottom: 9px;
  width: 10px;
  height: 2px;
  background: currentColor;
}

.icon-action.ban::before {
  width: 18px;
  height: 18px;
  border: 2px solid #ffba37;
  border-radius: 50%;
  left: 10px;
  top: 10px;
}

.icon-action.ban::after {
  width: 16px;
  height: 2px;
  background: #ffba37;
  left: 11px;
  top: 18px;
}

.icon-action.restore::before {
  width: 18px;
  height: 18px;
  border: 2px solid #00d86a;
  border-radius: 50%;
  left: 10px;
  top: 10px;
}

.icon-action.restore::after {
  width: 9px;
  height: 5px;
  border-left: 2px solid #00d86a;
  border-bottom: 2px solid #00d86a;
  left: 15px;
  top: 16px;
  transform: rotate(-45deg);
}

.icon-action.delete::before {
  width: 14px;
  height: 15px;
  border: 2px solid #ff7676;
  border-top: 0;
  border-radius: 0 0 3px 3px;
  left: 12px;
  top: 13px;
}

.icon-action.delete::after {
  top: 10px;
  left: 10px;
  width: 18px;
  height: 2px;
  background: #ff7676;
}

.admin-modal {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: none;
  place-items: center;
  padding: 18px;
}

.admin-modal.open {
  display: grid;
}

.admin-modal-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(4px);
}

.admin-modal-card {
  position: relative;
  z-index: 1;
  width: min(560px, 100%);
  overflow: hidden;
  border: 1px solid #3a3a3a;
  border-radius: 8px;
  background: #242424;
  color: #ffffff;
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.45);
}

.admin-modal-card > .master-kicker,
.admin-modal-card > h2,
.admin-modal-card > p {
  display: block;
  padding-right: 22px;
  padding-left: 22px;
}

.admin-modal-card > .master-kicker {
  padding-top: 22px;
  color: #ffcf5b;
}

.admin-modal-card > h2 {
  margin: 4px 0 4px;
}

.admin-modal-card > p {
  margin: 0 0 20px;
  color: #b8c1cc;
}

.admin-modal-close {
  position: absolute;
  top: 20px;
  right: 20px;
  width: 38px;
  min-height: 38px;
  padding: 0;
  border: 1px solid #505050;
  border-radius: 8px;
  background: #2c2c2c;
  color: #ffffff;
}

.admin-modal-card .master-form {
  padding: 22px;
  border-top: 1px solid #3a3a3a;
}

.modal-field-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.modal-field-grid label {
  display: grid;
}

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

.modal-actions button {
  width: auto;
}

.modal-cancel {
  background: #333333;
  color: #ffffff;
}

/* Final icon normalization for the master dashboard. */
.master-menu .menu-icon::before,
.stat-icon::before,
.icon-action::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 0;
  background: currentColor;
  box-shadow: none;
  transform: none;
  clip-path: none;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.master-menu .menu-icon::after,
.stat-icon::after,
.icon-action::after {
  content: none;
}

.master-menu .menu-icon.svg-menu-icon::before,
.master-menu .menu-icon.svg-menu-icon::after {
  content: none;
  display: none;
}

.master-menu .menu-icon.svg-menu-icon {
  background: #151b20;
  color: #dce7f1;
}

.master-menu a.active .menu-icon.svg-menu-icon,
.master-menu a:hover .menu-icon.svg-menu-icon {
  background: rgba(0, 200, 83, 0.18);
  color: #22e974;
}

.master-menu .menu-icon.svg-menu-icon .admin-svg-icon {
  width: 18px;
  height: 18px;
  stroke-width: 2;
}

.stat-icon.people::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 19a6 6 0 0 1 12 0'/%3E%3Ccircle cx='17' cy='9' r='2'/%3E%3Cpath d='M16 15a5 5 0 0 1 5 4'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3'/%3E%3Cpath d='M3 19a6 6 0 0 1 12 0'/%3E%3Ccircle cx='17' cy='9' r='2'/%3E%3Cpath d='M16 15a5 5 0 0 1 5 4'/%3E%3C/g%3E%3C/svg%3E");
}

.stat-icon.active::before,
.icon-action.restore::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12 3 3 5-6'/%3E%3C/g%3E%3C/svg%3E");
}

.stat-icon.blocked::before,
.icon-action.ban::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12h8'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M8 12h8'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-action.whatsapp::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5a8 8 0 0 1-11.7 7.1L4 20l1.4-4.1A8 8 0 1 1 20 11.5Z'/%3E%3Cpath d='M9 9c.4 2 2 4 4 4l1.5-1.2 2 1.3c-.4 1.4-1.5 2.2-3.1 2.1-3.1-.2-6-3-6.3-6.2C7 7.6 7.8 6.5 9.2 6l1.2 2Z'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 11.5a8 8 0 0 1-11.7 7.1L4 20l1.4-4.1A8 8 0 1 1 20 11.5Z'/%3E%3Cpath d='M9 9c.4 2 2 4 4 4l1.5-1.2 2 1.3c-.4 1.4-1.5 2.2-3.1 2.1-3.1-.2-6-3-6.3-6.2C7 7.6 7.8 6.5 9.2 6l1.2 2Z'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-action.edit::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4l11-11a2.8 2.8 0 0 0-4-4L4 16z'/%3E%3Cpath d='m13 7 4 4'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h4l11-11a2.8 2.8 0 0 0-4-4L4 16z'/%3E%3Cpath d='m13 7 4 4'/%3E%3C/g%3E%3C/svg%3E");
}

.icon-action.delete::before {
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3Cpath d='M6 7l1 14h10l1-14M9 7V4h6v3'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 7h16'/%3E%3Cpath d='M10 11v6M14 11v6'/%3E%3Cpath d='M6 7l1 14h10l1-14M9 7V4h6v3'/%3E%3C/g%3E%3C/svg%3E");
}

/* Robust non-mask icons for stat cards and action buttons. */
.stat-icon.people::before,
.stat-icon.people::after,
.stat-icon.active::before,
.stat-icon.active::after,
.stat-icon.blocked::before,
.stat-icon.blocked::after,
.icon-action.whatsapp::before,
.icon-action.whatsapp::after,
.icon-action.edit::before,
.icon-action.edit::after,
.icon-action.ban::before,
.icon-action.ban::after,
.icon-action.restore::before,
.icon-action.restore::after,
.icon-action.delete::before,
.icon-action.delete::after {
  content: "";
  position: absolute;
  box-sizing: border-box;
  mask-image: none;
  -webkit-mask-image: none;
  clip-path: none;
}

.stat-icon.people::before {
  top: 10px;
  left: 10px;
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
  box-shadow: 11px 3px 0 -2px #161616, 11px 3px 0 0 currentColor;
}

.stat-icon.people::after {
  left: 9px;
  bottom: 9px;
  width: 24px;
  height: 11px;
  border: 2px solid currentColor;
  border-top: 0;
  border-radius: 0 0 14px 14px;
  background: transparent;
}

.stat-icon.active::before,
.stat-icon.blocked::before {
  left: 12px;
  top: 12px;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
}

.stat-icon.active::after {
  left: 17px;
  top: 17px;
  width: 9px;
  height: 5px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  background: transparent;
  transform: rotate(-45deg);
}

.stat-icon.blocked::after {
  left: 14px;
  top: 20px;
  width: 14px;
  height: 2px;
  background: currentColor;
  transform: none;
}

.icon-action.whatsapp::before {
  left: 9px;
  top: 8px;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
}

.icon-action.whatsapp::after {
  left: 13px;
  bottom: 8px;
  width: 8px;
  height: 8px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  background: transparent;
  transform: rotate(-20deg);
}

.icon-action.whatsapp::before,
.icon-action.whatsapp::after {
  content: none;
  display: none;
}

.icon-action.edit::before {
  left: 10px;
  top: 15px;
  width: 17px;
  height: 6px;
  border: 2px solid currentColor;
  border-radius: 2px;
  background: transparent;
  transform: rotate(-45deg);
}

.icon-action.edit::after {
  right: 9px;
  bottom: 9px;
  width: 10px;
  height: 2px;
  background: currentColor;
}

.icon-action.ban::before,
.icon-action.restore::before {
  left: 10px;
  top: 10px;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: transparent;
}

.icon-action.ban::after {
  left: 11px;
  top: 18px;
  width: 16px;
  height: 2px;
  background: currentColor;
  transform: none;
}

.icon-action.restore::after {
  left: 15px;
  top: 16px;
  width: 9px;
  height: 5px;
  border-left: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  background: transparent;
  transform: rotate(-45deg);
}

.icon-action.delete::before {
  left: 12px;
  top: 13px;
  width: 14px;
  height: 15px;
  border: 2px solid currentColor;
  border-top: 0;
  border-radius: 0 0 3px 3px;
  background: transparent;
}

.icon-action.delete::after {
  top: 10px;
  left: 10px;
  width: 18px;
  height: 2px;
  background: currentColor;
}

.edit-page-shell {
  width: min(1280px, calc(100% - 36px));
  margin: 0 auto;
  padding: 30px 0 42px;
}

.edit-page-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.edit-title-row {
  display: flex;
  align-items: center;
  gap: 14px;
}

.edit-title-row h2 {
  margin: 0 0 4px;
  color: #ffffff;
  font-size: 1.5rem;
  line-height: 1.12;
}

.edit-title-row p {
  margin: 0;
  color: #9fa8b3;
}

.edit-title-icon,
.summary-icon,
.panel-mini-icon {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 8px;
  background: rgba(0, 200, 83, 0.16);
  color: #00d86a;
}

.edit-title-icon {
  width: 44px;
  height: 44px;
  border: 1px solid rgba(0, 200, 83, 0.35);
}

.summary-icon {
  width: 44px;
  height: 44px;
}

.panel-mini-icon {
  width: 18px;
  height: 18px;
  margin-right: 8px;
  background: transparent;
}

.edit-title-icon::before,
.summary-icon::before,
.panel-mini-icon::before {
  content: "";
  position: absolute;
  width: 18px;
  height: 18px;
  border: 0;
  border-radius: 0;
  background: currentColor;
  box-shadow: none;
  transform: none;
  clip-path: none;
  mask-position: center;
  mask-repeat: no-repeat;
  mask-size: contain;
  -webkit-mask-position: center;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-size: contain;
}

.edit-title-icon::after,
.summary-icon::after,
.panel-mini-icon::after {
  content: none;
}

.back-admin-link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 9px 18px;
  border: 1px solid #2f3338;
  border-radius: 8px;
  background: #121212;
  color: #ffffff;
  font-weight: 900;
}

.back-admin-link::before {
  content: "<";
  margin-right: 9px;
}

.edit-summary-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) repeat(3, minmax(220px, 0.8fr));
  gap: 14px;
  margin-bottom: 18px;
}

.edit-summary-card {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 98px;
  padding: 18px;
  border: 1px solid #343434;
  border-radius: 8px;
  background: #1b1b1b;
}

.edit-summary-card.profile {
  background: #181818;
}

.edit-summary-card div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.edit-summary-card small {
  color: #777f88;
  font-size: 0.72rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.rank-toggle-field span {
  display: flex;
  min-height: 52px;
  align-items: center;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid #343434;
  border-radius: 8px;
  background: #121212;
  color: #d8dee8;
  font-size: 0.9rem;
  font-weight: 850;
  text-transform: none;
}

.rank-toggle-field input {
  width: 18px;
  height: 18px;
  min-height: auto;
  accent-color: #905CAE;
}

.edit-summary-card strong {
  color: #ffffff;
  font-size: 1.02rem;
}

.edit-summary-card span:not(.freelancer-avatar):not(.summary-icon):not(.role-badge) {
  color: #9fa8b3;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.freelancer-avatar.ghost {
  border: 1px solid #2f3338;
  background: #0f1011;
  color: #00d86a;
}

.freelancer-avatar.large {
  width: 104px;
  height: 104px;
  font-size: 2rem;
  overflow: hidden;
}

.freelancer-avatar.has-image {
  background: #111111;
  color: transparent;
}

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

.freelancer-avatar img[hidden] {
  display: none;
}

.role-badge {
  display: inline-flex;
  width: max-content;
  min-height: 30px;
  align-items: center;
  padding: 5px 12px;
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.18);
  color: #905CAE;
  font-size: 0.82rem;
}

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

.edit-main-form,
.edit-side-column {
  display: grid;
  gap: 16px;
  align-content: start;
}

.edit-panel {
  overflow: hidden;
  border: 1px solid #343434;
  border-radius: 8px;
  background: #202020;
}

.edit-panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border-bottom: 1px solid #303030;
}

.edit-panel-head h3 {
  display: flex;
  align-items: center;
  margin: 0;
  color: #ffffff;
  font-size: 1rem;
}

.edit-panel-head span {
  color: #8f98a3;
  font-size: 0.86rem;
}

.edit-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 18px;
}

.edit-form-grid label {
  display: grid;
  gap: 7px;
  color: #aeb7c2;
  font-size: 0.74rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.edit-form-grid label.wide {
  grid-column: 1 / -1;
}

.edit-form-grid input,
.edit-form-grid select {
  min-height: 44px;
  border: 1px solid #343a40;
  border-radius: 8px;
  background: #111111;
  color: #ffffff;
  font: inherit;
  font-weight: 800;
}

.edit-form-grid input::placeholder {
  color: #5f6872;
}

.edit-warning {
  margin: 0 18px 18px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 173, 20, 0.5);
  border-radius: 8px;
  background: rgba(255, 173, 20, 0.08);
  color: #ffcf5b;
  font-size: 0.86rem;
  font-weight: 800;
}

.edit-save-row {
  display: flex;
  justify-content: flex-end;
  padding: 0 18px 18px;
}

.edit-save-row button,
.photo-button,
.photo-file-button {
  width: auto;
  min-height: 42px;
  border-color: #02b84f;
  background: #00c853;
  color: #031006;
}

.photo-panel {
  padding-bottom: 18px;
}

.photo-preview {
  display: grid;
  justify-items: center;
  gap: 7px;
  padding: 28px 20px 18px;
  text-align: center;
}

.photo-preview strong {
  color: #ffffff;
  font-size: 1.05rem;
}

.photo-preview small,
.photo-panel p {
  color: #9fa8b3;
}

.photo-button {
  width: calc(100% - 36px);
  margin: 0 18px;
}

.avatar-upload-form,
.avatar-remove-form {
  display: grid;
  gap: 10px;
  margin: 0 18px;
}

.photo-file-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 16px;
  border: 1px solid #02b84f;
  border-radius: 8px;
  font-weight: 950;
  cursor: pointer;
}

.photo-file-button input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.avatar-upload-form .photo-button {
  width: 100%;
  margin: 0;
}

.avatar-remove-form {
  margin-top: 10px;
}

.avatar-remove-form button {
  min-height: 40px;
  border-color: rgba(255, 77, 77, 0.55);
  background: rgba(255, 77, 77, 0.1);
  color: #ff7676;
}

.photo-panel p {
  margin: 14px 20px 0;
  text-align: center;
  font-size: 0.86rem;
}

.danger-card {
  display: grid;
  gap: 18px;
  padding: 18px;
  border: 1px solid rgba(255, 77, 77, 0.45);
  border-radius: 8px;
  background: linear-gradient(180deg, rgba(255, 77, 77, 0.12), rgba(255, 77, 77, 0.03));
}

.danger-card strong {
  display: block;
  margin-bottom: 24px;
  color: #ff5656;
  font-size: 1rem;
}

.danger-card span {
  display: block;
  color: #ffffff;
  font-weight: 900;
}

.danger-card p {
  max-width: 260px;
  margin: 6px 0 0;
  color: #c7cdd4;
  font-size: 0.9rem;
}

.danger-card button {
  width: auto;
  min-height: 40px;
  border-color: rgba(255, 77, 77, 0.65);
  background: rgba(255, 77, 77, 0.11);
  color: #ff7676;
}

.roadmap-card {
  margin-bottom: 32px;
}

@keyframes milestonePulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(144, 92, 174, 0.18);
  }

  50% {
    transform: scale(1.18);
    box-shadow: 0 0 0 8px rgba(144, 92, 174, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .progress span {
    transition: none;
  }

  .timeline li.done::before,
  .timeline li.current::before,
  .pulse-attention {
    animation: none;
  }
}

@media (max-width: 1180px) {
  .client-dashboard {
    grid-template-columns: minmax(240px, 0.32fr) minmax(0, 1fr);
    gap: 42px;
  }

  .client-dashboard .dashboard-side h1 {
    max-width: 280px;
    font-size: clamp(2rem, 3vw, 2.9rem);
  }

  .client-dashboard .dashboard-side p {
    max-width: 240px;
  }

  .dev-ops-page {
    grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
    gap: 28px;
  }

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

  .dev-public-feed {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dev-public-feed .dev-section-title {
    grid-column: 1 / -1;
  }
}

@media (max-width: 940px) {
  .topbar,
  .footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .nav {
    justify-content: flex-start;
  }

  .hero,
  .split-section,
  .form-layout,
  .dashboard-shell,
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .hire-way-showcase .hire-way-list {
    grid-template-columns: 1fr;
  }

  .hire-way-showcase .hire-way-list li {
    grid-template-columns: 38px minmax(0, 1fr);
    justify-items: start;
    min-height: 0;
    padding: 12px;
    text-align: left;
  }

  .dashboard-side {
    position: static;
  }

  .dev-ops-page,
  .dev-work-grid {
    grid-template-columns: 1fr;
  }

  .dev-ops-page {
    width: min(100% - 24px, 720px);
    margin-top: 34px;
  }

  .dev-ops-side {
    position: static;
  }

  .dev-ops-hero {
    align-items: stretch;
    flex-direction: column;
  }

  .dev-ops-stats,
  .dev-work-summary,
  .dev-public-feed {
    grid-template-columns: 1fr;
  }

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

  .floating-chat-button {
    right: 18px;
    bottom: 18px;
  }

  .payment-callout-dialog {
    top: 50%;
    right: auto;
    bottom: auto;
    left: 50%;
    width: min(520px, calc(100vw - 28px));
    max-height: calc(100dvh - 28px);
    padding: 20px;
  }

  .payment-callout-close {
    top: 12px;
    right: 12px;
  }

  .payment-callout-heading {
    grid-template-columns: 42px minmax(0, 1fr);
    gap: 11px;
    padding-right: 30px;
  }

  .payment-callout-icon {
    width: 42px;
    height: 42px;
  }

  .payment-callout-dialog h2 {
    font-size: clamp(1.4rem, 6.4vw, 1.75rem);
  }

  .payment-callout-intro {
    margin-top: 14px;
    font-size: 0.93rem;
  }

  .payment-callout-value {
    margin: 16px 0;
    padding: 14px;
  }

  .payment-callout-benefits {
    gap: 6px;
    margin-bottom: 16px;
  }

  .payment-callout-benefits li {
    min-height: 48px;
    padding: 7px 9px;
  }

  .payment-callout-pay {
    min-height: 52px;
  }

  .sales-showcase-callout {
    left: 12px;
    right: 12px;
    bottom: 88px;
    grid-template-columns: 1fr auto;
    gap: 12px;
    width: auto;
    padding: 12px;
    transform: translateY(16px);
  }

  .sales-showcase-callout.open {
    transform: translateY(0);
  }

  .sales-showcase-coins {
    grid-column: 1 / -1;
    height: 76px;
  }

  .sales-showcase-coins img {
    bottom: -25px;
    width: 88px;
    height: 88px;
  }

  .sales-showcase-coins .bronze {
    left: calc(50% - 118px);
  }

  .sales-showcase-coins .prata {
    left: calc(50% - 44px);
  }

  .sales-showcase-coins .ouro {
    left: calc(50% + 30px);
  }

  .sales-showcase-copy {
    grid-column: 1 / -1;
  }

  .sales-showcase-cta {
    grid-column: 1;
    min-height: 48px;
    padding: 0 16px;
  }

  .sales-showcase-close {
    grid-column: 2;
    grid-row: 3;
  }

  .floating-chat-panel {
    top: max(12px, env(safe-area-inset-top));
    left: 12px;
    right: 12px;
    bottom: max(88px, calc(env(safe-area-inset-bottom) + 76px));
    width: auto;
    height: auto;
    max-height: none;
    grid-template-rows: auto minmax(0, 1fr) auto;
    transform-origin: bottom center;
  }

  .platform-chat-panel {
    grid-template-rows: auto minmax(0, 1fr) auto auto;
  }

  .platform-chat-panel {
    left: 18px;
    right: 18px;
    bottom: max(88px, calc(env(safe-area-inset-bottom) + 76px));
    width: auto;
    max-height: none;
    transform-origin: bottom center;
  }

  body.mascot-chat-open .freela-mascot {
    opacity: 0;
    transform: translateY(14px) scale(0.68);
  }

  .floating-chat-panel header {
    grid-template-columns: auto minmax(0, 1fr);
    padding: 12px 54px 12px 12px;
  }

  .platform-chat-panel header {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 10px;
    min-width: 0;
  }

  .platform-chat-panel .platform-chat-brand-3d {
    width: 56px;
    height: 56px;
  }

  .platform-chat-panel .chat-avatar-stack {
    display: none;
  }

  .platform-chat-panel header > div {
    min-width: 0;
  }

  .floating-chat-panel header small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .floating-chat-messages {
    padding: 12px;
  }

  .chat-bubble {
    max-width: 100%;
  }

  .floating-chat-input {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    padding: 12px;
  }

  .floating-chat-input input {
    min-width: 0;
  }

  .floating-chat-input button {
    width: auto;
    min-width: 104px;
    padding-inline: 18px;
  }

  .client-dashboard {
    padding-top: 28px;
  }

  .client-dashboard .dashboard-side h1,
  .client-dashboard .dashboard-side p {
    max-width: 680px;
  }

  .client-hub-summary {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .proposal-card {
    align-items: stretch;
    flex-direction: column;
  }

  .proposal-card button,
  .proposal-card .btn {
    width: 100%;
    min-width: 0;
  }

  .delivery-confirm-card {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .delivery-confirm-card button {
    width: 100%;
    min-width: 0;
  }

  .client-project-vision-card {
    gap: 18px;
    padding: 18px;
  }

  .client-project-vision-body {
    grid-template-columns: 1fr;
  }

  .client-stage-detail {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .client-stage-marker {
    width: 38px;
    height: 38px;
    border-radius: 12px;
  }

  .client-stage-title {
    display: grid;
    gap: 4px;
  }

  .client-stage-title span {
    text-align: left;
  }

  .client-stage-message-list {
    max-height: 260px;
  }

  .workflow-grid,
  .talent-grid,
  .kanban,
  .metrics-band,
  .master-stats,
  .master-grid {
    grid-template-columns: 1fr;
  }

  .master-console {
    grid-template-columns: 1fr;
  }

  .master-sidebar {
    position: static;
    height: auto;
    max-height: none;
  }

  .master-hero,
  .master-topbar,
  .master-card-head {
    align-items: stretch;
    flex-direction: column;
  }

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

  .freelancer-admin-card {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .freelancer-avatar {
    width: 44px;
    height: 44px;
  }

  .freelancer-title-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .management-stats,
  .management-filters,
  .modal-field-grid,
  .edit-summary-grid,
  .edit-layout,
  .edit-form-grid,
  .subscription-showcase-body,
  .subscription-feature-grid,
  .subscription-repeat-grid.feature-repeat,
  .subscription-repeat-grid > div,
  .admin-security-layout,
  .admin-security-passwords,
  .profile-hero,
  .profile-grid,
  .profile-columns,
  .job-board-grid,
  .public-job-grid {
    grid-template-columns: 1fr;
  }

  .profile-portfolio-form,
  .profile-portfolio-list > article {
    grid-template-columns: 1fr;
  }

  .profile-portfolio-description,
  .profile-portfolio-form > button {
    grid-column: auto;
  }

  .profile-portfolio-list form button {
    width: 100%;
  }

  .admin-settings-subnav {
    display: grid;
    grid-template-columns: 1fr;
  }

  .subscription-showcase {
    padding: 22px;
  }

  .subscription-info-card {
    width: 100%;
  }

  .refined-price-card {
    padding: 22px;
  }

  .refined-price-head,
  .refined-price-grid,
  .refined-feature-grid,
  .rank-vitrine-panel,
  .refined-info-card {
    grid-template-columns: 1fr;
  }

  .refined-price-grid {
    gap: 24px;
  }

  .refined-plan-tabs {
    width: 100%;
  }

  .refined-plan-tabs label,
  .refined-plan-tabs.static span {
    min-height: 42px;
    font-size: 0.9rem;
  }

  .refined-info-card::before,
  .refined-info-card strong,
  .refined-info-card p,
  .refined-info-card span,
  .refined-info-card a {
    grid-column: 1;
  }

  .route-preco .pricing-page {
    width: min(100% - 22px, 620px);
    padding: 34px 0 48px;
  }

  .route-preco .pricing-head {
    text-align: left;
  }

  .route-preco .refined-price-card,
  .subscription-preview-card .refined-price-card {
    max-width: 100%;
    padding: 20px;
  }

  .route-preco .refined-price-grid,
  .subscription-preview-card .refined-price-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .route-preco .refined-feature-grid,
  .subscription-preview-card .refined-feature-grid {
    grid-template-columns: 1fr;
  }

  .route-preco .refined-price-value strong,
  .subscription-preview-card .refined-price-value strong {
    font-size: clamp(2rem, 12vw, 2.75rem);
  }

  .profile-page {
    width: min(100% - 24px, 620px);
    padding-top: 34px;
  }

  .profile-hero {
    gap: 18px;
  }

  .profile-plan-validity {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 14px;
    padding: 70px 17px 17px;
  }

  .profile-plan-validity-icon {
    width: 48px;
    height: 48px;
  }

  .profile-plan-validity-icon img {
    width: 64px;
    height: 64px;
  }

  .profile-plan-validity-art {
    top: 8px;
    right: 9px;
    width: 92px;
    height: 92px;
    transform: none;
  }

  .profile-plan-validity.is-renewal .profile-plan-validity-copy > .eyebrow {
    left: 17px;
    transform: translateY(-50%);
  }

  .profile-plan-validity form,
  .profile-plan-validity > a {
    grid-column: 1 / -1;
    width: 100%;
  }

  .profile-plan-validity button {
    width: 100%;
  }

  .profile-earnings-summary { padding: 17px; }
  .profile-earnings-summary > header { display: grid; gap: 7px; }
  .profile-earnings-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .talent-card {
    min-height: 0;
  }

  .talent-profile {
    grid-template-columns: 72px 1fr;
  }

  .talent-profile img {
    width: 72px;
    height: 72px;
    border-radius: 18px;
  }

  .profile-card-head {
    display: grid;
  }

  .profile-card-head small {
    max-width: none;
    text-align: left;
  }

  .job-section-head {
    align-items: stretch;
    flex-direction: column;
  }

  .edit-page-head,
  .edit-panel-head {
    align-items: stretch;
    flex-direction: column;
  }

  .edit-page-shell {
    width: min(100% - 24px, 1280px);
    padding-top: 22px;
  }

  .edit-form-grid label.wide {
    grid-column: auto;
  }

  .back-admin-link,
  .edit-save-row button,
  .danger-card button {
    justify-content: center;
    width: 100%;
  }

  .edit-save-row {
    justify-content: stretch;
  }

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

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

  .topbar-inner {
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    min-height: 72px;
    padding: 10px 0;
  }

  body:not(.route-admin-mestre) .brand {
    gap: 0;
  }

  body:not(.route-admin-mestre) .brand-mark {
    width: 54px;
    height: 54px;
  }

  body:not(.route-admin-mestre) .brand-mark img {
    object-fit: contain;
    filter: drop-shadow(0 10px 14px rgba(7, 66, 30, 0.24));
  }

  .mega-nav {
    display: none;
  }

  .top-actions {
    justify-content: flex-end;
    width: auto;
    gap: 10px;
  }

  .top-actions .theme-light-toggle {
    position: relative;
    left: 8px;
  }

  .top-plan-badge {
    position: absolute;
    top: 50%;
    left: 58px;
    z-index: 2;
    width: 104px;
    height: 82px;
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: translateY(-50%);
  }

  .top-plan-badge img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: drop-shadow(0 13px 15px rgba(20, 24, 30, 0.26));
  }

  .top-plan-badge + .profile-menu {
    margin-left: 104px;
  }

  .top-plan-badge span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    clip-path: inset(50%);
  }

  .nav-item {
    min-height: 48px;
  }

  body:not(.route-admin-mestre) .nav a {
    min-height: 48px;
  }

  .mega-menu {
    top: 48px;
    left: 0;
    grid-template-columns: 1fr;
    width: min(680px, calc(100vw - 36px));
    transform: translate(0, -8px);
  }

  .mega-menu-content {
    padding-right: 0;
    border-right: 0;
  }

  .mega-visual-card {
    min-height: 210px;
  }

  .mega-visual-card img {
    width: 165px;
    max-height: 210px;
  }

  .nav-item:hover .mega-menu,
  .nav-item:focus-within .mega-menu {
    transform: translate(0, 0);
  }

  .theme-light-toggle,
  .menu-toggle {
    display: inline-grid;
  }

  .login-link {
    width: 42px;
    min-height: 42px;
  }

  .mobile-menu {
    display: none;
    width: min(100% - 24px, 480px);
    margin: 0 auto 14px;
    padding: 10px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
    transform-origin: top right;
  }

  .mobile-menu.open {
    display: grid;
    gap: 8px;
    animation: mobile-menu-drop 220ms ease-out both;
  }

  .mobile-menu a,
  .mobile-menu-button {
    display: flex;
    min-height: 48px;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    font-weight: 900;
    opacity: 0;
    transform: translateY(-6px);
    animation: mobile-item-in 260ms ease-out forwards;
  }

  .mobile-menu-tab {
    justify-content: flex-start;
    width: 100%;
    font-size: 1.05rem;
    font-weight: 950;
  }

  .mobile-menu-tab.open {
    color: var(--accent);
    background: color-mix(in srgb, var(--accent) 7%, transparent);
  }

  .mobile-menu-panel {
    display: none;
    gap: 12px;
    margin: -2px 0 6px;
    padding: 14px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background:
      linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.07)),
      var(--surface);
  }

  .mobile-menu-panel.open {
    display: grid;
    animation: mobile-menu-drop 180ms ease-out both;
  }

  .mobile-menu-panel h3 {
    margin: 0;
    font-size: 1.18rem;
    line-height: 1.08;
  }

  .mobile-menu-panel .mega-action {
    grid-template-columns: 38px 1fr;
    gap: 10px;
    padding: 10px 0 !important;
  }

  .mobile-menu-panel .mega-action-icon {
    width: 38px;
    height: 38px;
  }

  .mobile-menu-panel .mega-action-icon svg {
    width: 22px;
    height: 22px;
  }

  .mobile-menu-panel .mega-flat-cta {
    width: 100%;
    min-height: 44px !important;
    margin-top: 2px;
  }

.mobile-menu a + a,
.mobile-menu a + .mobile-menu-button,
.mobile-menu-button + a,
.mobile-menu-panel + a,
.mobile-menu-panel + .mobile-menu-button {
  border-top: 1px solid var(--line);
}

  .mobile-logout-form {
    margin: 0;
    border-top: 1px solid var(--line);
  }

  .mobile-logout-form button {
    display: flex;
    width: 100%;
    min-height: 48px;
    align-items: center;
    gap: 12px;
    padding: 8px 10px;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--ink);
    box-shadow: none;
    font-weight: 900;
    text-align: left;
    opacity: 0;
    transform: translateY(-6px);
    animation: mobile-item-in 260ms ease-out forwards;
  }

  .mobile-menu.open a:nth-child(1) {
    animation-delay: 30ms;
  }

  .mobile-menu.open a:nth-child(2) {
    animation-delay: 70ms;
  }

  .mobile-menu.open a:nth-child(3) {
    animation-delay: 110ms;
  }

  .mobile-menu.open a:nth-child(4) {
    animation-delay: 150ms;
  }

  .mobile-menu.open .mobile-menu-button {
    animation-delay: 190ms;
  }

  .mobile-menu.open .mobile-logout-form button {
    animation-delay: 230ms;
  }

  body.theme-dark:not(.route-admin-mestre) .mobile-menu a,
  body.theme-dark:not(.route-admin-mestre) .mobile-menu-button {
    background: transparent;
    color: var(--ink);
  }

  .playful-hero {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .playful-hero .hero-copy,
  .playful-hero .hero-visual {
    order: initial;
  }

  .hero-visual {
    min-height: 430px;
  }

  .metrics-band article {
    border-right: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  }

  .metrics-band article:last-child {
    border-bottom: 0;
  }
}

/* Destaque final da fila aceita: prevalece sobre os fundos globais do tema dark. */
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card {
  border-color: rgba(197, 126, 239, 0.68);
  background:
    radial-gradient(circle at 92% 12%, rgba(222, 169, 255, 0.3), transparent 36%),
    linear-gradient(135deg, #291136 0%, #51236a 52%, #78399a 100%);
  color: #ffffff;
  box-shadow: 0 14px 32px rgba(77, 29, 101, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card span {
  color: rgba(255, 255, 255, 0.78);
}

body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card.active {
  border-color: rgba(43, 255, 0, 0.86);
  background:
    radial-gradient(circle at 92% 12%, rgba(43, 255, 0, 0.2), transparent 36%),
    linear-gradient(135deg, #291136 0%, #51236a 52%, #78399a 100%);
  box-shadow: inset 5px 0 0 var(--brand), 0 16px 34px rgba(77, 29, 101, 0.38), 0 0 0 2px rgba(43, 255, 0, 0.12);
}

/* Visualização de senha sem cápsula: somente o olho com meia opacidade. */
body:not(.route-admin-mestre) .auth-password-toggle,
body:not(.route-admin-mestre) .auth-password-toggle:hover,
body:not(.route-admin-mestre) .auth-password-toggle:focus-visible,
body:not(.route-admin-mestre) .auth-password-toggle.is-visible,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle:hover,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle:focus-visible,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle.is-visible {
  border: 0;
  border-radius: 0;
  background: transparent !important;
  opacity: 0.5;
  box-shadow: none !important;
  top: calc(50% - 5px);
  transform: translateY(-50%);
}

@media (max-width: 560px) {
  .auth-modal {
    align-items: start;
    padding: 12px;
  }

  .auth-card {
    gap: 12px;
    max-height: calc(100dvh - 24px);
    padding: 22px 18px 18px;
  }

  .auth-card h2 {
    font-size: 1.72rem;
  }

  .auth-card p {
    font-size: 0.95rem;
    line-height: 1.45;
  }

  .auth-tabs button,
  .auth-primary,
  .auth-secondary {
    min-height: 46px;
  }

  .auth-form,
  .auth-step {
    gap: 10px;
  }

  .auth-form input,
  .auth-form select {
    min-height: 48px;
  }

  .auth-step-actions {
    grid-template-columns: 1fr;
  }

  .hero,
  .section,
  .split-section,
  .page-head,
  .form-layout,
  .dashboard-shell,
  .talent-grid,
  .metrics-band {
    width: min(100% - 24px, 1180px);
  }

  .hero h1,
  .page-head h1,
  .dashboard-side h1 {
    font-size: 2.35rem;
  }

  .field-grid,
  .hire-option-groups,
  .chat-input,
  .model-compare,
  .ai-analysis-grid,
  .ai-showcase-meta,
  .ai-showcase-actions,
  .assistant-plan-grid,
  .assistant-plan-mini-grid,
  .client-plan-card,
  .client-hub-summary,
  .profile-identity-card,
  .profile-photo-preview {
    grid-template-columns: 1fr;
  }

  .hire-choice-group,
  .hire-choice-group.wide {
    grid-template-columns: 1fr;
  }

  .hire-priority-panel .assistant-plan-head,
  .hire-priority-visual,
  .hire-option-groups {
    grid-template-columns: 1fr;
  }

  .hire-impact-card.reach {
    grid-template-columns: 1fr;
  }

  .hire-impact-card.reach > span,
  .hire-impact-card.reach > strong,
  .hire-impact-card.reach .hire-reach-flow,
  .hire-budget-impact {
    grid-column: 1;
  }

  .hire-budget-impact {
    grid-row: auto;
    min-height: 118px;
  }

  .hire-plan-coin {
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: 62px;
    margin: 0;
  }

  .hire-choice-group label:has(.hire-plan-coin) span {
    padding-right: 72px;
  }

  .hire-impact-card {
    min-height: 96px;
  }

  .profile-page {
    width: min(100% - 20px, 480px);
    padding-bottom: 56px;
  }

  .profile-hero h1 {
    font-size: 2.3rem;
  }

  .profile-identity-card,
  .profile-photo-preview {
    display: grid;
    justify-items: start;
  }

  .ai-analysis-head {
    display: grid;
  }

  .btn,
  button {
    width: 100%;
  }

  .topbar-inner {
    width: min(100% - 20px, 480px);
    gap: 8px;
  }

  body:not(.route-admin-mestre) .brand strong {
    font-size: 1rem;
  }

  body:not(.route-admin-mestre) .brand small {
    font-size: 0.75rem;
  }

  .top-actions {
    flex-direction: row;
    align-items: center;
    gap: 10px;
  }

  .top-actions button,
  .login-link,
  .theme-light-toggle,
  .menu-toggle {
    width: auto;
  }

  .top-actions .theme-light-toggle,
  .top-actions .menu-toggle {
    width: 40px;
    min-height: 40px;
  }

  .top-actions .menu-toggle {
    width: 46px;
    min-height: 40px;
  }

  .login-link {
    width: 40px;
    min-height: 40px;
  }

  .nav-item {
    display: grid;
  }

  .mega-menu {
    position: static;
    display: none;
    width: 100%;
    margin-top: 0;
    padding: 16px;
    opacity: 1;
    pointer-events: auto;
    transform: none;
  }

  .nav-item:hover .mega-menu,
  .nav-item:focus-within .mega-menu {
    display: grid;
    transform: none;
  }

  .playful-hero h1 {
    font-size: 2.15rem;
  }

  .hero-visual {
    min-height: 360px;
  }

  .orbit-card.main {
    width: min(300px, 86vw);
    min-height: 280px;
  }

  .floating-token {
    min-height: 40px;
    padding: 0 12px;
    font-size: 0.84rem;
  }
}

.dev-command-page .dev-section-title {
  display: flex;
  align-items: flex-start;
  flex-direction: column;
  justify-content: flex-start;
  gap: 2px;
}

.dev-command-page .dev-section-title h2 {
  margin: 0;
  font-size: 1.12rem;
}

@media (max-width: 560px) {
  .floating-chat-button {
    width: 64px;
    min-width: 64px;
    height: 64px;
    min-height: 64px;
    aspect-ratio: 1 / 1;
    padding: 0;
    border-radius: 50%;
  }

  .floating-chat-panel header button,
  .floating-chat-input button {
    width: auto;
  }
}

.withdraw-page {
  width: min(100% - 32px, 1160px);
  margin: 44px auto 80px;
}

.withdraw-hero,
.withdraw-user,
.withdraw-balance-card,
.withdraw-balance-actions,
.withdraw-job-card,
.withdraw-request-card,
.withdraw-dialog-actions {
  display: flex;
  align-items: center;
}

.withdraw-hero {
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 22px;
}

.withdraw-hero-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  flex-wrap: wrap;
}

.withdraw-pix-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  border: 1px solid rgba(43, 255, 0, 0.38);
  border-radius: 14px;
  background: linear-gradient(135deg, #2bff00, #2bff00);
  color: #fff;
  font: inherit;
  font-weight: 1000;
  padding: 0 18px;
  cursor: pointer;
  box-shadow: 0 14px 32px rgba(43, 255, 0, 0.2);
  animation: withdrawPixTogglePulse 1.65s ease-in-out infinite;
}

.withdraw-pix-toggle .pix-status-dot {
  width: 10px;
  height: 10px;
  flex-basis: 10px;
  margin: 0;
  background: #fff;
  box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.18);
}

.withdraw-pix-toggle.is-confirmed,
.withdraw-pix-toggle.is-open {
  animation: none;
}

.withdraw-pix-toggle.is-confirmed {
  border-color: rgba(43, 255, 0, 0.55);
  background: linear-gradient(135deg, #1fb34f, #0f8d3c);
}

.withdraw-pix-toggle:focus-visible {
  outline: 3px solid rgba(144, 92, 174, 0.28);
  outline-offset: 3px;
}

@keyframes withdrawPixTogglePulse {
  0%,
  100% {
    transform: translateY(0) scale(1);
    box-shadow: 0 14px 32px rgba(43, 255, 0, 0.2);
  }

  50% {
    transform: translateY(-1px) scale(1.025);
    box-shadow: 0 18px 42px rgba(43, 255, 0, 0.34);
  }
}

.withdraw-user {
  gap: 14px;
}

.withdraw-user > span {
  display: grid;
  width: 48px;
  height: 48px;
  place-items: center;
  border: 2px solid rgba(43, 255, 0, 0.35);
  border-radius: 999px;
  color: var(--brand);
  font-weight: 950;
}

.withdraw-user small,
.withdraw-balance-card p,
.withdraw-panel small,
.withdraw-empty {
  color: var(--muted);
}

.withdraw-user strong {
  display: block;
  font-size: 1.2rem;
}

.withdraw-balance-card {
  justify-content: space-between;
  gap: 24px;
  min-height: 260px;
  padding: clamp(24px, 4vw, 48px);
  border-radius: 28px;
  background: radial-gradient(circle at 94% 12%, rgba(255, 255, 255, 0.18), transparent 24%), linear-gradient(135deg, #11bd35, #02d24b);
  color: #041509;
  box-shadow: 0 28px 70px rgba(43, 255, 0, 0.28);
}

.withdraw-balance-card h1 {
  margin: 8px 0 10px;
  font-size: clamp(3rem, 8vw, 6rem);
  line-height: 0.95;
  letter-spacing: 0;
}

.withdraw-balance-actions {
  align-items: stretch;
  flex-direction: column;
  width: min(100%, 430px);
  gap: 12px;
}

.withdraw-balance-actions span,
.withdraw-balance-actions small {
  padding: 12px 16px;
  border-radius: 8px;
  background: rgba(0, 0, 0, 0.1);
  font-weight: 800;
}

.withdraw-balance-actions button,
.withdraw-dialog-actions button:last-child,
.withdraw-dialog.success button {
  border: 0;
  border-radius: 8px;
  background: #080d0a;
  color: #2bff00;
  font-weight: 950;
  box-shadow: 0 8px 0 rgba(0, 0, 0, 0.14);
}

.withdraw-balance-actions button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.withdraw-pix-status-card {
  display: grid;
  gap: 18px;
  margin-top: 22px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid rgba(245, 185, 66, 0.34);
  border-radius: 22px;
  background:
    radial-gradient(circle at 92% 14%, rgba(245, 185, 66, 0.16), transparent 26%),
    linear-gradient(135deg, rgba(255, 251, 235, 0.9), rgba(255, 255, 255, 0.78));
  box-shadow: 0 20px 54px rgba(15, 23, 42, 0.06);
}

.withdraw-pix-status-card[hidden] {
  display: none;
}

.withdraw-pix-status-card.is-revealed {
  animation: withdrawPixPanelReveal 220ms ease both;
}

@keyframes withdrawPixPanelReveal {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.withdraw-pix-status-card.is-confirmed {
  border-color: rgba(43, 255, 0, 0.36);
  background:
    radial-gradient(circle at 92% 14%, rgba(43, 255, 0, 0.16), transparent 26%),
    linear-gradient(135deg, rgba(236, 253, 245, 0.95), rgba(255, 255, 255, 0.78));
}

.withdraw-pix-status-head {
  display: flex;
  align-items: flex-start;
  gap: 14px;
}

.pix-status-dot {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
  margin-top: 8px;
  border-radius: 999px;
  background: #f5b942;
  box-shadow: 0 0 0 6px rgba(245, 185, 66, 0.16);
  animation: pixPendingPulse 1.35s ease-in-out infinite;
}

.withdraw-pix-status-card.is-confirmed .pix-status-dot {
  background: var(--green);
  box-shadow: 0 0 0 6px rgba(43, 255, 0, 0.16);
  animation: none;
}

@keyframes pixPendingPulse {
  0%,
  100% {
    transform: scale(1);
    box-shadow: 0 0 0 6px rgba(245, 185, 66, 0.16);
  }

  50% {
    transform: scale(1.18);
    box-shadow: 0 0 0 12px rgba(245, 185, 66, 0);
  }
}

.withdraw-pix-status-card h2 {
  margin: 4px 0 6px;
  color: var(--text);
  font-size: clamp(1.35rem, 3vw, 2rem);
  letter-spacing: 0;
}

.withdraw-pix-status-card p {
  max-width: 680px;
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.withdraw-pix-form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: end;
}

.withdraw-pix-form label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 1000;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.withdraw-pix-form input {
  min-height: 52px;
  border: 1px solid rgba(15, 23, 42, 0.12);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.88);
  color: var(--text);
  font: inherit;
  font-weight: 900;
  padding: 0 16px;
  outline: none;
}

.withdraw-pix-form input:focus {
  border-color: rgba(144, 92, 174, 0.62);
  box-shadow: 0 0 0 4px rgba(144, 92, 174, 0.12);
}

.withdraw-pix-form button {
  min-height: 52px;
  border: 0;
  border-radius: 12px;
  background: var(--green);
  color: #fff;
  font-weight: 1000;
  padding: 0 22px;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(43, 255, 0, 0.2);
}

.withdraw-request-card span.is-paid {
  border-color: rgba(43, 255, 0, 0.28);
  background: rgba(43, 255, 0, 0.14);
  color: #0da23e;
}

.socio-paid-highlight {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) minmax(260px, auto);
  align-items: center;
  gap: 20px;
  margin-top: 18px;
  padding: clamp(20px, 3vw, 30px);
  border: 1px solid rgba(214, 170, 78, 0.48);
  border-radius: 20px;
  background:
    radial-gradient(circle at 92% 0%, rgba(214, 170, 78, 0.24), transparent 36%),
    linear-gradient(135deg, rgba(43, 255, 0, 0.13), rgba(255, 255, 255, 0.96) 45%, rgba(144, 92, 174, 0.11));
  color: #111827;
  box-shadow: 0 22px 54px rgba(214, 170, 78, 0.12);
}

.socio-paid-highlight.is-embedded {
  margin-top: 0;
  border-radius: 16px;
  background:
    linear-gradient(90deg, rgba(43, 255, 0, 0.1), rgba(255, 255, 255, 0.82) 48%, rgba(214, 170, 78, 0.12));
  box-shadow: none;
}

.socio-paid-seal {
  display: grid;
  width: 68px;
  height: 68px;
  place-items: center;
  border: 2px solid rgba(214, 170, 78, 0.7);
  border-radius: 50%;
  background: #2bff00;
  color: #07160d;
  font-size: 2rem;
  font-weight: 1000;
  box-shadow: 0 0 0 8px rgba(43, 255, 0, 0.11);
}

.socio-paid-highlight h2 {
  margin: 5px 0;
  color: #111827;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1;
}

.socio-paid-highlight p {
  max-width: 700px;
  margin: 0;
  color: #5f6878;
}

.socio-paid-summary {
  display: grid;
  gap: 5px;
  min-width: 260px;
  padding: 17px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.76);
}

.socio-paid-summary span {
  color: #9a742c;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.socio-paid-summary strong {
  color: #111827;
  font-size: 1.55rem;
}

.socio-paid-summary small {
  color: #5f6878;
}

.socio-profit-card {
  position: relative;
  isolation: isolate;
  display: grid;
  gap: 20px;
  margin-top: 22px;
  padding: clamp(22px, 3vw, 34px);
  overflow: hidden;
  border: 1px solid rgba(144, 92, 174, 0.2);
  border-radius: 24px;
  background:
    radial-gradient(circle at 10% 0%, rgba(43, 255, 0, 0.14), transparent 28%),
    radial-gradient(circle at 95% 6%, rgba(214, 170, 78, 0.18), transparent 30%),
    linear-gradient(135deg, #ffffff 0%, #f9fff9 58%, #f7f1ff 100%);
  color: #121721;
  box-shadow: 0 26px 66px rgba(18, 23, 33, 0.08);
}

.socio-profit-card::before {
  content: "";
  position: absolute;
  inset: 12px;
  z-index: -1;
  border: 1px solid rgba(214, 170, 78, 0.18);
  border-radius: 18px;
  pointer-events: none;
}

.socio-profit-card::after {
  content: none;
}

.socio-profit-card.is-socio-preview {
  border-color: rgba(214, 170, 78, 0.36);
}

.socio-profit-card.is-socio-preview .socio-profit-share {
  border-color: rgba(214, 170, 78, 0.5);
  box-shadow: 0 18px 46px rgba(214, 170, 78, 0.12);
}

.socio-profit-head,
.socio-profit-footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(340px, max-content);
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.socio-profit-head h2 {
  margin: 8px 0;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 0.95;
}

.socio-profit-head p,
.socio-profit-share span,
.socio-profit-metrics small,
.socio-profit-footer small,
.socio-profit-ledger small {
  color: #5f6878;
}

.socio-profit-share {
  display: grid;
  gap: 4px;
  width: min(100%, 420px);
  min-width: min(100%, 340px);
  padding: 18px;
  border: 1px solid rgba(214, 170, 78, 0.34);
  border-radius: 18px;
  background:
    radial-gradient(circle at 18% 20%, rgba(214, 170, 78, 0.18), transparent 35%),
    rgba(255, 255, 255, 0.72);
  backdrop-filter: blur(10px);
}

.socio-profit-share small,
.socio-profit-metrics span,
.socio-profit-footer span {
  color: #e5bc63;
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.socio-profit-share strong {
  color: #2bff00;
  font-size: clamp(2rem, 4.4vw, 4.1rem);
  line-height: 1;
  white-space: nowrap;
}

.socio-profit-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.socio-profit-metrics article {
  display: grid;
  gap: 8px;
  min-height: 148px;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.72);
  transition: transform 160ms ease, border-color 160ms ease;
}

.socio-profit-metrics article:hover {
  border-color: rgba(214, 170, 78, 0.42);
  transform: translateY(-2px);
}

.socio-profit-metrics strong {
  color: #111827;
  font-size: clamp(1.4rem, 2.35vw, 2.25rem);
  line-height: 1.05;
  white-space: nowrap;
}

.socio-profit-footer {
  padding: 16px;
  grid-template-columns: minmax(0, 1fr) minmax(220px, max-content);
  border: 1px solid rgba(43, 255, 0, 0.22);
  border-radius: 16px;
  background: rgba(43, 255, 0, 0.07);
}

.socio-profit-footer strong {
  display: block;
  margin: 4px 0;
  color: #111827;
  font-size: 1.2rem;
}

.socio-profit-footer button {
  min-height: 48px;
  min-width: 220px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #2bff00, var(--accent));
  color: #fff;
  font-weight: 950;
}

.socio-profit-footer button:disabled {
  background: #e5e7eb;
  color: #5f6878;
  cursor: not-allowed;
}

.socio-upgrade-form {
  margin: 0;
}

.socio-profit-upgrade {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 48px;
  min-width: 240px;
  border: 0;
  border-radius: 10px;
  background: linear-gradient(135deg, #2bff00 0%, #2bff00 48%, #d6aa4e 100%);
  color: #fff;
  font-weight: 1000;
  cursor: pointer;
  box-shadow: 0 16px 34px rgba(43, 255, 0, 0.24);
  animation: socioUpgradePulse 2.6s ease-in-out infinite;
}

.socio-profit-upgrade::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(100deg, transparent 0%, rgba(255, 255, 255, 0.32) 42%, transparent 68%);
  transform: translateX(-120%);
  animation: socioUpgradeShine 3.2s ease-in-out infinite;
}

@keyframes socioUpgradePulse {
  0%,
  100% {
    transform: translateY(0);
    box-shadow: 0 16px 34px rgba(43, 255, 0, 0.24);
  }

  50% {
    transform: translateY(-1px);
    box-shadow: 0 22px 42px rgba(214, 170, 78, 0.2);
  }
}

@keyframes socioUpgradeShine {
  0%,
  35% {
    transform: translateX(-120%);
  }

  70%,
  100% {
    transform: translateX(120%);
  }
}

.socio-profit-ledger {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.socio-profit-ledger > section {
  display: grid;
  align-content: start;
  gap: 10px;
  max-height: 440px;
  overflow: auto;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.14);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.78);
  scrollbar-color: rgba(144, 92, 174, 0.5) transparent;
  scrollbar-width: thin;
}

.socio-profit-ledger > section::-webkit-scrollbar {
  width: 6px;
}

.socio-profit-ledger > section::-webkit-scrollbar-track {
  background: transparent;
}

.socio-profit-ledger > section::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.45);
}

.socio-profit-ledger h3 {
  margin: 0 0 4px;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
}

.ledger-chart {
  position: relative;
  display: grid;
  grid-template-rows: auto 214px;
  gap: 11px;
  min-height: 260px;
  margin: 2px 0 8px;
  overflow: hidden;
  padding: 14px 16px 10px;
  border: 1px solid rgba(144, 92, 174, 0.16);
  border-radius: 16px;
  background:
    radial-gradient(circle at 86% 5%, rgba(43, 255, 0, 0.1), transparent 30%),
    linear-gradient(145deg, rgba(144, 92, 174, 0.1), rgba(43, 255, 0, 0.035));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08), 0 12px 26px rgba(10, 14, 20, 0.08);
}

.ledger-chart-legend {
  display: flex;
  align-items: center;
  gap: 16px;
  color: #4b5563;
  font-size: 0.72rem;
  font-weight: 800;
}

.ledger-chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 9px;
  border: 1px solid rgba(144, 92, 174, 0.13);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.48);
}

.ledger-chart-legend span::before {
  flex: 0 0 8px;
  width: 8px;
  min-width: 8px;
  max-width: 8px;
  height: 8px;
  min-height: 8px;
  max-height: 8px;
  border-radius: 999px;
  aspect-ratio: 1 / 1;
  background: #905cae;
  content: "";
}

.ledger-chart-legend .is-net::before {
  background: #20cfbd;
}

.ledger-chart-legend .is-sales::before {
  background: #d6aa4e;
}

.ledger-chart svg {
  display: block;
  width: 100%;
  min-width: 0;
  height: 214px;
  min-height: 214px;
  overflow: visible;
}

.ledger-chart-grid line {
  stroke: rgba(17, 24, 39, 0.1);
  stroke-dasharray: 3 8;
  stroke-width: 1;
}

.ledger-chart .chart-line {
  fill: none;
  stroke: #905cae;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 3.25;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 3px 5px rgba(144, 92, 174, 0.2));
}

.ledger-chart .chart-line-net {
  stroke: #20cfbd;
  filter: drop-shadow(0 3px 5px rgba(32, 207, 189, 0.2));
}

.ledger-chart .chart-line-sales {
  stroke: #d6aa4e;
  filter: drop-shadow(0 3px 5px rgba(214, 170, 78, 0.24));
}

.ledger-chart .chart-dot {
  fill: #905cae;
  stroke: #fff;
  stroke-width: 2.5;
  vector-effect: non-scaling-stroke;
}

.ledger-chart .chart-dot-net {
  fill: #20cfbd;
}

.ledger-chart .chart-dot-sales {
  fill: #d6aa4e;
}

.ledger-chart text {
  fill: #6b7280;
  font-size: 12px;
  font-weight: 700;
  text-anchor: middle;
}

.ledger-chart .chart-area {
  pointer-events: none;
}

.socio-profit-ledger article {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid rgba(18, 23, 33, 0.08);
  border-radius: 12px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.07), rgba(144, 92, 174, 0.05)),
    #fff;
}

.socio-profit-ledger article strong,
.socio-profit-ledger article small {
  display: block;
}

.socio-profit-ledger article strong {
  overflow: hidden;
  color: #111827;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.socio-profit-ledger article b {
  color: #2bff00;
  font-size: 1rem;
  white-space: nowrap;
}

.referral-share-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 22px;
  align-items: stretch;
  padding: 24px;
  border: 1px solid rgba(144, 92, 174, 0.2);
  border-radius: 20px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.11), rgba(144, 92, 174, 0.08)),
    var(--surface);
  box-shadow: 0 24px 58px rgba(43, 255, 0, 0.08);
}

.referral-share-copy h2 {
  margin: 8px 0 10px;
  font-size: clamp(1.35rem, 2vw, 2rem);
  line-height: 1.05;
}

.referral-share-copy p {
  max-width: 720px;
  color: var(--muted);
  line-height: 1.55;
}

.referral-commission-highlight {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 13px;
  align-items: center;
  max-width: 760px;
  padding: 14px 16px;
  border: 1px solid rgba(43, 255, 0, 0.4);
  border-left: 4px solid #2bff00;
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.13), rgba(144, 92, 174, 0.08));
  box-shadow: 0 12px 30px rgba(43, 255, 0, 0.08);
}

.referral-commission-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 50%;
  background: #2bff00;
  color: #071008;
  font-size: 1.15rem;
  font-weight: 950;
  box-shadow: 0 0 0 5px rgba(43, 255, 0, 0.13);
}

.referral-commission-highlight p {
  margin: 0 0 3px;
  font-size: 0.88rem;
}

.referral-commission-highlight strong {
  display: block;
  color: var(--text);
  font-size: 0.98rem;
  line-height: 1.45;
}

.referral-commission-highlight strong b {
  display: inline-block;
  margin-left: 3px;
  color: #159b00;
  font-size: 1.22rem;
  font-weight: 950;
}

.referral-link-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 10px;
  margin: 18px 0 10px;
}

.referral-link-row input,
.referral-preview-card input {
  width: 100%;
  min-width: 0;
  overflow: hidden;
  padding: 14px 16px;
  border: 1px solid var(--border);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.74);
  color: var(--text);
  font-weight: 800;
  text-overflow: ellipsis;
}

.referral-link-row button,
.referral-link-row a,
.referral-preview-card button,
.referral-preview-card a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 18px;
  border: 1px solid rgba(43, 255, 0, 0.3);
  border-radius: 12px;
  background: var(--green);
  color: #fff;
  font-weight: 900;
  text-decoration: none;
}

.referral-link-row button,
.referral-preview-card button {
  animation: referralCopyPulse 1.9s ease-in-out infinite;
  border-color: #2bff00;
  background: #2bff00;
  color: #fff;
  box-shadow: 0 0 0 0 rgba(43, 255, 0, 0.36);
}

.referral-link-row a,
.referral-preview-card a {
  border-color: rgba(144, 92, 174, 0.28);
  background: rgba(144, 92, 174, 0.1);
  color: var(--purple);
}

.referral-share-copy small,
.referral-qr-card span,
.referral-preview-card p {
  color: var(--muted);
  font-weight: 700;
}

.referral-qr-card {
  min-width: 210px;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.2);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.72);
}

.referral-qr-card strong {
  display: block;
  color: var(--purple);
  font-weight: 900;
}

.referral-qr-card img {
  display: block;
  width: min(180px, 46vw);
  aspect-ratio: 1;
  margin: 16px auto 10px;
  padding: 10px;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 16px 36px rgba(15, 23, 42, 0.12);
}

.referral-admin-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 0.75fr);
  gap: 22px;
  align-items: start;
}

.referral-admin-form textarea {
  min-height: 118px;
  resize: vertical;
}

.referral-toggle-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
  padding: 14px 16px;
  border: 1px solid rgba(43, 255, 0, 0.28);
  border-radius: 14px;
  background: rgba(43, 255, 0, 0.08);
  color: var(--text);
  font-weight: 900;
}

.referral-toggle-row input {
  width: 18px;
  height: 18px;
  accent-color: var(--green);
}

.referral-plan-fees {
  margin-top: 18px;
}

.referral-preview-card {
  display: grid;
  gap: 14px;
  padding: 22px;
  border: 1px solid rgba(43, 255, 0, 0.24);
  border-radius: 18px;
  background:
    radial-gradient(circle at 20% 15%, rgba(43, 255, 0, 0.15), transparent 32%),
    rgba(7, 20, 14, 0.82);
  color: #fff;
}

.referral-preview-card h3 {
  margin: -6px 0 2px;
  font-size: 1.35rem;
}

.referral-preview-card img {
  width: min(220px, 100%);
  margin: 0 auto;
  padding: 12px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}

.referral-preview-card div {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

.compact-referral-fees {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.referral-payout-card {
  overflow: visible;
}

.referral-payout-summary {
  display: grid;
  gap: 4px;
  min-width: 220px;
  padding: 16px 18px;
  border: 1px solid rgba(43, 255, 0, 0.75);
  border-radius: 16px;
  background: linear-gradient(135deg, #2bff00, #2bff00);
  box-shadow: 0 18px 40px rgba(43, 255, 0, 0.22);
  text-align: right;
}

.referral-payout-summary strong {
  color: #fff;
  font-size: 1.6rem;
  font-weight: 1000;
}

.referral-payout-summary small {
  color: rgba(255, 255, 255, 0.88);
  font-weight: 800;
}

body.theme-dark .referral-payout-summary strong,
body.theme-dark .referral-payout-summary small,
.route-admin-mestre .referral-payout-summary strong,
.route-admin-mestre .referral-payout-summary small {
  color: #fff;
}

.referral-payout-grid {
  display: grid;
  gap: 14px;
}

.referral-empty-state {
  display: grid;
  gap: 6px;
  padding: 22px;
  border: 1px dashed rgba(144, 92, 174, 0.34);
  border-radius: 16px;
  background: rgba(144, 92, 174, 0.06);
  color: var(--muted);
}

.referral-empty-state strong {
  color: var(--text);
  font-size: 1.05rem;
}

.referral-payout-item {
  display: grid;
  grid-template-columns: minmax(240px, 1.5fr) minmax(180px, 0.75fr) minmax(180px, 0.9fr) minmax(160px, 0.6fr);
  gap: 16px;
  align-items: center;
  padding: 18px;
  border: 1px solid rgba(148, 163, 184, 0.18);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.07)),
    rgba(255, 255, 255, 0.72);
  box-shadow: 0 18px 42px rgba(15, 23, 42, 0.06);
}

.referral-payout-plan-head {
  display: flex;
  align-items: center;
  gap: 14px;
}

.referral-payout-plan-head img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  flex: 0 0 58px;
  border-radius: 999px;
  filter: drop-shadow(0 14px 18px rgba(15, 23, 42, 0.16));
}

.referral-payout-item.is-socio {
  border-color: rgba(245, 185, 66, 0.42);
  background:
    radial-gradient(circle at 92% 8%, rgba(245, 185, 66, 0.2), transparent 24%),
    linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.08)),
    rgba(255, 255, 255, 0.75);
}

.referral-payout-item.is-paid {
  opacity: 0.72;
}

.referral-payout-main,
.referral-payout-money,
.referral-payout-pix,
.referral-payout-actions {
  display: grid;
  gap: 6px;
}

.referral-payout-type,
.referral-payout-money small,
.referral-payout-pix small {
  color: var(--purple);
  font-size: 0.72rem;
  font-weight: 1000;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.referral-payout-main h3,
.referral-payout-money strong,
.referral-payout-pix strong {
  margin: 0;
  color: var(--text);
  font-weight: 1000;
}

.referral-payout-main p,
.referral-payout-money span,
.referral-payout-pix span {
  margin: 0;
  color: var(--muted);
  font-weight: 700;
}

.referral-payout-people {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.referral-payout-people span {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 8px 10px;
  border: 1px solid rgba(144, 92, 174, 0.16);
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.55);
  color: var(--text);
  font-size: 0.86rem;
  font-weight: 900;
}

.referral-payout-people b {
  color: var(--purple);
  font-size: 0.67rem;
  font-weight: 1000;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.referral-payout-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.referral-payout-meta span,
.referral-socio-alert,
.referral-paid-badge {
  width: fit-content;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.12);
  color: var(--purple);
  font-size: 0.78rem;
  font-weight: 900;
}

.referral-payout-meta span.is-sold-plan {
  background: rgba(43, 255, 0, 0.14);
  color: #2bff00;
}

.referral-socio-alert {
  background: rgba(245, 185, 66, 0.18);
  color: #9a6400;
}

.referral-paid-badge {
  background: rgba(43, 255, 0, 0.14);
  color: #2bff00;
}

.referral-payout-actions {
  justify-items: stretch;
}

.referral-payout-actions form {
  margin: 0;
}

.referral-whatsapp,
.referral-payout-actions button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border: 0;
  border-radius: 12px;
  background: var(--green);
  color: #fff;
  font-weight: 1000;
  text-decoration: none;
  cursor: pointer;
}

.referral-payout-actions small {
  color: var(--muted);
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.35;
}

.referral-payout-state {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  width: fit-content;
  margin-top: 2px;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 1000;
}

.referral-payout-state i {
  width: 9px;
  height: 9px;
  border-radius: 999px;
}

.referral-payout-state.is-confirmed {
  background: rgba(43, 255, 0, 0.14);
  color: #2bff00;
}

.referral-payout-state.is-confirmed i {
  background: var(--green);
  box-shadow: 0 0 0 5px rgba(43, 255, 0, 0.12);
}

.referral-payout-state.is-processing {
  background: rgba(245, 185, 66, 0.15);
  color: #a86d00;
}

.referral-payout-state.is-processing i {
  background: #f5b942;
  box-shadow: 0 0 0 5px rgba(245, 185, 66, 0.14);
}

.referral-payout-actions button {
  width: 100%;
}

.referral-whatsapp {
  background: rgba(43, 255, 0, 0.12);
  color: #2bff00;
  border: 1px solid rgba(43, 255, 0, 0.32);
}

@keyframes referralCopyPulse {
  0%,
  100% {
    transform: translateY(0);
    box-shadow: 0 0 0 0 rgba(43, 255, 0, 0.32);
  }

  50% {
    transform: translateY(-1px);
    box-shadow: 0 0 0 8px rgba(43, 255, 0, 0);
  }
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-card {
  border-color: rgba(214, 170, 78, 0.52);
  background:
    radial-gradient(circle at 12% 8%, rgba(214, 170, 78, 0.22), transparent 30%),
    radial-gradient(circle at 88% 14%, rgba(144, 92, 174, 0.24), transparent 34%),
    linear-gradient(135deg, #101610, #1a1424 72%, #241828);
  color: #fffaf0;
  box-shadow: 0 28px 70px rgba(144, 92, 174, 0.22);
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-card::before {
  border-color: rgba(214, 170, 78, 0.24);
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-card.is-socio-preview {
  border-color: rgba(214, 170, 78, 0.62);
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-head p,
body.theme-dark:not(.route-admin-mestre) .socio-profit-share span,
body.theme-dark:not(.route-admin-mestre) .socio-profit-metrics small,
body.theme-dark:not(.route-admin-mestre) .socio-profit-footer small,
body.theme-dark:not(.route-admin-mestre) .socio-profit-ledger small {
  color: rgba(255, 250, 240, 0.72);
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-share,
body.theme-dark:not(.route-admin-mestre) .socio-profit-metrics article,
body.theme-dark:not(.route-admin-mestre) .socio-profit-ledger > section {
  border-color: rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.055);
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-share {
  border-color: rgba(214, 170, 78, 0.28);
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-metrics strong,
body.theme-dark:not(.route-admin-mestre) .socio-profit-footer strong,
body.theme-dark:not(.route-admin-mestre) .socio-profit-ledger article strong {
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-ledger article {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(3, 16, 6, 0.18);
}

body.theme-dark:not(.route-admin-mestre) .ledger-chart {
  border-color: rgba(255, 255, 255, 0.09);
  background:
    radial-gradient(circle at 86% 5%, rgba(43, 255, 0, 0.08), transparent 32%),
    linear-gradient(145deg, rgba(144, 92, 174, 0.13), rgba(43, 255, 0, 0.025));
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035), 0 16px 34px rgba(0, 0, 0, 0.18);
}

body.theme-dark:not(.route-admin-mestre) .ledger-chart-legend {
  color: rgba(255, 250, 240, 0.72);
}

body.theme-dark:not(.route-admin-mestre) .ledger-chart-legend span {
  border-color: rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.045);
}

body.theme-dark:not(.route-admin-mestre) .ledger-chart-grid line {
  stroke: rgba(255, 255, 255, 0.12);
}

body.theme-dark:not(.route-admin-mestre) .ledger-chart text {
  fill: rgba(255, 250, 240, 0.65);
}

body.theme-dark:not(.route-admin-mestre) .referral-share-card {
  border-color: rgba(43, 255, 0, 0.2);
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.13), rgba(144, 92, 174, 0.12)),
    #0d1712;
}

body.theme-dark:not(.route-admin-mestre) .referral-commission-highlight {
  border-color: rgba(43, 255, 0, 0.34);
  border-left-color: #2bff00;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.12), rgba(144, 92, 174, 0.12));
}

body.theme-dark:not(.route-admin-mestre) .referral-commission-highlight strong {
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .referral-commission-highlight strong b {
  color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .referral-link-row input,
body.theme-dark:not(.route-admin-mestre) .referral-qr-card {
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(7, 20, 14, 0.84);
  color: #f8fff9;
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-footer button:disabled {
  background: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.6);
}

body.theme-dark:not(.route-admin-mestre) .socio-profit-upgrade {
  color: #fff;
  box-shadow: 0 18px 42px rgba(43, 255, 0, 0.22);
}

.withdraw-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(320px, 0.85fr);
  gap: 18px;
  margin-top: 22px;
}

.withdraw-panel,
.withdraw-dialog {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.withdraw-panel {
  padding: 24px;
}

.withdraw-panel h2 {
  margin: 8px 0 18px;
}

.withdraw-job-card,
.withdraw-request-card {
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fbfdf8;
}

.withdraw-job-card + .withdraw-job-card,
.withdraw-request-card + .withdraw-request-card {
  margin-top: 10px;
}

.withdraw-job-card b,
.withdraw-request-card span {
  color: var(--brand);
  font-weight: 950;
}

.withdraw-request-card[hidden] {
  display: none !important;
}

.withdraw-history-pager {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 18px;
}

.withdraw-history-pager button {
  width: auto;
  min-width: 96px;
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--surface-2);
  color: var(--ink);
  box-shadow: none;
}

.withdraw-history-pager button:not(:disabled):hover {
  border-color: var(--brand);
  color: var(--brand);
}

.withdraw-history-pager button:disabled {
  cursor: not-allowed;
  opacity: 0.38;
}

.withdraw-history-pager strong {
  min-width: 48px;
  color: var(--ink);
  text-align: center;
}

.withdraw-modal {
  position: fixed;
  inset: 0;
  z-index: 90;
  display: none;
  place-items: center;
  padding: 18px;
}

.withdraw-modal.open {
  display: grid;
}

.withdraw-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(4px);
}

.withdraw-dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 520px);
  overflow: hidden;
}

.withdraw-close {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 2;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.2);
  font-size: 1.4rem;
}

.withdraw-dialog-head {
  padding: 34px 28px 26px;
  background: linear-gradient(135deg, #2bff00, #2bff00);
  color: #051208;
  text-align: center;
}

.withdraw-dialog-head span,
.withdraw-dialog-head small {
  display: block;
  font-weight: 800;
}

.withdraw-dialog-head strong {
  display: block;
  margin: 4px 0;
  font-size: 3rem;
  line-height: 1;
}

.withdraw-dialog form {
  display: grid;
  gap: 14px;
  padding: 24px;
}

.withdraw-dialog label {
  display: grid;
  gap: 8px;
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.withdraw-fee-box,
.withdraw-preview,
.withdraw-alert {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid rgba(255, 176, 31, 0.45);
  border-radius: 8px;
  background: rgba(255, 176, 31, 0.12);
  color: #ffb01f;
  font-weight: 850;
}

.withdraw-fee-box,
.withdraw-preview span,
.withdraw-preview strong {
  display: flex;
  justify-content: space-between;
  gap: 12px;
}

.withdraw-preview {
  border-color: rgba(43, 255, 0, 0.32);
  background: rgba(43, 255, 0, 0.1);
  color: var(--text);
}

.withdraw-preview strong {
  color: var(--brand);
}

.withdraw-dialog-actions {
  gap: 10px;
}

.withdraw-dialog-actions button {
  width: 100%;
}

.withdraw-dialog-actions button:first-child {
  border: 1px solid var(--line);
  background: #f2f2f0;
  color: var(--muted);
}

.withdraw-dialog-actions button:last-child,
.withdraw-dialog.success button {
  background: var(--brand);
  color: #061409;
}

.withdraw-dialog.success {
  text-align: center;
}

.withdraw-success-icon {
  display: grid;
  width: 62px;
  height: 62px;
  margin: 32px auto 16px;
  place-items: center;
  border: 4px solid #07160d;
  background: #2bff00;
  color: #07160d;
  font-size: 2rem;
  font-weight: 950;
  box-shadow: 0 0 0 10px rgba(43, 255, 0, 0.18);
}

.withdraw-dialog.success h2,
.withdraw-dialog.success p,
.withdraw-dialog.success .withdraw-preview,
.withdraw-dialog.success .withdraw-alert,
.withdraw-dialog.success button {
  margin-inline: 24px;
}

.withdraw-dialog.success button {
  width: calc(100% - 48px);
  margin-bottom: 24px;
}

.socio-participation-dialog {
  width: min(100%, 760px);
  max-height: min(92vh, 860px);
  overflow-y: auto;
  border-color: rgba(214, 170, 78, 0.46);
}

.socio-participation-title {
  padding: 30px 76px 8px 28px;
}

.socio-participation-title h2 {
  margin: 6px 0;
  font-size: clamp(1.7rem, 3vw, 2.5rem);
}

.socio-participation-title p {
  margin: 0;
  color: var(--muted);
}

.socio-participation-release {
  display: grid;
  gap: 5px;
  margin: 18px 24px 12px;
  padding: 20px;
  border: 1px solid rgba(214, 170, 78, 0.48);
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(214, 170, 78, 0.15), rgba(43, 255, 0, 0.08));
}

.socio-participation-release span,
.socio-participation-metrics span {
  color: #9a742c;
  font-size: 0.72rem;
  font-weight: 950;
  text-transform: uppercase;
}

.socio-participation-release strong {
  color: #111827;
  font-size: clamp(2rem, 5vw, 3.5rem);
  line-height: 1;
}

.socio-participation-release small {
  color: var(--muted);
}

.socio-participation-metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 0 24px;
}

.socio-participation-metrics article {
  display: grid;
  align-content: space-between;
  gap: 8px;
  min-height: 88px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: color-mix(in srgb, var(--surface) 92%, #d6aa4e 8%);
}

.socio-participation-metrics strong {
  color: var(--text);
  font-size: 1.05rem;
  white-space: nowrap;
}

.socio-participation-cycle {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin: 14px 24px 0;
  padding: 12px 0;
  border-block: 1px solid var(--line);
  color: var(--muted);
  font-size: 0.82rem;
}

.socio-participation-history {
  display: grid;
  gap: 7px;
  margin: 14px 24px 0;
}

.socio-participation-history > div {
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content max-content;
  gap: 12px;
  padding: 9px 11px;
  border-radius: 8px;
  background: rgba(144, 92, 174, 0.08);
}

.socio-participation-history em {
  color: var(--accent);
  font-style: normal;
  font-weight: 900;
  text-transform: capitalize;
}

.socio-participation-dialog form {
  padding-top: 16px;
}

.socio-pix-picker {
  display: grid;
  gap: 8px;
}

.socio-pix-picker > span {
  color: var(--muted);
  font-size: 0.82rem;
  font-weight: 900;
  text-transform: uppercase;
}

.socio-pix-picker > small {
  color: var(--muted);
  font-size: 0.76rem;
}

.socio-pix-option {
  display: block !important;
  color: inherit !important;
  text-transform: none !important;
  cursor: pointer;
}

.socio-pix-option > input {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.socio-pix-option-body {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) max-content;
  align-items: center;
  gap: 12px;
  min-height: 70px;
  padding: 12px 14px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  transition: background-color 140ms ease, border-color 140ms ease, box-shadow 140ms ease;
}

.socio-pix-check {
  display: grid;
  width: 34px;
  height: 34px;
  place-items: center;
  border: 2px solid var(--line);
  border-radius: 50%;
  background: transparent;
  color: transparent;
  font-size: 1.1rem;
  font-weight: 1000;
}

.socio-pix-option-body small,
.socio-pix-option-body strong {
  display: block;
}

.socio-pix-option-body small {
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 0.68rem;
  font-weight: 900;
  text-transform: uppercase;
}

.socio-pix-option-body strong {
  overflow-wrap: anywhere;
  color: var(--text);
  font-size: 1rem;
}

.socio-pix-option-body b {
  color: var(--muted);
  font-size: 0.78rem;
}

.socio-pix-option > input:focus-visible + .socio-pix-option-body {
  outline: 3px solid rgba(144, 92, 174, 0.32);
  outline-offset: 2px;
}

.socio-pix-option > input:checked + .socio-pix-option-body {
  border-color: #2bff00;
  background: rgba(43, 255, 0, 0.13);
  box-shadow: inset 0 0 0 1px rgba(43, 255, 0, 0.3);
}

.socio-pix-option > input:checked + .socio-pix-option-body .socio-pix-check {
  border-color: #2bff00;
  background: #2bff00;
  color: #07160d;
}

.socio-pix-option > input:checked + .socio-pix-option-body b {
  color: #21c900;
}

.socio-participation-confirm {
  display: grid !important;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  text-transform: none !important;
}

.socio-participation-confirm input {
  width: 18px;
  height: 18px;
  margin: 0;
  accent-color: var(--brand);
}

.admin-request-type {
  display: block;
  width: max-content;
  margin: 5px 0 3px;
  padding: 3px 7px;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.12);
  color: #33d756 !important;
  font-size: 0.65rem !important;
  font-weight: 950;
  text-transform: uppercase;
}

.admin-request-type.is-socio {
  background: rgba(214, 170, 78, 0.14);
  color: #e5bc63 !important;
}

@media (max-width: 680px) {
  .socio-paid-highlight {
    grid-template-columns: auto minmax(0, 1fr);
    gap: 16px;
  }

  .socio-paid-summary {
    grid-column: 1 / -1;
    min-width: 0;
  }

  .socio-participation-dialog {
    max-height: calc(100dvh - 20px);
  }

  .socio-participation-title {
    padding: 24px 58px 6px 18px;
  }

  .socio-participation-release,
  .socio-participation-cycle,
  .socio-participation-history {
    margin-inline: 16px;
  }

  .socio-participation-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding-inline: 16px;
  }

  .socio-participation-cycle {
    display: grid;
  }

  .socio-pix-option-body {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .socio-pix-option-body b {
    grid-column: 2;
  }
}

body.theme-dark:not(.route-admin-mestre) .withdraw-panel,
body.theme-dark:not(.route-admin-mestre) .withdraw-dialog,
body.theme-dark:not(.route-admin-mestre) .withdraw-job-card,
body.theme-dark:not(.route-admin-mestre) .withdraw-request-card {
  border-color: #27372f;
  background: #121916;
}

body.theme-dark:not(.route-admin-mestre) .socio-participation-release strong,
body.theme-dark:not(.route-admin-mestre) .socio-participation-metrics strong {
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .socio-paid-highlight {
  border-color: rgba(214, 170, 78, 0.42);
  background:
    radial-gradient(circle at 92% 0%, rgba(214, 170, 78, 0.2), transparent 36%),
    linear-gradient(135deg, #102317, #121916 48%, #251b31);
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .socio-paid-highlight.is-embedded {
  background:
    linear-gradient(90deg, rgba(43, 255, 0, 0.09), rgba(8, 17, 12, 0.72) 48%, rgba(214, 170, 78, 0.12));
}

body.theme-dark:not(.route-admin-mestre) .socio-paid-highlight h2,
body.theme-dark:not(.route-admin-mestre) .socio-paid-summary strong {
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .socio-paid-highlight p,
body.theme-dark:not(.route-admin-mestre) .socio-paid-summary small {
  color: #aeb9b2;
}

body.theme-dark:not(.route-admin-mestre) .socio-paid-summary {
  border-color: #31443a;
  background: rgba(8, 17, 12, 0.72);
}

body.theme-dark:not(.route-admin-mestre) .withdraw-balance-card {
  color: #031006;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-balance-card .eyebrow,
body.theme-dark:not(.route-admin-mestre) .withdraw-balance-card p,
body.theme-dark:not(.route-admin-mestre) .withdraw-balance-card h1 {
  color: #031006;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-balance-card p {
  opacity: 0.72;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-balance-actions span,
body.theme-dark:not(.route-admin-mestre) .withdraw-balance-actions small {
  background: rgba(3, 16, 6, 0.14);
  color: #031006;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-balance-actions button {
  background: #07110b;
  color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .withdraw-pix-toggle {
  border-color: rgba(43, 255, 0, 0.45);
  background: linear-gradient(135deg, #2bff00, #2bff00);
  color: #fff;
}

@media (max-width: 820px) {
  .withdraw-hero,
  .withdraw-balance-card {
    align-items: stretch;
    flex-direction: column;
  }

  .socio-profit-head,
  .socio-profit-footer {
    align-items: stretch;
    grid-template-columns: 1fr;
  }

  .socio-profit-share {
    width: 100%;
    min-width: 0;
  }

  .socio-profit-metrics,
  .socio-profit-ledger {
    grid-template-columns: 1fr;
  }

  .socio-profit-ledger > section {
    max-height: none;
    overflow: visible;
  }

  .ledger-chart {
    grid-template-rows: auto 190px;
    min-height: 234px;
    padding: 12px;
  }

  .ledger-chart svg {
    height: 190px;
    min-height: 190px;
  }

  .referral-commission-highlight {
    grid-template-columns: 1fr;
  }

  .referral-commission-icon {
    width: 36px;
    height: 36px;
  }

  .socio-profit-footer button,
  .socio-upgrade-form,
  .socio-profit-upgrade {
    width: 100%;
    min-width: 0;
  }

  .withdraw-hero-actions {
    width: 100%;
    align-items: stretch;
    flex-direction: column;
  }

  .withdraw-pix-toggle,
  .withdraw-hero-actions .btn {
    width: 100%;
  }

  .referral-share-card,
  .referral-admin-layout {
    grid-template-columns: 1fr;
  }

  .compact-referral-fees,
  .referral-payout-item {
    grid-template-columns: 1fr;
  }

  .referral-payout-summary {
    width: 100%;
    text-align: left;
  }

  .referral-qr-card {
    min-width: 0;
  }

  .referral-link-row {
    grid-template-columns: 1fr;
  }

  .referral-link-row button,
  .referral-link-row a {
    width: 100%;
  }

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

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

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

@media (max-width: 680px) {
  .withdraw-admin-card {
    grid-template-columns: 1fr;
  }
}

/* Footer refinado inspirado no pacote Sócio Premiado, adaptado para Freela IA */
.site-footer {
  position: relative;
  overflow: hidden;
  border-top: 1px solid rgba(144, 92, 174, 0.22);
  background:
    radial-gradient(circle at 88% 8%, rgba(43, 255, 0, 0.11), transparent 28%),
    linear-gradient(180deg, #201d24 0%, #17151d 100%);
  color: #f5f7fb;
  padding: 86px 0 24px;
}

.footer-bridge-mark {
  --footer-logo-x: 0px;
  --footer-logo-y: 0px;
  position: absolute;
  z-index: 3;
  top: -1px;
  left: 50%;
  display: grid;
  width: 238px;
  height: 118px;
  place-items: start center;
  padding-top: 15px;
  background:
    linear-gradient(152deg, rgba(255, 255, 255, .14), transparent 34%),
    linear-gradient(135deg, #2bff00 0%, #54dd43 38%, #905cae 100%);
  clip-path: polygon(5% 5%, 86% 0, 100% 17%, 97% 76%, 83% 100%, 8% 92%, 0 66%, 2% 20%);
  filter: drop-shadow(0 18px 22px rgba(88, 45, 120, .3));
  transform: translateX(-50%);
  transform-origin: top center;
  transition: filter 180ms ease;
  cursor: pointer;
}

.footer-bridge-mark img {
  display: block;
  width: 70px;
  height: 70px;
  object-fit: contain;
  filter: brightness(0) invert(1) drop-shadow(0 7px 14px rgba(31, 15, 45, .28));
  transform: translate3d(var(--footer-logo-x), var(--footer-logo-y), 0);
  transition: transform 480ms cubic-bezier(.22, .61, .36, 1);
  will-change: transform;
}

.footer-bridge-mark:hover,
.footer-bridge-mark:focus-visible {
  filter: brightness(1.06) drop-shadow(0 20px 24px rgba(88, 45, 120, .34));
  transform: translateX(-50%);
}

.footer-flying-rocket {
  position: fixed;
  z-index: 10020;
  left: 0;
  top: 0;
  width: clamp(112px, 10vw, 168px);
  height: clamp(112px, 10vw, 168px);
  pointer-events: none;
  transform-origin: 50% 50%;
  will-change: transform, opacity;
}

.footer-flying-rocket img {
  position: relative;
  z-index: 2;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 13px 18px rgba(41, 14, 59, .42));
}

.footer-flying-rocket::after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 43%;
  right: 82%;
  width: 58%;
  height: 18%;
  border-radius: 50%;
  background: linear-gradient(90deg, transparent, #2bff00 42%, #ffd84a 76%, #ff7438);
  filter: blur(4px);
  transform-origin: right center;
  animation: footer-rocket-flame .16s ease-in-out infinite alternate;
}

.footer-flying-rocket.is-landing::after {
  opacity: 0;
  transition: opacity 280ms ease;
}

.rocket-landing-target {
  position: relative;
  z-index: 2;
  animation: rocket-landing-glow 1.25s ease-out;
}

@keyframes footer-rocket-flame {
  from { transform: scaleX(.68); opacity: .7; }
  to { transform: scaleX(1.12); opacity: 1; }
}

@keyframes rocket-landing-glow {
  0%, 100% { box-shadow: inherit; }
  35% { box-shadow: 0 0 0 5px rgba(43, 255, 0, .24), 0 0 28px rgba(43, 255, 0, .48); }
}

@media (max-width: 640px) {
  .footer-flying-rocket {
    width: 112px;
    height: 112px;
  }
}

.footer-bridge-mark:focus-visible {
  outline: 3px solid rgba(43, 255, 0, .6);
  outline-offset: -4px;
}

.footer-swoosh-mark {
  position: absolute;
  z-index: 0;
  right: -150px;
  bottom: -175px;
  width: min(760px, 62vw);
  height: auto;
  fill: none;
  stroke: #d8c6df;
  stroke-width: 68;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .055;
  pointer-events: none;
}

.refined-benefits-panel {
  position: relative;
  overflow: hidden;
  transform-style: preserve-3d;
  transform-origin: center;
  will-change: transform, box-shadow, filter;
}

.refined-benefits-panel.is-flipping {
  animation: pricingBenefitFlip 720ms cubic-bezier(0.2, 0.75, 0.16, 1) both;
}

.refined-benefits-panel.is-flipping::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(115deg, transparent 16%, rgba(255, 255, 255, 0.42) 48%, transparent 78%);
  opacity: 0;
  pointer-events: none;
  animation: pricingBenefitSheen 720ms ease both;
}

@keyframes pricingBenefitFlip {
  0% {
    filter: saturate(1);
    transform: perspective(1100px) rotateY(0deg) translateY(0) scale(1);
  }

  36% {
    filter: saturate(1.25);
    transform: perspective(1100px) rotateY(-11deg) translateY(-6px) scale(1.015);
    box-shadow: 0 22px 54px rgba(43, 255, 0, 0.2), 0 0 0 1px rgba(144, 92, 174, 0.22);
  }

  68% {
    transform: perspective(1100px) rotateY(7deg) translateY(-3px) scale(1.01);
  }

  100% {
    filter: saturate(1);
    transform: perspective(1100px) rotateY(0deg) translateY(0) scale(1);
  }
}

@keyframes pricingBenefitSheen {
  0% {
    opacity: 0;
    transform: translateX(-120%);
  }

  28%,
  68% {
    opacity: 0.9;
  }

  100% {
    opacity: 0;
    transform: translateX(120%);
  }
}

@keyframes planConfettiFall {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) translate(0, 0) rotate(var(--confetti-rotate, 0deg)) scale(1);
  }

  100% {
    opacity: 0;
    transform: translate(-50%, -50%) translate(var(--confetti-x, 0), var(--confetti-y, 70px)) rotate(calc(var(--confetti-rotate, 0deg) + 180deg)) scale(0.8);
  }
}

@keyframes socioTabGlow {
  0%,
  100% {
    filter: saturate(1);
  }

  50% {
    filter: saturate(1.28) brightness(1.08);
  }
}

@keyframes socioCoinFloat {
  0%,
  100% {
    filter: drop-shadow(0 8px 12px rgba(0, 0, 0, 0.28));
    transform: translateY(0) rotate(-4deg) scale(1);
  }

  50% {
    filter: drop-shadow(0 13px 18px rgba(255, 214, 93, 0.38));
    transform: translateY(-4px) rotate(5deg) scale(1.08);
  }
}

@keyframes socioCtaPulse {
  0%,
  100% {
    filter: saturate(1) brightness(1);
  }

  50% {
    filter: saturate(1.12) brightness(1.04);
  }
}

@keyframes socioCtaShine {
  0%,
  42% {
    transform: translateX(-120%);
  }

  72%,
  100% {
    transform: translateX(120%);
  }
}

@keyframes socioButtonLoop {
  0%,
  100% {
    filter: saturate(1);
    transform: translateY(0);
  }

  50% {
    filter: saturate(1.12) brightness(1.04);
    transform: translateY(-1px);
  }
}

@keyframes socioProfitShine {
  0%,
  62%,
  100% {
    opacity: 0;
    transform: translateX(-70%) rotate(18deg);
  }

  76% {
    opacity: 1;
  }

  92% {
    opacity: 0;
    transform: translateX(330%) rotate(18deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .refined-benefits-panel.is-flipping,
  .refined-benefits-panel.is-flipping::after,
  .refined-price-card.is-socio-active .refined-plan-tabs label[for="plan-annual"],
  .refined-price-card.is-socio-active .plan-panel-annual .refined-plan-badge img,
  .refined-price-card.is-socio-active .refined-benefits-panel button,
  .refined-price-card.is-socio-active .refined-benefits-panel button::after,
  .job-card.public.socio-special .socio-priority-badge img,
  .job-card.public.socio-special .btn.primary,
  .socio-profit-card::after,
  .plan-confetti {
    animation: none;
  }
}

.site-footer-inner {
  position: relative;
  z-index: 1;
  width: min(1280px, calc(100% - 36px));
  margin: 0 auto;
}

.site-footer-grid {
  display: grid;
  grid-template-columns: minmax(320px, 1.55fr) minmax(130px, .7fr) minmax(210px, .9fr) repeat(2, minmax(150px, .7fr));
  gap: clamp(28px, 3vw, 48px);
  margin-bottom: 44px;
}

.site-footer-brand {
  max-width: 470px;
}

@media (min-width: 1121px) {
  .site-footer-grid > .site-footer-col {
    align-self: center;
  }
}

.footer-brand {
  display: inline-block;
  color: #ffffff;
  font-size: 1rem;
  font-weight: 900;
}

.footer-brand-image {
  display: block;
  width: min(300px, 100%);
  height: auto;
  max-height: 76px;
  object-fit: contain;
  object-position: left center;
}

.footer-brand-mark {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 0;
  background: transparent;
  color: inherit;
  font-weight: 950;
}

.footer-brand-mark img {
  display: block;
  grid-area: 1 / 1;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.footer-brand-mark .footer-logo-color {
  display: none;
}

body:not(.theme-dark) .footer-brand-mark .footer-logo-white {
  display: none;
}

body:not(.theme-dark) .footer-brand-mark .footer-logo-color {
  display: block;
}

.site-footer-brand p {
  max-width: 445px;
  margin: 18px 0 22px;
  color: #b8b3c4;
  font-size: 0.86rem;
  line-height: 1.7;
}

.footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-bottom: 32px;
}

.footer-socials a {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 6px;
  background: #ffffff;
  color: #050507;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18);
  transition: color 0.18s ease, border-color 0.18s ease, background 0.18s ease, transform 0.18s ease, box-shadow 0.18s ease;
}

.footer-socials a:hover {
  color: #071008;
  border-color: #2bff00;
  background: #2bff00;
  box-shadow: 0 16px 34px rgba(43, 255, 0, 0.2);
  transform: translateY(-3px);
}

body.theme-dark:not(.route-admin-mestre) .footer-socials a {
  border-color: rgba(169, 101, 202, 0.3);
  background: linear-gradient(145deg, #171b19 0%, #0d100f 100%);
  color: #f5f7f6;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);
}

body.theme-dark:not(.route-admin-mestre) .footer-socials a:hover {
  border-color: #2bff00;
  background: #2bff00;
  color: #071008;
  box-shadow: 0 16px 34px rgba(43, 255, 0, 0.2);
}

.footer-socials svg {
  width: 28px;
  height: 28px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.footer-apps-label {
  margin-bottom: 10px;
  color: #9d96ad;
  font-size: 0.66rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-apps {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.footer-app {
  display: flex;
  min-width: 138px;
  min-height: 54px;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border: 1px solid rgba(255, 255, 255, 0.07);
  border-radius: 13px;
  background: #060609;
  color: #ffffff;
}

.footer-app .store-icon {
  width: 25px;
  height: 25px;
  min-width: 25px;
  fill: currentColor;
}

.footer-app small,
.footer-app strong {
  display: block;
  line-height: 1.15;
}

.footer-app small {
  color: #c7c1d2;
  font-size: 0.62rem;
}

.footer-app strong {
  color: #ffffff;
  font-size: 0.86rem;
}

.site-footer-col h5 {
  margin: 1px 0 16px;
  color: #ffffff;
  font-size: 0.82rem;
  font-weight: 950;
}

.site-footer-col a {
  display: block;
  margin-bottom: 14px;
  color: #b8b3c4;
  font-size: 0.86rem;
  transition: color 0.15s ease;
}

.site-footer-col a:hover {
  color: #2bff00;
}

.site-footer-col .footer-updates-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.footer-updates-link b {
  display: inline-grid;
  min-width: 22px;
  height: 22px;
  place-items: center;
  padding: 0 6px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2bff00, #8be858);
  color: #071108;
  font-size: 0.68rem;
  font-weight: 950;
  box-shadow: 0 0 0 4px rgba(43, 255, 0, 0.1);
}

.footer-updates-link b[hidden] {
  display: none;
}

.footer-updates-link.has-new-updates span {
  color: #ffffff;
  font-weight: 900;
}

.footer-game-login {
  display: inline-flex;
  width: max-content !important;
  max-width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  margin: -7px 0 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #b8b3c4;
  font: inherit;
  font-size: .86rem;
  cursor: pointer;
}

.footer-games-col { text-align: left; }

.footer-game-login > span {
  white-space: nowrap;
}

.footer-game-login i {
  display: grid;
  flex: 0 0 42px;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  place-items: center;
  border: 1px solid #52615a;
  border-radius: 6px;
  background: rgba(255,255,255,.018);
  color: #a7b5af;
  font-style: normal;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
  transition: transform .2s cubic-bezier(.2,.85,.25,1.25), border-color .18s ease, color .18s ease;
}

.footer-game-login svg {
  width: 20px;
  height: 20px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform .2s ease;
}

.footer-game-login:hover,
.footer-game-login:focus,
.footer-game-login:active {
  border: 0;
  background: transparent !important;
  color: #ffffff;
  box-shadow: none !important;
  transform: none !important;
}
.footer-game-login:hover i { border-color: #2bff00; color: #2bff00; transform: translateY(-2px); }
.footer-game-login:hover svg { transform: translate(2px,-2px); }
.footer-game-login:focus-visible { outline: 3px solid rgba(43,255,0,.3); outline-offset: 4px; border-radius: 6px; }
.footer-games-col > small { display: block; color: #817b8b; font-size: .76rem; }
.profile-menu-icon.icon-games {
  display: grid;
  place-items: center;
  color: #9d57c3;
}

.profile-menu-icon.icon-games svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.site-footer-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-top: 28px;
  border-top: 1px solid rgba(255, 255, 255, 0.055);
  color: #aaa4b6;
  font-size: 0.78rem;
}

.site-footer-bottom strong {
  color: #ffffff;
}

.footer-theme-toggle {
  display: inline-grid;
  place-items: center;
  align-items: center;
  width: 42px;
  min-width: 42px;
  height: 42px;
  min-height: 42px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #ffffff;
  box-shadow: none;
}

.header-theme-toggle {
  display: none;
}

@media (min-width: 901px) {
  body[data-authenticated="1"]:not(.route-admin-mestre) .header-theme-toggle {
    display: inline-grid;
  }

  body[data-authenticated="1"]:not(.route-admin-mestre) .footer-theme-toggle {
    display: none;
  }
}

.footer-theme-toggle:hover,
.footer-theme-toggle:focus-visible {
  background: rgba(144, 92, 174, 0.14);
  box-shadow: none;
  transform: none;
}

.footer-theme-toggle > i {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  border-radius: 50%;
  background: #17131d;
  color: #ffffff;
}

.footer-theme-toggle > i > span {
  position: relative;
  width: 15px;
  height: 15px;
  border: 2px solid currentColor;
  border-radius: 50%;
  background: currentColor;
}

.footer-theme-toggle > i > span::after {
  content: "";
  position: absolute;
  top: -3px;
  right: -3px;
  width: 10px;
  height: 18px;
  border-radius: 0 999px 999px 0;
  background: #17131d;
}

.footer-theme-toggle.active {
  background: transparent;
}

.footer-theme-toggle.active > i {
  background: linear-gradient(135deg, #2bff00, #905cae);
  color: #101410;
}

.footer-theme-toggle.active > i > span::after {
  background: #905cae;
}

@media (max-width: 640px) {
  .site-footer-bottom {
    align-items: flex-start;
    flex-direction: column;
  }

  .footer-theme-toggle {
    order: -1;
  }
}

/* Mantém selo, perfil e menu em colunas próprias no cabeçalho. */
.top-actions .top-plan-badge {
  position: static;
  top: auto;
  left: auto;
  width: 82px;
  height: 64px;
  flex: 0 0 82px;
  transform: none;
}

.top-actions .top-plan-badge + .profile-menu {
  margin-left: 0;
}

@media (max-width: 560px) {
  .topbar-inner {
    grid-template-columns: 50px minmax(0, 1fr);
  }

  body:not(.route-admin-mestre) .brand-mark {
    width: 50px;
    height: 50px;
  }

  .top-actions {
    gap: 6px;
  }

  .top-actions .top-plan-badge {
    width: 62px;
    height: 52px;
    flex-basis: 62px;
  }

  .top-actions .top-plan-badge img {
    filter: drop-shadow(0 8px 9px rgba(20, 24, 30, 0.2));
  }

  .top-actions .profile-trigger {
    min-height: 42px;
    gap: 7px;
    padding: 0 10px 0 5px;
  }

  .top-actions .profile-avatar {
    width: 32px;
    height: 32px;
  }

  .top-actions .profile-trigger strong {
    max-width: 62px;
  }

  .top-actions .menu-toggle {
    width: 42px;
  }
}

@media (max-width: 390px) {
  .top-actions .top-plan-badge {
    width: 54px;
    height: 48px;
    flex-basis: 54px;
  }

  .top-actions .profile-trigger strong {
    max-width: 48px;
  }
}

/* Menu Mestre: ícones coloridos por módulo, com leitura rápida e alto contraste. */
.master-menu .menu-icon {
  --menu-icon-color: #63e6ff;
  --menu-icon-bg: rgba(44, 178, 214, .15);
  --menu-icon-border: rgba(99, 230, 255, .22);
  --menu-icon-glow: rgba(44, 178, 214, .18);
  color: var(--menu-icon-color);
  background: var(--menu-icon-bg);
  border: 1px solid var(--menu-icon-border);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .035), 0 5px 14px var(--menu-icon-glow);
  transition: color 180ms ease, background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.master-menu a:hover .menu-icon,
.master-menu a.active .menu-icon,
.master-menu a:hover .menu-icon.svg-menu-icon,
.master-menu a.active .menu-icon.svg-menu-icon {
  color: var(--menu-icon-color);
  background: var(--menu-icon-bg);
  border-color: var(--menu-icon-color);
  box-shadow: 0 0 0 3px var(--menu-icon-glow), 0 8px 20px var(--menu-icon-glow);
  transform: translateY(-1px) scale(1.04);
}

.master-menu .menu-icon.icon-grid,
.master-menu .menu-icon.icon-code {
  --menu-icon-color: #2bff74;
  --menu-icon-bg: rgba(43, 255, 116, .14);
  --menu-icon-border: rgba(43, 255, 116, .24);
  --menu-icon-glow: rgba(43, 255, 116, .18);
}

.master-menu .menu-icon.icon-chat,
.master-menu .menu-icon.icon-refresh {
  --menu-icon-color: #28d9ff;
  --menu-icon-bg: rgba(40, 217, 255, .14);
  --menu-icon-border: rgba(40, 217, 255, .24);
  --menu-icon-glow: rgba(40, 217, 255, .18);
}

.master-menu .menu-icon.icon-folder,
.master-menu .menu-icon.icon-receipt {
  --menu-icon-color: #4d91ff;
  --menu-icon-bg: rgba(77, 145, 255, .15);
  --menu-icon-border: rgba(77, 145, 255, .25);
  --menu-icon-glow: rgba(77, 145, 255, .19);
}

.master-menu .menu-icon.icon-users,
.master-menu .menu-icon.icon-wallet {
  --menu-icon-color: #20d99a;
  --menu-icon-bg: rgba(32, 217, 154, .14);
  --menu-icon-border: rgba(32, 217, 154, .24);
  --menu-icon-glow: rgba(32, 217, 154, .18);
}

.master-menu .menu-icon.icon-building,
.master-menu .menu-icon.icon-settings {
  --menu-icon-color: #a96aff;
  --menu-icon-bg: rgba(169, 106, 255, .15);
  --menu-icon-border: rgba(169, 106, 255, .25);
  --menu-icon-glow: rgba(169, 106, 255, .2);
}

.master-menu .menu-icon.icon-shield,
.master-menu .menu-icon.icon-calendar {
  --menu-icon-color: #f6c84c;
  --menu-icon-bg: rgba(246, 200, 76, .14);
  --menu-icon-border: rgba(246, 200, 76, .25);
  --menu-icon-glow: rgba(246, 200, 76, .18);
}

.master-menu .menu-icon.icon-gavel {
  --menu-icon-color: #ff6e7f;
  --menu-icon-bg: rgba(255, 110, 127, .14);
  --menu-icon-border: rgba(255, 110, 127, .25);
  --menu-icon-glow: rgba(255, 110, 127, .19);
}

.master-menu .menu-icon.icon-percent,
.master-menu .menu-icon.icon-gift {
  --menu-icon-color: #ffab2e;
  --menu-icon-bg: rgba(255, 171, 46, .14);
  --menu-icon-border: rgba(255, 171, 46, .25);
  --menu-icon-glow: rgba(255, 171, 46, .18);
}

.master-menu .menu-icon.icon-share {
  --menu-icon-color: #ff5db1;
  --menu-icon-bg: rgba(255, 93, 177, .14);
  --menu-icon-border: rgba(255, 93, 177, .25);
  --menu-icon-glow: rgba(255, 93, 177, .19);
}

.master-menu .menu-icon.icon-megaphone {
  --menu-icon-color: #8d78ff;
  --menu-icon-bg: rgba(141, 120, 255, .15);
  --menu-icon-border: rgba(141, 120, 255, .26);
  --menu-icon-glow: rgba(141, 120, 255, .2);
}

/* Contratar: legenda encaixada no contorno do direcionamento. */
body.route-contratar .hire-priority-panel .assistant-plan-head > span,
body.route-contratar.theme-dark:not(.route-admin-mestre) .hire-priority-panel .assistant-plan-head > span,
body.route-contratar:not(.theme-dark) .mobile-hire-slot .assistant-plan-head > span {
  color: #172016 !important;
}

/* Preço: contraste reforçado no modo claro. */
body.route-preco:not(.theme-dark):not(.route-admin-mestre) .refined-price-card {
  border-color: rgba(184, 112, 235, 0.76);
  background:
    radial-gradient(circle at 4% 8%, rgba(202, 142, 244, 0.42), transparent 30%),
    radial-gradient(circle at 96% 88%, rgba(116, 48, 207, 0.48), transparent 34%),
    linear-gradient(118deg, #7140a4 0%, #3b175b 46%, #290d46 68%, #5c249f 100%);
  box-shadow: 0 30px 72px rgba(48, 18, 80, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.22);
}

body.route-preco:not(.theme-dark) .pricing-cycle-switch {
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(22, 6, 38, 0.5);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

body.route-preco:not(.theme-dark) .pricing-cycle-switch button:not(.is-active):not(:disabled) {
  color: #f1e9f7;
}

body.route-preco:not(.theme-dark):not(.route-admin-mestre) .refined-benefits-panel {
  border-color: rgba(111, 52, 151, 0.26);
  background: linear-gradient(145deg, #ffffff 0%, #f8f1fb 100%);
}

body.route-preco:not(.theme-dark):not(.route-admin-mestre) .refined-commercial-rates li {
  border-color: rgba(112, 57, 151, 0.24);
  background: #f4ebf8;
}

body.route-preco:not(.theme-dark):not(.route-admin-mestre) .refined-commercial-note {
  border-color: rgba(112, 57, 151, 0.22);
  background: #f1e7f6;
}

body:not(.theme-dark) .site-footer {
  border-top-color: rgba(144, 92, 174, 0.16);
  background:
    radial-gradient(circle at 86% 12%, rgba(43, 255, 0, 0.11), transparent 30%),
    linear-gradient(180deg, #f8fbf6 0%, #eef6ef 100%);
  color: #11141b;
}

body:not(.theme-dark) .footer-swoosh-mark {
  stroke: #58b946;
  opacity: .075;
}

@media (max-width: 640px) {
  .site-footer {
    padding-top: 78px;
  }

  .footer-bridge-mark {
    width: 158px;
    height: 82px;
    padding-top: 10px;
  }

  .footer-bridge-mark img {
    width: 52px;
    height: 52px;
  }

  .footer-swoosh-mark {
    right: -330px;
    bottom: -90px;
    width: 590px;
    stroke-width: 58;
    opacity: .045;
  }

  body:not(.theme-dark) .footer-swoosh-mark {
    opacity: .055;
  }
}

body:not(.theme-dark) .footer-brand,
body:not(.theme-dark) .site-footer-col h5,
body:not(.theme-dark) .site-footer-bottom strong {
  color: #11141b;
}

body:not(.theme-dark) .site-footer-brand p,
body:not(.theme-dark) .site-footer-col a,
body:not(.theme-dark) .site-footer-bottom {
  color: #5d6678;
}

body:not(.theme-dark) .footer-updates-link.has-new-updates span {
  color: #485266;
}

body:not(.theme-dark) .footer-game-login {
  color: #566176;
  font-weight: 800;
}

body:not(.theme-dark) .footer-game-login i {
  border-color: rgba(81, 94, 112, 0.55);
  background: rgba(255, 255, 255, 0.7);
  color: #536075;
  box-shadow: 0 8px 20px rgba(36, 49, 78, 0.06);
}

body:not(.theme-dark) .footer-game-login:hover,
body:not(.theme-dark) .footer-game-login:focus-visible {
  color: #5d2c78;
}

body:not(.theme-dark) .footer-game-login:hover i,
body:not(.theme-dark) .footer-game-login:focus-visible i {
  border-color: #905cae;
  color: #905cae;
}

body:not(.theme-dark) .footer-socials a,
body:not(.theme-dark) .footer-app {
  border-color: rgba(144, 92, 174, 0.18);
  background: #ffffff;
  color: #182032;
  box-shadow: 0 10px 26px rgba(36, 49, 78, 0.07);
}

body:not(.theme-dark) .footer-socials a:hover {
  border-color: #2bff00;
  background: #2bff00;
  color: #071008;
  box-shadow: 0 16px 34px rgba(43, 255, 0, 0.18);
}

body:not(.theme-dark) .footer-app small {
  color: #667085;
}

body:not(.theme-dark) .footer-app strong {
  color: #172033;
}

.legal-page {
  width: min(100% - 40px, 1120px);
  margin: 44px auto 96px;
}

.updates-page {
  width: min(1100px, calc(100% - 36px));
  margin: 0 auto;
  padding: clamp(70px, 9vw, 120px) 0 90px;
}

.updates-hero {
  max-width: 820px;
  margin-bottom: 38px;
}

.updates-hero h1 {
  margin: 12px 0 14px;
  color: #17141a;
  font-size: clamp(2.35rem, 6vw, 5rem);
  line-height: 0.98;
}

.updates-hero h1 strong {
  color: #905cae;
}

.updates-hero p {
  max-width: 720px;
  color: #66707d;
  font-size: 1.05rem;
  line-height: 1.65;
}

.updates-feed {
  display: grid;
  gap: 18px;
}

.update-card,
.updates-empty {
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid rgba(144, 92, 174, 0.2);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.88);
  box-shadow: 0 18px 48px rgba(55, 35, 66, 0.08);
}

.update-card.is-latest {
  border-color: rgba(43, 255, 0, 0.55);
  background: linear-gradient(130deg, rgba(236, 255, 232, 0.96), rgba(250, 245, 255, 0.96));
}

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

.update-card-meta span,
.update-card-meta b,
.update-card-meta em {
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.1);
  color: #6d3c88;
  font-size: 0.7rem;
  font-style: normal;
  font-weight: 950;
  text-transform: uppercase;
}

.update-card-meta em {
  background: #2bff00;
  color: #071108;
}

.update-card h2 {
  margin: 14px 0 8px;
  color: #1e1922;
  font-size: clamp(1.35rem, 3vw, 2rem);
}

.update-card > p,
.update-card li,
.updates-empty p {
  color: #626a76;
  line-height: 1.6;
}

.update-card ul {
  display: grid;
  gap: 7px;
  margin: 18px 0;
  padding-left: 22px;
}

.update-card li::marker {
  color: #905cae;
}

.update-card time {
  display: block;
  margin-top: 18px;
  color: #828996;
  font-size: 0.78rem;
  font-weight: 800;
}

body.theme-dark:not(.route-admin-mestre) .updates-hero h1,
body.theme-dark:not(.route-admin-mestre) .update-card h2,
body.theme-dark:not(.route-admin-mestre) .updates-empty h2 {
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .updates-hero p,
body.theme-dark:not(.route-admin-mestre) .update-card > p,
body.theme-dark:not(.route-admin-mestre) .update-card li,
body.theme-dark:not(.route-admin-mestre) .updates-empty p {
  color: #b9c1ca;
}

body.theme-dark:not(.route-admin-mestre) .update-card,
body.theme-dark:not(.route-admin-mestre) .updates-empty {
  border-color: rgba(144, 92, 174, 0.3);
  background: #101713;
}

body.theme-dark:not(.route-admin-mestre) .update-card.is-latest {
  border-color: rgba(43, 255, 0, 0.42);
  background: linear-gradient(130deg, rgba(15, 44, 22, 0.96), rgba(31, 15, 42, 0.96));
}

.updates-admin-page {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: 24px clamp(18px, 3vw, 38px) 42px;
}

.updates-admin-hero {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
  padding: 22px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  border-radius: 8px;
  background: linear-gradient(110deg, rgba(144, 92, 174, 0.16), transparent 48%), #202020;
}

.updates-admin-hero h2 {
  margin: 6px 0 8px;
  color: #ffffff;
  font-size: clamp(1.55rem, 2.5vw, 2.3rem);
}

.updates-admin-hero p {
  max-width: 760px;
  margin: 0;
  color: #aeb8c4;
  line-height: 1.55;
}

.updates-admin-layout {
  display: grid;
  grid-template-columns: minmax(360px, 0.8fr) minmax(420px, 1.2fr);
  gap: 18px;
  align-items: start;
}

.updates-admin-form-card form,
.updates-admin-form-card label {
  display: grid;
  gap: 8px;
}

.updates-admin-form-card form {
  gap: 15px;
}

.updates-admin-form-card label {
  color: #d9e0e7;
  font-size: 0.78rem;
  font-weight: 900;
}

.updates-admin-form-card input,
.updates-admin-form-card select,
.updates-admin-form-card textarea {
  width: 100%;
  margin: 0;
  padding: 11px 13px;
  border: 1px solid #394149;
  border-radius: 8px;
  background: #101416;
  color: #ffffff;
  box-shadow: none;
}

.updates-admin-form-card textarea {
  resize: vertical;
}

.updates-admin-form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.update-publish-check {
  display: flex !important;
  align-items: center;
  grid-template-columns: auto 1fr;
}

.update-publish-check input {
  width: 20px;
  height: 20px;
}

.update-save-button {
  min-height: 48px;
  border: 0;
  border-radius: 8px;
  background: #2bff00;
  color: #071108;
  font-weight: 950;
}

.update-form-reset {
  width: auto;
  min-height: 36px;
  padding: 7px 11px;
  border: 1px solid #4a3a52;
  border-radius: 7px;
  background: transparent;
  color: #d2a4ee;
  box-shadow: none;
}

.updates-admin-list {
  display: grid;
  gap: 11px;
}

.updates-admin-item {
  padding: 16px;
  border: 1px solid #343a3e;
  border-radius: 9px;
  background: #171a1b;
}

.updates-admin-item > div {
  display: flex;
  align-items: center;
  gap: 9px;
}

.updates-admin-item > div span {
  padding: 5px 8px;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 950;
  text-transform: uppercase;
}

.updates-admin-item > div span.is-published {
  background: rgba(43, 255, 0, 0.14);
  color: #2bff00;
}

.updates-admin-item > div span.is-draft {
  background: rgba(255, 194, 71, 0.14);
  color: #ffc247;
}

.updates-admin-item small,
.updates-admin-item p {
  color: #9ba6b1;
}

.updates-admin-item h4 {
  margin: 12px 0 5px;
  color: #ffffff;
}

.updates-admin-item p {
  margin: 0 0 13px;
  line-height: 1.5;
}

.updates-admin-item button {
  width: auto;
  min-height: 36px;
  padding: 7px 12px;
  border: 1px solid rgba(144, 92, 174, 0.6);
  border-radius: 7px;
  background: rgba(144, 92, 174, 0.13);
  color: #d2a4ee;
  box-shadow: none;
}

.updates-admin-empty {
  color: #9ba6b1;
}

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

@media (max-width: 680px) {
  .updates-page {
    width: min(100% - 24px, 1100px);
    padding-top: 52px;
  }

  .updates-admin-page {
    padding: 14px 12px 32px;
  }

  .updates-admin-hero {
    align-items: stretch;
    flex-direction: column;
  }

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

.legal-hero {
  max-width: 850px;
  margin-bottom: 28px;
}

.legal-hero h1 {
  margin: 10px 0 12px;
  color: var(--ink);
  font-size: clamp(2rem, 4vw, 3.25rem);
  line-height: 1;
  letter-spacing: 0;
}

.legal-hero h1 strong {
  color: var(--accent);
}

.legal-hero p {
  max-width: 760px;
  margin: 0;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.65;
}

.legal-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.legal-meta span {
  display: inline-flex;
  min-height: 34px;
  align-items: center;
  padding: 7px 12px;
  border: 1px solid rgba(144, 92, 174, 0.18);
  border-radius: 999px;
  background: #ffffff;
  color: #485266;
  font-size: 0.82rem;
  font-weight: 800;
}

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

.legal-toc {
  position: sticky;
  top: 108px;
  display: grid;
  gap: 6px;
  padding: 18px;
  border: 1px solid rgba(144, 92, 174, 0.16);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(36, 49, 78, 0.07);
}

.legal-toc strong {
  margin-bottom: 6px;
  color: var(--ink);
  font-size: 0.84rem;
  font-weight: 950;
}

.legal-toc a {
  padding: 8px 0;
  border-top: 1px solid rgba(223, 221, 215, 0.8);
  color: #596274;
  font-size: 0.86rem;
  font-weight: 800;
}

.legal-toc a:hover {
  color: var(--accent);
}

.legal-document {
  display: grid;
  gap: 14px;
}

.legal-section {
  padding: 24px;
  border: 1px solid rgba(144, 92, 174, 0.14);
  border-radius: 8px;
  background: #ffffff;
  box-shadow: 0 18px 42px rgba(36, 49, 78, 0.055);
}

.legal-section h2 {
  margin: 0 0 12px;
  color: var(--ink);
  font-size: 1.2rem;
  line-height: 1.2;
  letter-spacing: 0;
}

.legal-section p {
  margin: 0 0 12px;
  color: #4f596d;
  font-size: 0.95rem;
  line-height: 1.74;
}

.legal-section p:last-child {
  margin-bottom: 0;
}

.legal-list {
  display: grid;
  gap: 9px;
  margin: 0 0 12px;
  padding-left: 18px;
  color: #4f596d;
  font-size: 0.95rem;
  line-height: 1.65;
}

.legal-list li::marker {
  color: #2bff00;
}

.legal-callout {
  border-color: rgba(43, 255, 0, 0.28);
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.06));
}

body.theme-dark:not(.route-admin-mestre) .legal-hero h1,
body.theme-dark:not(.route-admin-mestre) .legal-section h2,
body.theme-dark:not(.route-admin-mestre) .legal-toc strong {
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .legal-hero p,
body.theme-dark:not(.route-admin-mestre) .legal-section p,
body.theme-dark:not(.route-admin-mestre) .legal-list,
body.theme-dark:not(.route-admin-mestre) .legal-toc a {
  color: #c8d0dc;
}

body.theme-dark:not(.route-admin-mestre) .legal-section,
body.theme-dark:not(.route-admin-mestre) .legal-toc,
body.theme-dark:not(.route-admin-mestre) .legal-meta span {
  border-color: rgba(144, 92, 174, 0.28);
  background: #111418;
}

body.theme-dark:not(.route-admin-mestre) .legal-callout {
  border-color: rgba(43, 255, 0, 0.34);
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.12), rgba(144, 92, 174, 0.1));
}

@media (max-width: 860px) {
  .legal-page {
    width: min(100% - 28px, 640px);
    margin: 28px auto 72px;
  }

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

  .legal-toc {
    position: static;
  }

  .legal-section {
    padding: 20px;
  }
}

/* Escala tipografica mais compacta para aproximar do pacote refinado */
.hero h1,
.page-head h1,
.dashboard-side h1,
.hire-hero h1,
.dev-hero h1,
.client-hero h1,
.pricing-head h1,
.profile-head h1,
.withdraw-balance-card h1 {
  font-size: clamp(2rem, 4vw, 3.45rem);
  line-height: 1.03;
}

.admin-hero h1,
.master-hero h1,
.dashboard-hero h1 {
  font-size: clamp(2rem, 3.7vw, 3.35rem);
  line-height: 1.04;
}

.hero p,
.page-head p,
.split-section p,
.dashboard-side p,
.pricing-head p {
  font-size: 0.98rem;
  line-height: 1.65;
}

.refined-price-value strong {
  font-size: clamp(2.25rem, 4.4vw, 3.5rem);
}

@media (max-width: 1120px) {
  .site-footer-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
}

@media (max-width: 640px) {
  .site-footer {
    padding: 78px 0 22px;
  }

  .site-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .hero h1,
  .page-head h1,
  .dashboard-side h1,
  .hire-hero h1,
  .dev-hero h1,
  .client-hero h1,
  .pricing-head h1 {
    font-size: clamp(1.9rem, 10vw, 2.75rem);
  }
}

/* Compact public editorial scale: smaller headings, centered copy, highlighted phrase. */
.hero,
.page-head,
.pricing-head,
.section-heading {
  text-align: center;
  max-width: 760px;
  margin-left: auto;
  margin-right: auto;
}

.playful-hero {
  grid-template-columns: minmax(260px, 0.82fr) minmax(320px, 0.9fr);
  align-items: center;
}

.playful-hero .hero-copy {
  max-width: 540px;
  text-align: center;
  margin-inline: auto;
}

.hero h1,
.page-head h1,
.pricing-head h1,
.dashboard-side h1,
.payment-hub-side h1,
.profile-hero h1,
.dev-ops-side h1,
.master-hero h2,
.master-command-hero h2 {
  font-size: clamp(1.65rem, 3vw, 2.65rem);
  line-height: 1.04;
  letter-spacing: 0;
  max-width: 780px;
}

.hero h1 strong,
.page-head h1 strong,
.pricing-head h1 strong,
.section-heading h2 strong,
.split-section h2 strong {
  color: #905CAE;
}

body.theme-dark .hero h1 strong,
body.theme-dark .page-head h1 strong,
body.theme-dark .pricing-head h1 strong,
body.theme-dark .section-heading h2 strong,
body.theme-dark .split-section h2 strong {
  color: #2bff00;
}

.section-heading h2,
.split-section h2,
.aside-panel h2,
.payment-hub-card h2 {
  font-size: clamp(1.35rem, 2.3vw, 2rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.hero p,
.page-head p,
.pricing-head p,
.section-heading p,
.split-section p,
.dashboard-side p,
.payment-hub-side p,
.dev-ops-side p {
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  font-size: 0.9rem;
  line-height: 1.55;
}

.eyebrow {
  justify-content: center;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
}

.talent-card h2,
.task-card h3,
.workflow-card h3,
.feature-list strong,
.job-card h3 {
  font-size: 0.96rem;
  line-height: 1.2;
}

.talent-card p,
.task-card p,
.workflow-card p,
.feature-list span,
.job-card p,
.check-list li {
  font-size: 0.82rem;
  line-height: 1.45;
}

.split-section {
  align-items: center;
}

.split-section > div:first-child {
  text-align: center;
}

@media (max-width: 980px) {
  .playful-hero {
    grid-template-columns: 1fr;
  }

  .playful-hero .hero-copy {
    order: -1;
  }
}

@media (max-width: 640px) {
  .hero,
  .page-head,
  .pricing-head,
  .section-heading {
    max-width: calc(100% - 28px);
  }

  .hero h1,
  .page-head h1,
  .pricing-head h1,
  .dashboard-side h1,
  .payment-hub-side h1,
  .profile-hero h1,
  .dev-ops-side h1 {
    font-size: clamp(1.55rem, 8vw, 2.2rem);
  }
}

/* Auth showcase inspired by editorial signup dialogs, adapted to Freela IA. */
.auth-showcase-modal {
  padding: 24px;
}

.auth-showcase-modal .auth-backdrop {
  background: rgba(7, 10, 8, 0.9);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

/* Mantém digitação e cliques imediatos no acesso, mesmo sobre páginas longas. */
body.modal-open > *:not(.auth-modal),
body.modal-open > *:not(.auth-modal) * {
  animation-play-state: paused !important;
}

.auth-showcase-modal {
  isolation: isolate;
  contain: layout paint style;
}

.auth-showcase-card .auth-form input,
.auth-showcase-card .auth-form select,
.auth-showcase-card button,
.auth-showcase-card a {
  transition-property: color, background-color, border-color, box-shadow;
  transition-duration: 100ms;
  touch-action: manipulation;
}

.auth-showcase-card,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card {
  display: grid;
  grid-template-columns: minmax(320px, 0.95fr) minmax(420px, 1fr);
  gap: 0;
  width: min(1140px, calc(100vw - 48px));
  max-height: min(860px, calc(100dvh - 48px));
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: 14px;
  background: #ffffff;
  color: #202124;
  box-shadow: 0 34px 90px rgba(0, 0, 0, 0.35);
}

.auth-showcase-card .auth-close,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-close {
  top: 28px;
  right: 30px;
  z-index: 3;
  width: auto;
  min-height: auto;
  padding: 6px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #1f1f1f;
  box-shadow: none;
  font-size: 1.05rem;
  line-height: 1;
}

.auth-showcase-visual {
  position: relative;
  display: grid;
  min-height: 660px;
  padding: 54px 52px;
  background: #efefef;
}

.auth-welcome {
  align-self: start;
  font-size: 1.28rem;
  font-weight: 650;
}

.auth-visual-center {
  align-self: center;
  justify-self: center;
  display: grid;
  align-items: center;
  width: min(100%, 590px);
  margin-top: 40px;
}

.auth-showcase-brand-image {
  display: block;
  width: 100%;
  height: auto;
  max-height: 260px;
  object-fit: contain;
}

.auth-visual-word {
  color: #101114;
  font-size: clamp(2.7rem, 5vw, 4.1rem);
  font-weight: 950;
  line-height: 1;
  letter-spacing: 0;
}

.auth-logo-mark {
  display: grid;
  width: clamp(112px, 12vw, 156px);
  aspect-ratio: 1;
  place-items: center;
}

.auth-logo-mark img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.auth-member-link {
  align-self: end;
  justify-self: start;
  width: auto;
  min-height: auto;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #111111;
  box-shadow: none;
  font-size: 0.92rem;
  font-weight: 500;
  text-align: left;
}

.auth-member-link strong {
  font-weight: 850;
  text-decoration: underline;
}

.auth-member-link:not(.active) {
  display: none;
}

@media (hover: hover) and (pointer: fine) {
  .auth-showcase-card .auth-member-link:hover {
    border-color: transparent;
    background: transparent;
    color: #111111;
    box-shadow: none;
    transform: none;
  }
}

.auth-showcase-content {
  display: grid;
  align-content: start;
  gap: 18px;
  max-height: min(860px, calc(100dvh - 48px));
  overflow-y: auto;
  padding: 52px 50px 44px;
  background: #ffffff;
}

.auth-showcase-content .auth-kicker {
  color: #905CAE;
  font-size: 0.74rem;
  letter-spacing: 0.02em;
}

.auth-showcase-content h2,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-content h2 {
  margin: 0;
  color: #202124;
  font-size: clamp(1.55rem, 2.3vw, 2rem);
  line-height: 1.08;
  letter-spacing: 0;
}

.auth-showcase-content p,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-content p {
  max-width: 440px;
  color: #60636b;
  font-size: 0.98rem;
  font-weight: 650;
  line-height: 1.55;
}

.auth-showcase-card .auth-tabs,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-tabs {
  width: 100%;
  padding: 4px;
  border: 1px solid rgba(144, 92, 174, 0.22);
  border-radius: 999px;
  background: #f4e9f8;
}

.auth-showcase-card .auth-tabs button {
  min-height: 44px;
  border-radius: 999px;
  color: #5f6672;
  font-weight: 850;
}

.auth-showcase-card .auth-tabs button.active {
  background: linear-gradient(135deg, #2bff00, #905CAE);
  color: #ffffff;
}

.auth-showcase-card .auth-form {
  gap: 18px;
}

.auth-showcase-card .auth-form label {
  display: grid;
  gap: 8px;
  color: #9c9c9c;
  font-size: 0.72rem;
  font-weight: 700;
  text-transform: uppercase;
}

.auth-showcase-card .auth-form input,
.auth-showcase-card .auth-form select,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form input,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form select {
  min-height: 44px;
  padding: 8px 16px 12px;
  border: 0;
  border-bottom: 1px solid #e6e6e6;
  border-radius: 0;
  background: transparent;
  color: #202124;
  font-size: 0.98rem;
  font-weight: 600;
  box-shadow: none;
}

.auth-showcase-card .auth-form input::placeholder {
  color: #d2d2d2;
}

.auth-password-field {
  position: relative;
  display: block;
}

.auth-showcase-card .auth-form .auth-password-field input,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form .auth-password-field input {
  width: 100%;
  padding-right: 48px;
}

.auth-password-toggle {
  position: absolute;
  right: 0;
  top: 50%;
  display: grid;
  width: 40px;
  height: 40px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: #905CAE;
  place-items: center;
  transform: translateY(-50%);
  cursor: pointer;
  box-shadow: none;
  -webkit-tap-highlight-color: transparent;
}

.auth-password-toggle svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auth-password-toggle:hover,
.auth-password-toggle:focus-visible,
.auth-password-toggle.is-visible {
  background: rgba(144, 92, 174, 0.1);
  color: #2bff00;
  outline: 0;
}

.auth-showcase-card .auth-form input:focus,
.auth-showcase-card .auth-form select:focus {
  border-color: #905CAE;
  outline: 0;
  box-shadow: 0 2px 0 #2bff00;
}

.auth-inline-fields {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 20px;
}

.auth-showcase-card .forgot-link {
  justify-self: end;
  color: #905CAE;
  font-size: 0.86rem;
  font-weight: 800;
}

.auth-showcase-card .auth-primary,
.auth-showcase-card .auth-secondary {
  min-height: 58px;
  border-radius: 7px;
  box-shadow: none;
}

.auth-showcase-card .auth-primary {
  background: #222222;
  color: #ffffff;
}

.auth-showcase-card .auth-secondary {
  border: 1px solid #d8d8d8;
  background: #ffffff;
  color: #222222;
}

.auth-showcase-card .auth-step-actions {
  grid-template-columns: 0.75fr 1.25fr;
}

.auth-showcase-card .auth-divider {
  gap: 12px;
  color: #666666;
  font-size: 0.86rem;
}

.auth-showcase-card .auth-divider::before,
.auth-showcase-card .auth-divider::after {
  background: #dddddd;
}

.auth-showcase-card .social-login {
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.auth-showcase-card .social-button,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .social-button {
  min-height: 48px;
  border: 1px solid #dddddd;
  border-radius: 7px;
  background: #ffffff;
  color: #242424;
  font-size: 0.9rem;
  font-weight: 650;
}

.auth-showcase-card .social-button.facebook,
.auth-showcase-card .social-button.apple {
  background: #ffffff;
  color: #242424;
}

.auth-showcase-card .social-button.apple img {
  filter: none;
}

.auth-showcase-card .social-button img {
  width: 18px;
  height: 18px;
}

.auth-showcase-card .social-button.is-loading {
  cursor: wait;
  opacity: 0.68;
  pointer-events: none;
}

.auth-capture-error {
  margin: 0;
  padding: 10px 12px;
  border-left: 3px solid #e34444;
  border-radius: 4px;
  background: rgba(227, 68, 68, 0.08);
  color: #9e2727 !important;
  font-size: 0.84rem !important;
  font-weight: 750 !important;
  line-height: 1.4 !important;
}

body.theme-dark:not(.route-admin-mestre) .auth-capture-error {
  background: rgba(255, 87, 87, 0.12);
  color: #ffb1b1 !important;
}

.auth-showcase-card .auth-step-indicator {
  grid-template-columns: repeat(2, 1fr);
  margin: 0 0 4px;
}

.auth-showcase-card .auth-step-indicator span {
  min-height: 6px;
  background: #f2e8f6;
}

.auth-showcase-card .auth-step-indicator span.active {
  background: linear-gradient(135deg, #2bff00, #905CAE);
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card {
  border: 1px solid rgba(144, 92, 174, 0.26);
  background: #10120f;
  color: #f7fff9;
  box-shadow: 0 38px 110px rgba(0, 0, 0, 0.62);
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-visual {
  background:
    radial-gradient(circle at 68% 50%, rgba(144, 92, 174, 0.2), transparent 24%),
    linear-gradient(135deg, #111513, #1a1420);
}

body.theme-dark:not(.route-admin-mestre) .auth-welcome,
body.theme-dark:not(.route-admin-mestre) .auth-visual-word,
body.theme-dark:not(.route-admin-mestre) .auth-member-link {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .auth-logo-mark img {
  filter: drop-shadow(0 18px 28px rgba(144, 92, 174, 0.28));
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-content {
  background:
    radial-gradient(circle at 100% 40%, rgba(43, 255, 0, 0.1), transparent 20%),
    #0f1311;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-close {
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-content h2 {
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-content p,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-divider {
  color: #aeb9b2;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-tabs {
  border-color: rgba(144, 92, 174, 0.5);
  background: rgba(144, 92, 174, 0.14);
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-tabs button {
  color: #cbd8cf;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-tabs button.active {
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form label {
  color: #9fa8b3;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form input,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form select {
  border-color: rgba(159, 168, 179, 0.22);
  background: transparent;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form input::placeholder {
  color: rgba(247, 255, 249, 0.42);
}

body.theme-dark:not(.route-admin-mestre) .auth-password-toggle {
  color: #b778d8;
}

body.theme-dark:not(.route-admin-mestre) .auth-password-toggle:hover,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle:focus-visible,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle.is-visible {
  background: rgba(43, 255, 0, 0.12);
  color: #2bff00;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form select option {
  background: #101410;
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .forgot-link,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-content .auth-kicker {
  color: #b778d8;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-primary {
  background: linear-gradient(135deg, #2bff00, #905CAE);
  color: #ffffff;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-secondary {
  border-color: rgba(144, 92, 174, 0.36);
  background: rgba(255, 255, 255, 0.04);
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-divider::before,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-divider::after {
  background: rgba(159, 168, 179, 0.22);
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .social-button,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .social-button.facebook,
body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .social-button.apple {
  border-color: rgba(144, 92, 174, 0.3);
  background: rgba(255, 255, 255, 0.045);
  color: #f7fff9;
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .social-button.apple img {
  filter: invert(1);
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-step-indicator span {
  background: rgba(144, 92, 174, 0.2);
}

body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-step-indicator span.active {
  background: linear-gradient(135deg, #2bff00, #905CAE);
}

@media (max-width: 920px) {
  .auth-showcase-card,
  body.theme-dark:not(.route-admin-mestre) .auth-showcase-card {
    grid-template-columns: 1fr;
    width: min(620px, calc(100vw - 24px));
    max-height: calc(100dvh - 24px);
  }

  .auth-showcase-visual {
    min-height: auto;
    padding: 28px 28px 22px;
  }

  .auth-visual-center {
    justify-self: start;
    margin: 34px 0 18px;
    transform: scale(0.78);
    transform-origin: left center;
  }

  .auth-showcase-content {
    max-height: none;
    padding: 28px;
  }
}

@media (max-width: 560px) {
  .auth-modal,
  .auth-showcase-modal,
  .auth-showcase-card,
  .auth-showcase-content,
  .auth-showcase-card .auth-form,
  .auth-showcase-card .auth-tabs,
  .auth-showcase-card .social-login,
  .auth-showcase-card .auth-primary,
  .auth-showcase-card .auth-secondary {
    max-width: 100%;
  }

  .auth-showcase-modal {
    align-items: start;
    display: none;
    min-height: 100dvh;
    overflow-y: auto;
    padding: 0;
  }

  .auth-showcase-modal.open {
    display: block;
  }

  .auth-showcase-card,
  body.theme-dark:not(.route-admin-mestre) .auth-showcase-card {
    width: 100%;
    min-height: 100dvh;
    max-height: none;
    border-radius: 0;
    box-shadow: none;
    overflow: visible;
  }

  .auth-showcase-card .auth-close,
  body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-close {
    position: fixed;
    top: max(0px, env(safe-area-inset-top));
    right: max(0px, env(safe-area-inset-right));
    z-index: 5;
    display: grid;
    width: 56px;
    min-height: 56px;
    place-items: center;
    padding: 0;
    background: #222222;
    color: #ffffff;
    font-size: 1.45rem;
  }

  .auth-showcase-visual {
    min-height: 330px;
    padding: calc(34px + env(safe-area-inset-top)) 28px 32px;
  }

  .auth-visual-center {
    justify-self: center;
    margin: 34px 0 18px;
    transform: none;
  }

  .auth-showcase-content {
    gap: 14px;
    max-height: none;
    overflow: visible;
    padding: 34px 28px calc(42px + env(safe-area-inset-bottom));
  }

  .auth-showcase-content h2,
  body.theme-dark:not(.route-admin-mestre) .auth-showcase-content h2 {
    font-size: 1.65rem;
  }

  .auth-showcase-content p,
  body.theme-dark:not(.route-admin-mestre) .auth-showcase-content p {
    font-size: 0.96rem;
  }

  .auth-inline-fields,
  .auth-showcase-card .social-login,
  .auth-showcase-card .auth-step-actions {
    grid-template-columns: 1fr;
  }

  .auth-showcase-card .auth-form {
    gap: 14px;
  }

  .auth-showcase-card .auth-primary,
  .auth-showcase-card .auth-secondary {
    min-height: 50px;
  }

  .auth-showcase-card .auth-form input,
  .auth-showcase-card .auth-form select,
  body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form input,
  body.theme-dark:not(.route-admin-mestre) .auth-showcase-card .auth-form select {
    padding-inline: 0;
  }
}

@media (max-width: 560px) {
  body.route-contratar .page-head,
  body.route-contratar .form-layout {
    width: 100%;
    max-width: none;
  }

  body.route-contratar .page-head {
    padding-inline: 18px;
  }

  body.route-contratar .intake-card,
  body.route-contratar .ai-analysis-card,
  body.route-contratar .assistant-plan-card,
  body.route-contratar .hire-way-showcase,
  body.route-contratar .ai-publish-panel {
    padding: 16px 12px;
    border-right: 0;
    border-left: 0;
    border-radius: 0;
    box-shadow: none;
  }

  body.route-contratar .field-grid,
  body.route-contratar .ai-question-fields {
    gap: 12px;
  }

  body.route-contratar .field-grid label {
    gap: 8px;
  }

  body.route-contratar input,
  body.route-contratar textarea,
  body.route-contratar select,
  body.route-contratar .money-field {
    min-height: 56px;
    padding: 15px 14px;
    font-size: 1rem;
  }

  body.route-contratar .deadline-range-control {
    padding: 14px 12px 12px;
  }

  body.route-contratar .deadline-range-control input[type="range"] {
    min-height: 20px;
    padding: 0;
    font-size: inherit;
  }

  body.route-contratar .budget-picker-heading {
    align-items: flex-end;
  }

  body.route-contratar .budget-picker-heading small {
    max-width: 150px;
    text-align: right;
  }

  body.route-contratar .budget-picker-value {
    padding: 0 14px;
  }

  body.route-contratar .budget-picker-value input {
    min-height: 54px;
    padding: 14px 8px;
  }

  body.route-contratar .budget-picker-scale input[type="range"] {
    min-height: 20px;
    padding: 0;
    font-size: inherit;
  }

  body.route-contratar textarea {
    min-height: 150px;
  }

  body.route-contratar .ai-analysis-card {
    gap: 14px;
  }

  body.route-contratar .ai-answer-hint {
    font-size: 0.98rem;
    line-height: 1.42;
  }

  body.route-contratar .ai-question-fields label {
    gap: 10px;
    padding: 13px;
  }

  body.route-contratar .ai-question-fields span {
    font-size: 1rem;
    line-height: 1.35;
  }

  body.route-contratar .ai-question-fields textarea {
    min-height: 104px;
    font-size: 0.98rem;
    line-height: 1.35;
  }

  body.route-contratar .ai-analysis-head,
  body.route-contratar .assistant-plan-head {
    gap: 8px;
  }

  body.route-contratar .ai-publish-panel {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.route-contratar .ai-publish-panel .btn {
    min-height: 58px;
  }

  body.route-contratar .form-note {
    padding-inline: 4px;
  }
}

/* Home hero refinement: two-line headline, wider pitch and single-line actions. */
.playful-hero {
  width: min(1180px, calc(100% - 36px));
  max-width: 1180px;
  grid-template-columns: minmax(430px, 0.95fr) minmax(560px, 1fr);
  gap: clamp(42px, 7vw, 92px);
}

.playful-hero .hero-copy {
  width: min(100%, 720px);
  max-width: 720px;
}

.playful-hero h1 {
  max-width: 720px;
  margin-inline: auto;
  font-size: clamp(2.15rem, 3.15vw, 3.25rem) !important;
  line-height: 1.03 !important;
  text-wrap: balance;
}

.playful-hero h1 strong {
  white-space: nowrap;
}

.playful-hero p {
  max-width: 660px;
  margin-inline: auto;
  text-align: center;
}

.playful-hero .hero-actions {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
}

.playful-hero .hero-actions .btn {
  min-width: 190px;
  padding-inline: 24px;
  white-space: nowrap;
}

.playful-hero .trust-row {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: 100%;
}

.playful-hero .trust-row span {
  white-space: nowrap;
}

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

  .playful-hero .hero-copy {
    order: -1;
  }
}

@media (max-width: 680px) {
  .playful-hero {
    width: min(100% - 28px, 720px);
  }

  .playful-hero h1 {
    font-size: clamp(1.8rem, 9vw, 2.35rem) !important;
  }

  .playful-hero h1 strong {
    white-space: normal;
  }

  .playful-hero .hero-actions,
  .playful-hero .trust-row {
    flex-wrap: wrap;
  }

  .playful-hero .hero-actions .btn {
    min-width: min(100%, 230px);
  }
}

/* Home: three direct paths replace the animated AI graphic. */
.hero-paths {
  position: relative;
  display: flex;
  min-height: 500px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 34px 4px;
  overflow: visible;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.hero-paths::before,
.hero-paths::after {
  display: none;
}

.hero-path {
  position: relative;
  display: flex;
  width: min(100%, 520px);
  min-height: 100px;
  align-items: center;
  justify-content: space-between;
  gap: 22px;
  padding: 8px 10px 8px 34px;
  overflow: hidden;
  border: 1px solid rgba(117, 81, 166, 0.42);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.88);
  color: #261736;
  box-shadow: 0 18px 42px rgba(55, 31, 76, 0.1);
  backdrop-filter: blur(12px);
  text-decoration: none;
  animation: hero-path-enter 620ms cubic-bezier(0.22, 1, 0.36, 1) both;
  transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.hero-path:hover,
.hero-path:focus-visible {
  border-color: #2bff00;
  color: #261736;
  box-shadow: 0 22px 48px rgba(55, 31, 76, 0.16);
  transform: translateY(-3px);
}

.hero-path:focus-visible {
  outline: 3px solid rgba(43, 255, 0, 0.48);
  outline-offset: 4px;
}

.hero-path-label {
  min-width: 0;
  color: inherit;
  font-size: 2.75rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
  white-space: nowrap;
}

.hero-path-photo,
.hero-path-arrow {
  display: grid;
  width: 82px;
  height: 82px;
  flex: 0 0 82px;
  place-items: center;
  overflow: hidden;
  border-radius: 50%;
}

.hero-path-photo {
  border: 2px solid rgba(43, 255, 0, 0.86);
  background: #f1f0f5;
  box-shadow: 0 8px 20px rgba(45, 28, 58, 0.12);
}

.hero-path-photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 22%;
}

.hero-path-contract .hero-path-photo img {
  object-position: center 18%;
}

.hero-path-contract .hero-path-label {
  color: var(--accent);
}

.hero-path-work .hero-path-photo img {
  object-position: 42% 20%;
}

.hero-path-work {
  width: min(94%, 490px);
  min-height: 116px;
  padding-right: 30px;
  padding-left: 10px;
  border-color: rgba(43, 255, 0, 0.58);
  animation-delay: 90ms;
}

.hero-path-work .hero-path-photo {
  width: 100px;
  height: 100px;
  flex-basis: 100px;
}

.hero-path-work .hero-path-label {
  color: var(--brand);
}

.hero-path-work .hero-path-photo {
  border-color: var(--accent);
}

.hero-path-partner {
  width: min(73%, 380px);
  min-height: 92px;
  border-color: rgba(144, 92, 174, 0.42);
  animation-delay: 180ms;
}

.hero-path-partner .hero-path-label {
  display: inline-flex;
  align-items: baseline;
}

.hero-partner-purple {
  color: #5d6573;
}

.hero-partner-green {
  color: #5d6573;
}

.hero-path-arrow {
  background: var(--accent);
  color: #fff;
}

.hero-path-arrow svg {
  width: 34px;
  height: 34px;
  fill: none;
  stroke: currentColor;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 2;
  animation: hero-path-arrow 1.9s cubic-bezier(0.22, 1, 0.36, 1) infinite;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
  transform-box: fill-box;
  transform-origin: center;
  will-change: transform;
}

body.theme-dark:not(.route-admin-mestre) .hero-paths {
  background: transparent;
  box-shadow: none;
}

body.theme-dark:not(.route-admin-mestre) .hero-path {
  border-color: rgba(151, 85, 189, 0.48);
  background: rgba(17, 24, 20, 0.9);
  color: #fff;
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.24);
}

body.theme-dark:not(.route-admin-mestre) .hero-path-work {
  border-color: rgba(43, 255, 0, 0.52);
}

body.theme-dark:not(.route-admin-mestre) .hero-path-contract .hero-path-label {
  color: var(--accent);
}

body.theme-dark:not(.route-admin-mestre) .hero-path-work .hero-path-label {
  color: var(--brand);
}

body.theme-dark:not(.route-admin-mestre) .hero-path-partner .hero-path-label {
  color: inherit;
}

body.theme-dark:not(.route-admin-mestre) .hero-path:hover,
body.theme-dark:not(.route-admin-mestre) .hero-path:focus-visible {
  color: #fff;
}

.code-click-burst {
  position: fixed;
  z-index: 3900;
  width: 1px;
  height: 1px;
  pointer-events: none;
  contain: layout style;
}

.code-click-burst > span {
  position: absolute;
  left: 0;
  top: 0;
  color: var(--brand);
  font: 800 0.86rem/1 "DM Sans", sans-serif;
  letter-spacing: 0;
  white-space: nowrap;
  opacity: 0;
  text-shadow: 0 4px 14px rgba(43, 255, 0, 0.3);
  transform: translate3d(-50%, -50%, 0) scale(0.45);
  animation: code-click-particle 760ms cubic-bezier(0.16, 1, 0.3, 1) var(--code-delay) forwards;
  will-change: transform, opacity;
}

.code-click-burst > span.is-accent {
  color: var(--accent);
  text-shadow: 0 4px 14px rgba(144, 92, 174, 0.3);
}

@keyframes code-click-particle {
  0% {
    opacity: 0;
    transform: translate3d(-50%, -50%, 0) scale(0.45) rotate(0deg);
  }
  18% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate3d(calc(-50% + var(--code-x)), calc(-50% + var(--code-y)), 0) scale(1.08) rotate(var(--code-rotate));
  }
}

@keyframes hero-path-enter {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes hero-path-arrow {
  0%, 32%, 100% {
    transform: translate3d(0, 0, 0);
  }
  52% {
    transform: translate3d(6px, 0, 0);
  }
  68% {
    transform: translate3d(0, 0, 0);
  }
}

@media (max-width: 1080px) {
  .hero-paths {
    width: min(100%, 680px);
    min-height: 450px;
    margin-inline: auto;
  }
}

@media (max-width: 680px) {
  .hero-paths {
    min-height: 350px;
    gap: 10px;
    padding: 24px 2px;
  }

  .hero-path {
    min-height: 78px;
    padding-left: 24px;
  }

  .hero-path-label {
    font-size: 1.95rem;
  }

  .hero-path-photo,
  .hero-path-arrow {
    width: 62px;
    height: 62px;
    flex-basis: 62px;
  }

  .hero-path-work {
    width: 96%;
    min-height: 90px;
    padding-right: 22px;
    padding-left: 8px;
  }

  .hero-path-work .hero-path-photo {
    width: 74px;
    height: 74px;
    flex-basis: 74px;
  }

  .hero-path-partner {
    width: 80%;
    min-height: 76px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .code-click-burst {
    display: none !important;
  }

  .hero-path,
  .hero-path-arrow svg {
    animation: none;
  }
}

.dev-profile-page {
  width: min(1320px, calc(100% - 36px));
  margin: 0 auto;
  padding: clamp(42px, 7vw, 82px) 0 72px;
}

.dev-profile-empty {
  width: min(720px, 100%);
  margin: 0 auto;
  padding: 34px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--shadow);
}

.dev-profile-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(310px, 0.72fr);
  gap: clamp(22px, 4vw, 44px);
  align-items: stretch;
  padding: clamp(22px, 4vw, 42px);
  border: 1px solid rgba(205, 159, 239, 0.56);
  border-radius: 24px;
  background:
    radial-gradient(circle at 8% 8%, rgba(43, 255, 0, 0.2), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(194, 126, 236, 0.42), transparent 34%),
    linear-gradient(122deg, #251038 0%, #3c1759 42%, #57227d 72%, #7131a5 100%);
  color: #ffffff;
  box-shadow: 0 34px 92px rgba(57, 17, 85, 0.3), inset 0 1px 0 rgba(255, 255, 255, 0.14);
  overflow: hidden;
}

body.theme-dark .dev-profile-hero {
  background:
    radial-gradient(circle at 8% 8%, rgba(43, 255, 0, 0.18), transparent 30%),
    radial-gradient(circle at 92% 12%, rgba(194, 126, 236, 0.38), transparent 34%),
    linear-gradient(122deg, #1d0b2d 0%, #35134f 42%, #4f1d74 72%, #672b98 100%);
}

.dev-profile-copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
}

.dev-profile-copy h1 {
  max-width: 700px;
  margin: 0;
  font-size: clamp(2.05rem, 3.7vw, 3.75rem);
  line-height: 1.03;
  letter-spacing: 0;
}

.dev-profile-hero .dev-profile-copy h1 {
  color: #ffffff;
}

.dev-profile-copy h1 span {
  color: #d6a3f3;
}

.dev-profile-copy p {
  max-width: 660px;
  margin: 0;
  color: rgba(255, 255, 255, 0.8);
  font-size: clamp(1rem, 1.35vw, 1.18rem);
  line-height: 1.58;
}

.dev-profile-hero .dev-profile-copy > .eyebrow {
  color: #d8aff0;
}

.dev-profile-hero .dev-profile-actions .btn {
  border-color: #2bff00;
  background: linear-gradient(135deg, #2bff00, #79e653);
  color: #10200f;
  box-shadow: 0 14px 30px rgba(43, 255, 0, 0.2);
}

.dev-profile-hero .dev-profile-actions .btn.ghost {
  border-color: rgba(255, 255, 255, 0.42);
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
  box-shadow: none;
  backdrop-filter: blur(8px);
}

.dev-profile-hero .dev-profile-badge-showcase {
  border-color: rgba(255, 255, 255, 0.34);
  background: rgba(255, 255, 255, 0.94);
  color: #17121e;
  box-shadow: 0 24px 52px rgba(25, 7, 40, 0.24);
}

.dev-profile-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.dev-profile-identity {
  display: grid;
  grid-template-rows: 1fr auto;
  gap: 16px;
}

.dev-profile-photo,
.dev-profile-badge-showcase,
.dev-profile-stats article,
.dev-profile-section,
.dev-profile-grade,
.dev-profile-history {
  border: 1px solid var(--line);
  background: var(--surface);
  box-shadow: 0 18px 46px rgba(17, 24, 39, 0.08);
}

.dev-profile-photo {
  position: relative;
  min-height: 300px;
  aspect-ratio: 1.28 / 1;
  border-radius: 22px;
  display: grid;
  place-items: center;
  padding: 28px;
  overflow: hidden;
  background:
    radial-gradient(circle at 18% 20%, rgba(43, 255, 0, 0.16), transparent 22%),
    radial-gradient(circle at 76% 74%, rgba(144, 92, 174, 0.24), transparent 32%),
    linear-gradient(145deg, rgba(144, 92, 174, 0.34), rgba(255, 255, 255, 0.9));
  isolation: isolate;
}

.dev-profile-photo::before {
  content: "";
  position: absolute;
  inset: 28px;
  z-index: 0;
  border-radius: 36px;
  background: rgba(255, 255, 255, 0.86);
  box-shadow: 0 28px 60px rgba(17, 24, 39, 0.14);
}

.dev-profile-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.32);
  pointer-events: none;
}

.dev-profile-photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  object-position: center center;
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.86);
  filter: drop-shadow(0 26px 34px rgba(17, 24, 39, 0.18));
}

.dev-profile-photo.is-illustrated {
  padding: 0;
}

.dev-profile-photo.is-illustrated img {
  width: min(72%, 270px);
  height: min(72%, 270px);
  object-fit: contain;
  border-radius: 28px;
  filter: drop-shadow(0 28px 38px rgba(17, 24, 39, 0.16));
}

.dev-profile-photo span {
  width: 148px;
  height: 148px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--brand), var(--accent));
  color: #ffffff;
  font-size: 4.5rem;
  font-weight: 950;
  box-shadow: 0 24px 54px rgba(144, 92, 174, 0.3);
}

.dev-profile-badge-showcase {
  display: grid;
  grid-template-columns: 76px 1fr;
  gap: 12px;
  align-items: center;
  min-height: 112px;
  padding: 16px;
  border-radius: 18px;
}

.dev-profile-badge-showcase img {
  grid-row: span 2;
  width: 76px;
  height: 76px;
  object-fit: contain;
  filter: drop-shadow(0 16px 20px rgba(17, 24, 39, 0.16));
}

.dev-profile-badge-showcase span,
.dev-profile-grade span {
  color: var(--accent);
  font-size: 0.76rem;
  font-weight: 950;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.dev-profile-badge-showcase strong {
  align-self: start;
  font-size: 1.2rem;
}

.dev-profile-badge-showcase.is-socio span {
  color: #875300;
}

.dev-profile-badge-showcase.is-dev span {
  color: #52606d;
}

.dev-profile-badge-showcase.is-free span {
  color: #88451e;
}

.dev-profile-hero .dev-profile-badge-showcase.is-socio {
  border-color: #d19a18;
  background: linear-gradient(135deg, #fff9d8 0%, #efd06d 48%, #fffdf1 100%);
  box-shadow: 0 22px 48px rgba(180, 119, 8, 0.3), inset 5px 0 0 #d19a18;
}

.dev-profile-hero .dev-profile-badge-showcase.is-dev {
  border-color: #9aa6b2;
  background: linear-gradient(135deg, #ffffff 0%, #c9d1d9 48%, #f7f9fb 100%);
  box-shadow: 0 22px 48px rgba(82, 96, 109, 0.28), inset 5px 0 0 #8b98a5;
}

.dev-profile-hero .dev-profile-badge-showcase.is-free {
  border-color: #b86b38;
  background: linear-gradient(135deg, #fff5e9 0%, #cf8a58 48%, #fffaf4 100%);
  box-shadow: 0 22px 48px rgba(136, 69, 30, 0.28), inset 5px 0 0 #a95d2e;
}

.dev-profile-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-top: 18px;
}

.dev-profile-stats article {
  --metric-card-tilt: -0.7deg;
  position: relative;
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: 0 18px 46px rgba(17, 24, 39, 0.08);
}

.dev-profile-stats article:nth-child(even) { --metric-card-tilt: 0.7deg; }
.dev-profile-stats article.is-ideal { --metric-state-color: #25d90b; }
.dev-profile-stats article.is-alert { --metric-state-color: #f29a22; }

@media (hover: hover) and (pointer: fine) {
  .dev-profile-stats article:hover {
    border-color: var(--line);
    transform: translateY(-4px) rotate(var(--metric-card-tilt));
    box-shadow: 0 22px 48px rgba(17, 24, 39, 0.14);
  }

  .dev-profile-stats article:has(.dev-stat-help[aria-expanded="true"]):hover {
    transform: translateY(-2px);
  }
}

/* Cascata final dos bilhetes da home. */
body.route-home .home-briefing-section .workflow-card .workflow-icon,
body.route-home .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon,
body.route-home.theme-dark .home-briefing-section .workflow-card .workflow-icon,
body.route-home.theme-dark .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon {
  width: 48px;
  height: 48px;
  margin: 0 0 18px;
  background: rgba(144, 92, 174, .14);
  color: #71388e;
  box-shadow: none;
}

body.route-home .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon,
body.route-home.theme-dark .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon {
  background: rgba(36, 197, 20, .14);
  color: #187c16;
}

@media (max-width: 760px) {
  body.route-home .home-briefing-section .workflow-card,
  body.route-home .home-briefing-section .workflow-card:nth-child(even) {
    min-height: 260px;
    align-items: flex-start;
    padding: 54px 38px 34px;
    text-align: left;
    transform-origin: 50% 8%;
    animation: workflowPaperSway 5.8s ease-in-out var(--workflow-note-delay) infinite;
  }

  body.route-home .home-briefing-section .workflow-card:hover,
  body.route-home .home-briefing-section .workflow-card:nth-child(even):hover {
    background: transparent;
    transform: translateY(-6px) rotate(calc(var(--workflow-note-angle) * -1.4)) scale(1.018);
  }

  body.route-home .home-briefing-section .workflow-card .workflow-icon {
    width: 48px;
    height: 48px;
    margin: 0 0 16px;
    animation: none;
  }

  body.route-home .home-briefing-section .workflow-card h3,
  body.route-home .home-briefing-section .workflow-card p {
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    text-align: left;
    animation: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-home .home-briefing-section .workflow-card,
  body.route-home .home-briefing-section .workflow-pin {
    animation: none !important;
  }

  body.route-home .home-briefing-section .workflow-card {
    transform: rotate(var(--workflow-note-angle));
  }
}

.dev-profile-stats article:has(.dev-stat-help[aria-expanded="true"]) {
  z-index: 12;
}

.dev-profile-stats span,
.dev-profile-stats small {
  display: block;
  color: var(--muted);
  font-weight: 750;
}

.dev-profile-stats strong {
  display: block;
  margin: 7px 0 2px;
  color: var(--metric-state-color, var(--brand));
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 0.95;
}

.dev-stat-help {
  --dev-stat-icon-color: var(--accent);
  position: absolute;
  z-index: 4;
  top: 12px;
  right: 12px;
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  min-height: 0;
  padding: 0;
  border: 0;
  border-radius: 12px;
  background: linear-gradient(135deg, rgba(43, 255, 0, .16), rgba(144, 92, 174, .18));
  color: var(--dev-stat-icon-color);
  box-shadow: none;
  cursor: pointer;
  transition: transform .18s ease, filter .18s ease;
}

.dev-stat-help svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dev-stat-help:hover,
.dev-stat-help:focus-visible,
.dev-stat-help[aria-expanded="true"] {
  background: linear-gradient(135deg, rgba(43, 255, 0, .23), rgba(144, 92, 174, .27));
  color: var(--dev-stat-icon-color);
  box-shadow: none;
  transform: translateY(-2px) rotate(-4deg);
  filter: brightness(1.1);
}

.dev-stat-help:focus-visible {
  outline: 3px solid #fff;
  outline-offset: 2px;
}

.dev-stat-help-popover {
  position: absolute;
  z-index: 8;
  top: 58px;
  right: 12px;
  width: min(280px, calc(100% - 24px));
  padding: 14px;
  border: 1px solid rgba(144, 92, 174, .35);
  border-radius: 14px;
  background: #fff;
  color: #17131b;
  box-shadow: 0 18px 40px rgba(31, 16, 42, .24);
  text-align: left;
}

.dev-stat-help-popover[hidden] { display: none; }

.dev-stat-help-popover::before {
  content: "";
  position: absolute;
  top: -7px;
  right: 12px;
  width: 12px;
  height: 12px;
  border-top: 1px solid rgba(144, 92, 174, .35);
  border-left: 1px solid rgba(144, 92, 174, .35);
  background: #fff;
  transform: rotate(45deg);
}

.dev-profile-stats .dev-stat-help-popover strong {
  display: block;
  margin: 0 0 6px;
  color: #55257a;
  font-size: .9rem;
  line-height: 1.2;
}

.dev-stat-help-popover p {
  margin: 0;
  color: #55505b;
  font-size: .78rem;
  line-height: 1.45;
}

body.theme-dark:not(.route-admin-mestre) .dev-stat-help-popover {
  border-color: rgba(196, 106, 255, .42);
  background: #211728;
  color: #fff;
}

body.theme-dark:not(.route-admin-mestre) .dev-stat-help-popover::before {
  border-color: rgba(196, 106, 255, .42);
  background: #211728;
}

body.theme-dark:not(.route-admin-mestre) .dev-profile-stats .dev-stat-help-popover strong { color: #d8a0ff; }
body.theme-dark:not(.route-admin-mestre) .dev-stat-help-popover p { color: #d2c8d8; }

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

.dev-profile-main {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-content: start;
}

.dev-profile-main > .dev-profile-portfolio {
  grid-column: 1 / -1;
}

.dev-profile-side {
  order: -1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  align-content: start;
}

.dev-profile-side > article {
  height: 100%;
}

.dev-profile-section,
.dev-profile-grade,
.dev-profile-history {
  padding: clamp(20px, 3vw, 30px);
  border-radius: 20px;
}

.dev-profile-section h2,
.dev-profile-grade strong {
  margin: 6px 0 12px;
  font-size: clamp(1.5rem, 2.4vw, 2.4rem);
  line-height: 1.05;
}

.dev-profile-section p,
.dev-profile-grade p,
.dev-profile-history p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.dev-profile-lead {
  margin: -2px 0 18px !important;
  max-width: 760px;
  font-size: 1.02rem;
  font-weight: 750;
}

.dev-profile-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.dev-profile-tags span {
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--accent-soft);
  color: var(--ink);
  font-size: 0.82rem;
  font-weight: 900;
}

.dev-profile-reasons {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}

.dev-profile-reasons div,
.dev-profile-comments figure,
.dev-profile-history div {
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(144, 92, 174, 0.045);
}

.dev-profile-reasons div {
  display: grid;
  grid-template-columns: 1fr;
  gap: 11px;
  padding: 16px;
}

.dev-profile-reasons strong {
  display: block;
  margin: 0;
  color: var(--accent);
  font-size: 0.95rem;
}

.dev-profile-reason-head {
  display: flex;
  align-items: center;
  gap: 11px;
}

.dev-profile-reason-head i {
  display: grid;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 11px;
  background: linear-gradient(135deg, rgba(43, 255, 0, 0.16), rgba(144, 92, 174, 0.18));
  color: var(--accent);
}

.dev-profile-reason-head svg {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.dev-profile-reasons p {
  margin: 0;
  line-height: 1.55;
}

.dev-profile-portfolio-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.dev-profile-portfolio-head h2 {
  margin-bottom: 0;
}

.dev-profile-portfolio-head > span {
  flex: 0 0 auto;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.12);
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 950;
}

.dev-profile-portfolio-collapse-summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  cursor: pointer;
  list-style: none;
  user-select: none;
}

.dev-profile-portfolio-collapse-summary::-webkit-details-marker {
  display: none;
}

.dev-profile-portfolio-collapse-summary h2 {
  margin: 8px 0 0;
}

.dev-profile-portfolio-collapse-meta {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 13px;
}

.dev-profile-portfolio-collapse-meta > b {
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.12);
  color: var(--ink);
  font-size: 0.76rem;
  font-weight: 950;
  white-space: nowrap;
}

.dev-profile-portfolio-collapse[open] .dev-execution-collapse-icon {
  transform: rotate(180deg);
  background: rgba(144, 92, 174, 0.12);
}

.dev-profile-portfolio-collapse-body {
  margin-top: 22px;
}

.dev-profile-portfolio-collapse-summary:focus-visible {
  outline: 2px solid var(--brand);
  outline-offset: 8px;
  border-radius: 6px;
}

.dev-profile-portfolio-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  margin-top: 20px;
}

.dev-profile-portfolio-editor {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  margin-top: 20px;
  padding: 20px;
  border: 1px solid rgba(144, 92, 174, 0.24);
  border-radius: 14px;
  background: linear-gradient(120deg, rgba(34, 255, 0, 0.07), rgba(144, 92, 174, 0.08));
}

.dev-profile-portfolio-editor-head,
.dev-profile-portfolio-editor-description,
.dev-profile-portfolio-editor > button {
  grid-column: 1 / -1;
}

.dev-profile-portfolio-editor-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.dev-profile-portfolio-editor-head strong {
  display: block;
  color: var(--ink);
  font-size: 1.08rem;
}

.dev-profile-portfolio-editor-head p {
  margin: 5px 0 0;
  color: var(--muted);
}

.dev-profile-portfolio-editor-head > span {
  flex: 0 0 auto;
  color: var(--accent);
  font-size: 0.78rem;
  font-weight: 900;
}

.dev-profile-portfolio-editor label {
  display: grid;
  gap: 8px;
  min-width: 0;
  color: var(--ink);
  font-weight: 900;
}

.dev-profile-portfolio-editor label small {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 700;
}

.dev-profile-portfolio-editor select,
.dev-profile-portfolio-editor input,
.dev-profile-portfolio-editor textarea {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--surface);
  color: var(--ink);
}

.dev-profile-portfolio-editor > button {
  min-height: 50px;
  border: 0;
  border-radius: 10px;
  background: var(--green);
  color: #07110b;
  font-weight: 950;
  cursor: pointer;
}

.dev-profile-portfolio-empty {
  margin-top: 20px;
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 12px;
  color: var(--muted);
  line-height: 1.5;
}

.dev-profile-portfolio-grid > article {
  display: grid;
  grid-template-columns: minmax(190px, 0.72fr) minmax(280px, 1.45fr) minmax(150px, 0.55fr);
  align-items: stretch;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--surface);
  box-shadow: 0 18px 46px rgba(17, 24, 39, 0.07);
  transition: border-color 160ms ease, transform 160ms ease, box-shadow 160ms ease;
}

.dev-profile-portfolio-grid > article:hover {
  transform: translateY(-3px);
  border-color: rgba(144, 92, 174, 0.42);
  box-shadow: 0 22px 54px rgba(17, 24, 39, 0.11);
}

.dev-profile-portfolio-media {
  min-height: 230px;
  overflow: hidden;
  background: #101714;
}

.dev-profile-portfolio-media img,
.dev-profile-portfolio-media video,
.dev-profile-portfolio-media iframe {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border: 0;
}

.dev-profile-portfolio-copy {
  align-self: center;
  padding: 24px 28px;
}

.dev-profile-portfolio-copy > span {
  display: block;
  margin-bottom: 7px;
  color: var(--accent);
  font-size: 0.7rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.dev-profile-portfolio-copy h3 {
  margin: 0 0 8px;
  color: var(--ink);
  font-size: 1.08rem;
  line-height: 1.25;
}

.dev-profile-portfolio-copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.52;
}

.dev-profile-portfolio-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 18px;
}

.dev-profile-portfolio-meta > span {
  display: grid;
  gap: 2px;
  min-width: 94px;
  padding: 9px 11px;
  border-radius: 10px;
  background: color-mix(in srgb, var(--green) 8%, var(--surface));
  color: var(--ink);
  font-size: 0.78rem;
}

.dev-profile-portfolio-meta b {
  color: var(--muted);
  font-size: 0.63rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.dev-profile-portfolio-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  margin-top: 15px;
}

.dev-profile-portfolio-tags span {
  padding: 6px 9px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: var(--ink);
  font-size: 0.7rem;
  font-weight: 850;
}

.dev-profile-portfolio-links {
  display: flex;
  min-width: 0;
  padding: 24px;
  align-items: stretch;
  justify-content: center;
  flex-direction: column;
  gap: 10px;
  border-left: 1px solid var(--line);
}

.dev-profile-portfolio-links a {
  display: flex;
  min-height: 44px;
  padding: 10px 13px;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border: 1px solid rgba(144, 92, 174, 0.34);
  border-radius: 10px;
  color: var(--ink);
  font-size: 0.8rem;
  font-weight: 900;
  text-decoration: none;
}

.dev-profile-portfolio-links a:hover {
  border-color: var(--green);
  color: var(--green-ink, #14bf00);
}

.dev-profile-portfolio-links > span {
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1.45;
  text-align: center;
}

.dev-profile-portfolio-links form {
  display: flex;
  width: 100%;
  margin-top: 4px;
}

.dev-profile-portfolio-delete {
  width: 100%;
  min-height: 44px;
  padding: 10px 13px;
  border: 1px solid rgba(220, 38, 38, 0.38);
  border-radius: 10px;
  background: rgba(220, 38, 38, 0.07);
  color: #c62828;
  font-size: 0.8rem;
  font-weight: 900;
  cursor: pointer;
}

.dev-profile-portfolio-delete:hover,
.dev-profile-portfolio-delete:focus-visible {
  border-color: #dc2626;
  background: #dc2626;
  color: #fff;
}

@media (max-width: 960px) {
  .dev-profile-portfolio-grid > article {
    grid-template-columns: minmax(180px, 0.8fr) minmax(0, 1.2fr);
  }

  .dev-profile-portfolio-links {
    grid-column: 1 / -1;
    padding: 14px 18px 18px;
    flex-direction: row;
    border-top: 1px solid var(--line);
    border-left: 0;
  }

  .dev-profile-portfolio-links a {
    flex: 1;
  }

  .dev-profile-portfolio-links form {
    flex: 1;
    margin-top: 0;
  }
}

@media (max-width: 680px) {
  .dev-profile-portfolio-grid > article {
    grid-template-columns: 1fr;
  }

  .dev-profile-portfolio-media {
    min-height: 210px;
    aspect-ratio: 16 / 10;
  }

  .dev-profile-portfolio-copy {
    padding: 20px;
  }

  .dev-profile-portfolio-links {
    grid-column: auto;
    flex-direction: column;
  }
}

.dev-profile-testimonials {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  height: clamp(600px, 47vw, 680px);
  min-height: 430px;
  margin-top: 22px;
  overflow: hidden;
  border: 1px solid rgba(144, 92, 174, 0.28);
  border-radius: 22px;
  background: var(--surface);
  box-shadow: 0 28px 70px rgba(17, 24, 39, 0.1);
}

.dev-testimonials-visual {
  position: relative;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  background: #d9dde2;
}

.dev-testimonials-visual > img {
  width: 100%;
  height: 100%;
  min-height: 0;
  display: block;
  object-fit: cover;
  object-position: center;
}

.dev-testimonials-summary {
  position: absolute;
  inset: 0 auto auto 0;
  width: 50%;
  height: 50%;
  min-height: 0;
  box-sizing: border-box;
  padding: 28px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  z-index: 3;
  overflow: hidden;
  background-color: #2bff00 !important;
  background-image: none !important;
  color: #10140f;
  opacity: 1;
  isolation: isolate;
}

.dev-testimonials-summary:hover,
.dev-testimonials-summary:focus-within {
  background-color: #2bff00 !important;
  background-image: none !important;
  opacity: 1;
}

.dev-testimonials-summary > span {
  position: absolute;
  top: 8px;
  left: 24px;
  font-family: Georgia, serif;
  font-size: 7rem;
  font-weight: 900;
  line-height: 1;
  opacity: 0.32;
}

.dev-testimonials-summary strong {
  position: relative;
  max-width: 180px;
  font-size: clamp(1.3rem, 2.2vw, 2rem);
  line-height: 1.02;
}

.dev-testimonials-summary small,
.dev-testimonials-summary b {
  position: relative;
  display: block;
  margin-top: 8px;
  font-size: 0.78rem;
}

.dev-testimonials-summary b {
  font-size: 0.9rem;
}

.dev-testimonials-content {
  display: flex;
  flex-direction: column;
  padding: clamp(28px, 4vw, 58px);
  background:
    radial-gradient(circle at 100% 0%, rgba(144, 92, 174, 0.15), transparent 42%),
    var(--surface);
}

.dev-testimonials-content h2 {
  max-width: 500px;
  margin: 12px 0 24px;
  color: var(--ink);
  font-size: clamp(1.75rem, 3.2vw, 3.1rem);
  line-height: 1.02;
}

.dev-testimonials-demo-note {
  width: max-content;
  max-width: 100%;
  margin: -12px 0 22px;
  padding: 7px 11px;
  border: 1px solid rgba(144, 92, 174, 0.3);
  border-radius: 999px;
  background: rgba(144, 92, 174, 0.1);
  color: var(--muted);
  font-size: 0.72rem;
  font-weight: 900;
}

.dev-testimonials-track {
  flex: 1;
}

.dev-testimonials-track figure {
  margin: 0;
}

.dev-testimonials-track figure[hidden] {
  display: none !important;
}

.dev-profile-rating {
  width: max-content;
  margin-bottom: 14px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(43, 255, 0, 0.12);
  color: var(--accent);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  font-weight: 950;
}

.dev-testimonials-track blockquote {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
  position: relative;
  margin: 0;
  color: var(--ink);
  font-size: clamp(1.2rem, 2.2vw, 2rem);
  font-weight: 750;
  line-height: 1.32;
}

.dev-testimonials-track figcaption {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 28px;
}

.dev-testimonials-track figcaption img {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  border: 1px solid rgba(144, 92, 174, 0.24);
  background: #f7fbf4;
  object-fit: contain;
  box-shadow: 0 12px 22px rgba(144, 92, 174, 0.18);
}

.dev-profile-comment-initial {
  display: grid;
  width: 54px;
  height: 54px;
  flex: 0 0 54px;
  place-items: center;
  border: 1px solid rgba(144, 92, 174, 0.24);
  border-radius: 16px;
  background: rgba(43, 255, 0, 0.12);
  color: var(--ink);
  font-size: 1rem;
  font-weight: 950;
  box-shadow: 0 12px 22px rgba(144, 92, 174, 0.14);
}

.dev-testimonials-track small {
  display: block;
  color: var(--muted);
}

.dev-testimonials-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-top: 28px;
}

.dev-testimonials-controls {
  display: flex;
  gap: 10px;
}

.dev-testimonials-controls button {
  width: 48px;
  height: 48px;
  padding: 0;
  border: 1px solid rgba(144, 92, 174, 0.34);
  border-radius: 50%;
  background: transparent;
  color: var(--ink);
  font-size: 1.35rem;
  font-weight: 900;
  cursor: pointer;
  transition: color 160ms ease, background-color 160ms ease, border-color 160ms ease;
}

.dev-testimonials-controls button:hover,
.dev-testimonials-controls button:focus-visible {
  border-color: var(--purple);
  background: var(--purple);
  color: #fff;
}

.dev-testimonials-footer > span {
  color: var(--muted);
  font-size: 0.78rem;
  font-weight: 900;
}

.dev-profile-grade {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  text-align: center;
  display: grid;
  justify-items: center;
  background:
    radial-gradient(circle at 50% -6%, rgba(255, 205, 64, 0.3), transparent 34%),
    radial-gradient(circle at 8% 82%, rgba(144, 92, 174, 0.3), transparent 38%),
    linear-gradient(145deg, rgba(144, 92, 174, 0.2), rgba(83, 34, 117, 0.08) 48%, rgba(196, 106, 255, 0.22)),
    var(--surface);
  border-color: rgba(157, 87, 195, 0.72);
  box-shadow:
    0 24px 54px rgba(82, 32, 116, 0.22),
    inset 0 0 0 1px rgba(196, 106, 255, 0.1);
}

.dev-profile-grade::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 4px;
  z-index: -1;
  background: linear-gradient(90deg, #7d35a8, #c46aff 48%, #2bff00);
}

.dev-profile-grade::after {
  content: "";
  position: absolute;
  width: 210px;
  height: 210px;
  right: -92px;
  bottom: -112px;
  z-index: -1;
  border-radius: 50%;
  background: rgba(157, 87, 195, 0.18);
  filter: blur(18px);
}

.dev-profile-grade img {
  width: 178px;
  height: 178px;
  object-fit: contain;
  margin: -6px 0 14px;
  filter: drop-shadow(0 26px 30px rgba(55, 18, 76, 0.34));
  transform-origin: 50% 58%;
  animation: devProfileSealLoop 4.2s ease-in-out infinite;
  will-change: transform, filter;
}

@keyframes devProfileSealLoop {
  0%, 100% {
    transform: translateY(0) rotate(-1.5deg) scale(1);
    filter: brightness(1) drop-shadow(0 26px 30px rgba(55, 18, 76, .34));
  }
  50% {
    transform: translateY(-10px) rotate(1.5deg) scale(1.035);
    filter: brightness(1.1) drop-shadow(0 34px 34px rgba(89, 42, 118, .46));
  }
}

.dev-profile-grade span {
  display: inline-block;
  max-width: 100%;
  white-space: nowrap;
}

.dev-profile-grade strong {
  display: block;
  max-width: 100%;
  word-break: keep-all;
}

.dev-profile-history {
  display: grid;
  gap: 12px;
}

.dev-profile-history div {
  padding: 14px;
}

.dev-profile-history small {
  display: block;
  color: var(--accent);
  font-size: 0.72rem;
  font-weight: 950;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.dev-profile-history strong {
  display: block;
  margin: 4px 0;
}

@media (max-width: 1040px) {
  .dev-profile-hero,
  .dev-profile-layout {
    grid-template-columns: 1fr;
  }

  .dev-profile-identity {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
  }

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

  .dev-profile-side {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dev-profile-testimonials {
    grid-template-columns: 1fr;
    height: auto;
  }

  .dev-testimonials-visual,
  .dev-testimonials-visual > img {
    min-height: 390px;
  }
}

@media (max-width: 680px) {
  .dev-profile-page {
    width: min(100% - 28px, 680px);
    padding-top: 28px;
  }

  .dev-profile-hero {
    padding: 18px;
    border-radius: 18px;
  }

  .dev-profile-copy h1 {
    font-size: clamp(1.85rem, 8.5vw, 2.45rem);
  }

  .dev-profile-actions .btn {
    width: 100%;
  }

  .dev-profile-identity,
  .dev-profile-main,
  .dev-profile-reasons,
  .dev-profile-side,
  .dev-profile-portfolio-grid {
    grid-template-columns: 1fr;
  }

  .dev-profile-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
  }

  .dev-profile-testimonials {
    border-radius: 18px;
  }

  .dev-testimonials-visual,
  .dev-testimonials-visual > img {
    min-height: 320px;
  }

  .dev-testimonials-summary {
    width: min(62%, 230px);
    height: auto;
    min-height: 58%;
    padding: 22px;
  }

  .dev-testimonials-content {
    padding: 24px 20px;
  }

  .dev-testimonials-controls button {
    width: 44px;
    height: 44px;
  }

  .dev-profile-portfolio-head {
    align-items: start;
    flex-direction: column;
  }

  .dev-profile-portfolio-editor {
    grid-template-columns: 1fr;
    padding: 16px;
  }

  .dev-profile-portfolio-editor-head,
  .dev-profile-portfolio-editor-description,
  .dev-profile-portfolio-editor > button {
    grid-column: auto;
  }

  .dev-profile-portfolio-editor-head {
    flex-direction: column;
  }

  .dev-profile-photo {
    min-height: 270px;
  }

  .dev-profile-stats article {
    min-width: 0;
    min-height: 142px;
    padding: 14px;
  }

  .dev-profile-stats strong {
    font-size: clamp(2rem, 10vw, 2.4rem);
  }

  .dev-profile-stats span,
  .dev-profile-stats small {
    font-size: 0.78rem;
    line-height: 1.25;
  }

  .dev-profile-section,
  .dev-profile-grade,
  .dev-profile-history {
    padding: 18px;
    border-radius: 16px;
  }
}

@media (max-width: 640px) {
  .dev-profile-grade img {
    width: 154px;
    height: 154px;
  }

  .freela-mascot-switch {
    left: 14px;
    bottom: 18px;
    width: 68px;
    height: 68px;
  }

  .freela-mascot {
    left: 14px;
    right: auto;
    bottom: 94px;
    width: 78px;
    height: 90px;
  }

  .freela-mascot-head {
    left: 13px;
    width: 52px;
    height: 40px;
    border-width: 2px;
    border-radius: 17px;
  }

  .freela-mascot-face {
    inset: 10px 9px 9px;
    gap: 8px;
  }

  .freela-mascot-face i {
    width: 7px;
    height: 6px;
  }

  .freela-mascot-ear {
    top: 23px;
    width: 11px;
    height: 18px;
    border-width: 2px;
  }

  .freela-mascot-ear.left {
    left: 7px;
  }

  .freela-mascot-ear.right {
    right: 7px;
  }

  .freela-mascot-body {
    top: 50px;
    left: 18px;
    width: 43px;
    height: 33px;
    border-width: 2px;
    border-radius: 12px;
  }

  .freela-mascot-mark {
    top: 7px;
    left: 8px;
    font-size: 0.64rem;
  }

  .freela-mascot-core {
    right: 8px;
    bottom: 9px;
    width: 7px;
    height: 7px;
  }

  .freela-mascot-arm {
    top: 56px;
    width: 12px;
    height: 23px;
    border-width: 2px;
  }

  .freela-mascot-arm.left {
    left: 8px;
  }

  .freela-mascot-arm.right {
    right: 8px;
  }

  .freela-mascot-leg {
    bottom: 6px;
    width: 13px;
    height: 13px;
    border-width: 2px;
    border-radius: 6px;
  }

  .freela-mascot-leg.left {
    left: 24px;
  }

  .freela-mascot-leg.right {
    right: 24px;
  }

  .freela-mascot-shadow {
    left: 17px;
    right: 16px;
    height: 10px;
  }

  .freela-mascot-flame {
    width: 15px;
    height: 23px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .dev-profile-grade img {
    animation: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .freela-mascot-bot,
  .freela-mascot-shadow,
  .freela-mascot-face i,
  .freela-mascot-arm,
  .freela-mascot-flame {
    animation: none;
  }
}

.hire-minimum-dialog {
  position: fixed;
  inset: 0;
  z-index: 10020;
  display: grid;
  place-items: center;
  padding: 18px;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
}

.hire-minimum-dialog.is-open {
  pointer-events: auto;
  opacity: 1;
  visibility: visible;
}

.hire-minimum-dialog-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(7, 10, 8, 0.76);
  backdrop-filter: blur(8px);
}

.hire-minimum-dialog > section {
  position: relative;
  z-index: 1;
  display: grid;
  width: min(100%, 460px);
  gap: 12px;
  padding: 28px;
  overflow: hidden;
  border: 1px solid rgba(144, 92, 174, 0.48);
  border-top: 4px solid #2bff00;
  border-radius: 8px;
  background: #fff;
  color: #1f102e;
  box-shadow: 0 26px 80px rgba(5, 8, 6, 0.34);
  animation: hireMinimumDialogIn 180ms ease-out both;
}

.hire-minimum-dialog-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 2px solid #1f102e;
  border-radius: 8px;
  background: #ffcd40;
  color: #1f102e;
  font-size: 1.15rem;
  font-weight: 950;
}

.hire-minimum-dialog-kicker {
  color: #905cae;
  font-size: 0.74rem;
  font-weight: 950;
  text-transform: uppercase;
}

.hire-minimum-dialog h2 {
  margin: 0;
  color: inherit;
  font-size: clamp(1.65rem, 5vw, 2.25rem);
  line-height: 1.05;
  letter-spacing: 0;
}

.hire-minimum-dialog p {
  margin: 0 0 4px;
  color: #5b6470;
  font-size: 1rem;
  line-height: 1.5;
}

.hire-minimum-dialog button {
  width: 100%;
  min-height: 52px;
  margin: 2px 0 0;
  border: 2px solid #1f102e;
  border-radius: 8px;
  background: #2bff00;
  color: #101410;
  font-weight: 950;
  box-shadow: 0 6px 0 #1f102e;
}

.hire-minimum-dialog button:hover,
.hire-minimum-dialog button:focus-visible {
  background: #ffcd40;
  color: #1f102e;
}

.hire-minimum-dialog-timer {
  height: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e6e9ed;
}

.hire-minimum-dialog-timer span {
  display: block;
  width: 100%;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #ffcd40, #2bff00, #905cae);
  transform-origin: left center;
  animation: hireMinimumCountdown 10s linear forwards;
}

.hire-minimum-dialog small {
  color: #6c7480;
  font-size: 0.76rem;
  font-weight: 800;
}

body.theme-dark .hire-minimum-dialog > section {
  border-color: rgba(144, 92, 174, 0.72);
  border-top-color: #2bff00;
  background: #20152a;
  color: #fff;
  box-shadow: 0 26px 90px rgba(0, 0, 0, 0.72);
}

body.theme-dark .hire-minimum-dialog p,
body.theme-dark .hire-minimum-dialog small {
  color: #c5c0ca;
}

body.theme-dark .hire-minimum-dialog-icon {
  border-color: #fff;
}

body.theme-dark .hire-minimum-dialog button {
  border-color: #fff;
  box-shadow: 0 6px 0 rgba(255, 255, 255, 0.2);
}

body.theme-dark .hire-minimum-dialog-timer {
  background: rgba(255, 255, 255, 0.14);
}

@keyframes hireMinimumDialogIn {
  from {
    opacity: 0;
    transform: translateY(14px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

@keyframes hireMinimumCountdown {
  to {
    transform: scaleX(0);
  }
}

@media (max-width: 480px) {
  .hire-minimum-dialog {
    padding: 14px;
  }

  .hire-minimum-dialog > section {
    padding: 22px 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hire-minimum-dialog > section {
    animation: none;
  }
}

.mobile-hire-shell {
  display: none;
}

@media (min-width: 761px) {
  .mobile-hire-modal,
  .mobile-followup-modal,
  .mobile-ai-loader {
    display: none !important;
  }

  body.budget-adjust-open {
    overflow: hidden;
  }

  .budget-adjust-modal {
    --mobile-step-accent: #ffcd40;
    --mobile-step-accent-2: #2bff00;
    position: fixed;
    inset: 0;
    z-index: 9992;
    display: grid;
    place-items: center;
    padding: 28px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 180ms ease, visibility 180ms ease;
  }

  .budget-adjust-modal.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }

  .budget-adjust-modal .mobile-hire-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    background: rgba(4, 9, 7, 0.78);
    backdrop-filter: blur(8px);
  }

  .budget-adjust-card {
    position: relative;
    z-index: 1;
    width: min(100%, 560px);
    max-height: calc(100dvh - 56px);
    display: grid;
    overflow: auto;
    border: 1px solid rgba(169, 101, 202, 0.48);
    border-radius: 24px;
    color: #fff;
    background:
      radial-gradient(circle at 8% 4%, rgba(43, 255, 0, 0.18), transparent 32%),
      radial-gradient(circle at 100% 10%, rgba(169, 101, 202, 0.28), transparent 36%),
      linear-gradient(155deg, #0c1710 0%, #15111b 55%, #28113d 100%);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.5);
    transform: translateY(14px) scale(0.98);
    transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
  }

  .budget-adjust-modal.is-open .budget-adjust-card {
    transform: translateY(0) scale(1);
  }

  .budget-adjust-card .mobile-hire-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 22px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  }

  .budget-adjust-card .mobile-hire-brand {
    display: flex;
    align-items: center;
    gap: 13px;
  }

  .budget-adjust-card .mobile-hire-brand > span:last-child {
    display: grid;
    gap: 3px;
  }

  .budget-adjust-card .mobile-hire-brand small,
  .budget-adjust-body dt {
    color: var(--mobile-step-accent);
    font-size: 0.72rem;
    font-weight: 950;
    letter-spacing: 0.06em;
    text-transform: uppercase;
  }

  .budget-adjust-card .mobile-hire-brand strong {
    font-size: 1.3rem;
  }

  .budget-adjust-card .mobile-hire-close {
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    color: #fff;
    background: rgba(255, 255, 255, 0.06);
    font-size: 1rem;
    font-weight: 900;
    cursor: pointer;
  }

  .budget-adjust-body {
    display: grid;
    gap: 16px;
    padding: 22px;
  }

  .budget-adjust-body p {
    margin: 0;
    color: rgba(255, 255, 255, 0.76);
    font-weight: 720;
    line-height: 1.5;
  }

  .budget-adjust-body dl {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
    margin: 0;
  }

  .budget-adjust-body dl div {
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 15px;
    background: rgba(255, 255, 255, 0.055);
  }

  .budget-adjust-body dt {
    margin-bottom: 7px;
  }

  .budget-adjust-body dd {
    margin: 0;
    color: #fff;
    font-size: 1.18rem;
    font-weight: 920;
  }

  .budget-adjust-body label {
    display: grid;
    gap: 8px;
    color: #fff;
    font-weight: 900;
  }

  .budget-adjust-body .money-field {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 0 15px;
    border: 1px solid rgba(43, 255, 0, 0.28);
    border-radius: 14px;
    background: rgba(4, 15, 9, 0.78);
  }

  .budget-adjust-body .money-field input {
    width: 100%;
    min-height: 52px;
    border: 0;
    outline: 0;
    color: #fff;
    background: transparent;
    font: inherit;
    font-weight: 900;
  }

  .budget-adjust-card .mobile-hire-actions {
    display: grid;
    grid-template-columns: auto 1fr 1fr;
    gap: 10px;
    padding: 18px 22px 22px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
  }

  .budget-adjust-card .mobile-hire-actions .btn {
    min-height: 46px;
  }
}

@media (max-width: 760px) {
  body.mobile-hire-open {
    overflow: hidden;
  }

  body.mobile-followup-open {
    overflow: hidden;
  }

  body.budget-adjust-open {
    overflow: hidden;
  }

  body.mobile-ai-loading {
    overflow: hidden;
  }

  body.route-contratar .page-head {
    padding-bottom: 10px;
  }

  body.route-contratar .form-layout {
    padding-top: 10px;
  }

  body.route-contratar .intake-card {
    padding: 14px;
  }

  body.route-contratar .intake-card > .hire-priority-panel {
    display: none;
  }

  .mobile-hire-shell {
    display: block;
  }

  .mobile-hire-launch {
    width: 100%;
    min-height: 0;
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid rgba(43, 255, 0, 0.9);
    border-radius: 18px;
    color: #241034;
    text-align: left;
    background: #2bff00;
    box-shadow: 0 18px 42px rgba(42, 15, 73, 0.16);
  }

  .mobile-hire-card-media {
    display: grid;
    place-items: center;
    min-height: 164px;
    padding: 18px 18px 6px;
    background: linear-gradient(180deg, #fbfcff 0%, #ffffff 100%);
  }

  .mobile-hire-card-media img {
    width: min(78%, 230px);
    height: auto;
    object-fit: contain;
    filter: drop-shadow(0 18px 26px rgba(84, 35, 116, 0.16));
  }

  .mobile-hire-ai-mark,
  .mobile-hire-bot {
    flex: 0 0 auto;
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    color: #241034;
    font-weight: 950;
    background: linear-gradient(135deg, #2bff00 0%, #ffffff 52%, #a965ca 100%);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.62), 0 12px 24px rgba(43, 255, 0, 0.18);
  }

  .mobile-hire-brand .mobile-hire-bot {
    width: 64px;
    height: 64px;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
  }

  .mobile-hire-brand .mobile-hire-bot img {
    display: block;
    width: 64px;
    height: 64px;
    object-fit: contain;
    filter: drop-shadow(0 10px 16px rgba(43, 255, 0, 0.2));
  }

  .mobile-hire-launch span:last-child {
    display: grid;
    grid-template-columns: 1fr;
    grid-template-areas:
      "eyebrow"
      "title"
      "copy"
      "cta";
    align-content: start;
    row-gap: 5px;
    justify-items: center;
    min-width: 0;
    padding: 18px 20px 20px;
    text-align: center;
  }

  .mobile-hire-launch > .mobile-hire-ai-mark {
    align-self: center;
  }

  .mobile-hire-launch small,
  .mobile-hire-brand small,
  .mobile-hire-step > span {
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-size: 0.72rem;
    font-weight: 900;
  }

  .mobile-hire-launch small {
    grid-area: eyebrow;
    color: #905cae;
  }

  .mobile-hire-launch strong {
    grid-area: title;
    max-width: 12ch;
    color: #241034;
    font-size: clamp(1.35rem, 7vw, 2rem);
    line-height: 1;
  }

  .mobile-hire-launch em {
    grid-area: copy;
    max-width: 24ch;
    color: #536173;
    font-style: normal;
    font-weight: 760;
    line-height: 1.36;
  }

  .mobile-hire-launch b {
    grid-area: cta;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: max-content;
    min-height: 46px;
    gap: 12px;
    margin-top: 16px;
    padding: 0 17px;
    border-radius: 9px;
    color: #241034;
    background: #eef2f5;
    font-size: 0.95rem;
    font-weight: 950;
    box-shadow: none;
  }

  .mobile-hire-launch b i {
    color: #241034;
    font-size: 1.2rem;
    font-style: normal;
    line-height: 1;
  }

  body.theme-dark:not(.route-admin-mestre) .mobile-hire-launch {
    color: #f5f7f6;
    border-color: rgba(43, 255, 0, 0.48);
    background:
      radial-gradient(circle at 82% 18%, rgba(169, 101, 202, 0.18), transparent 34%),
      linear-gradient(145deg, #151a18 0%, #0c110f 100%);
    box-shadow: 0 20px 46px rgba(0, 0, 0, 0.3);
  }

  body.theme-dark:not(.route-admin-mestre) .mobile-hire-card-media {
    background:
      radial-gradient(circle at 50% 48%, rgba(43, 255, 0, 0.12), transparent 46%),
      linear-gradient(180deg, #171d1a 0%, #101512 100%);
  }

  body.theme-dark:not(.route-admin-mestre) .mobile-hire-launch strong {
    color: #f7f8f7;
  }

  body.theme-dark:not(.route-admin-mestre) .mobile-hire-launch em {
    color: #b9c2bd;
  }

  body.theme-dark:not(.route-admin-mestre) .mobile-hire-launch b {
    color: #071008;
    background: #2bff00;
  }

  body.theme-dark:not(.route-admin-mestre) .mobile-hire-launch b i {
    color: #071008;
  }

  .mobile-hire-modal {
    --mobile-step-accent: #2bff00;
    --mobile-step-accent-2: #a965ca;
    position: fixed;
    inset: 0;
    z-index: 9990;
    display: grid;
    align-items: end;
    padding: 10px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 180ms ease, visibility 180ms ease;
  }

  .mobile-followup-modal {
    --mobile-step-accent: #2bff00;
    --mobile-step-accent-2: #a965ca;
    position: fixed;
    inset: 0;
    z-index: 9991;
    display: grid;
    align-items: center;
    justify-items: center;
    padding: 18px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 180ms ease, visibility 180ms ease;
  }

  .budget-adjust-modal {
    --mobile-step-accent: #ffcd40;
    --mobile-step-accent-2: #2bff00;
    position: fixed;
    inset: 0;
    z-index: 9992;
    display: grid;
    align-items: center;
    justify-items: center;
    padding: 18px;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 180ms ease, visibility 180ms ease;
  }

  .mobile-ai-loader {
    --loader-accent: #2bff00;
    --loader-accent-alt: #ffcd40;
    position: fixed;
    inset: 0;
    z-index: 9993;
    display: grid;
    place-items: center;
    padding: 0;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity 180ms ease, visibility 180ms ease;
  }

  .mobile-ai-loader[data-loader-mode="result"] {
    --loader-accent: #a965ca;
    --loader-accent-alt: #2bff00;
  }

  .mobile-ai-loader.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }

  .budget-adjust-modal.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }

  .mobile-followup-modal.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }

  .mobile-hire-modal.is-open {
    pointer-events: auto;
    opacity: 1;
    visibility: visible;
  }

  .mobile-hire-modal[data-mobile-step="project"] {
    --mobile-step-accent: #2bff00;
    --mobile-step-accent-2: #7cff75;
  }

  .mobile-hire-modal[data-mobile-step="goal"] {
    --mobile-step-accent: #a965ca;
    --mobile-step-accent-2: #d7b0f2;
  }

  .mobile-hire-modal[data-mobile-step="terms"] {
    --mobile-step-accent: #ffcd40;
    --mobile-step-accent-2: #2bff00;
  }

  .mobile-hire-modal[data-mobile-step="routing"] {
    --mobile-step-accent: #2bff00;
    --mobile-step-accent-2: #33b7ff;
  }

  .mobile-hire-modal[data-mobile-step="direction"] {
    --mobile-step-accent: #8e55cc;
    --mobile-step-accent-2: #2bff00;
  }

  .mobile-hire-modal[data-mobile-step="summary"] {
    --mobile-step-accent: #2bff00;
    --mobile-step-accent-2: #ffcd40;
  }

  .mobile-hire-backdrop {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    border-radius: 0;
    background: rgba(7, 10, 8, 0.66);
    backdrop-filter: blur(10px);
  }

  .mobile-hire-modal .mobile-hire-backdrop:hover,
  .mobile-hire-modal .mobile-hire-backdrop:focus,
  .mobile-hire-modal .mobile-hire-backdrop:focus-visible,
  .mobile-hire-modal .mobile-hire-backdrop:active {
    background: rgba(7, 10, 8, 0.66);
    color: transparent;
    box-shadow: none;
    outline: 0;
    transform: none;
  }

  .mobile-hire-card {
    position: relative;
    z-index: 1;
    width: 100%;
    max-height: calc(100dvh - 20px);
    display: grid;
    grid-template-rows: auto auto auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(144, 92, 174, 0.56);
    border-radius: 26px;
    color: #ffffff;
    background:
      radial-gradient(circle at 12% 4%, rgba(43, 255, 0, 0.22), transparent 30%),
      radial-gradient(circle at 100% 16%, rgba(169, 101, 202, 0.28), transparent 34%),
      linear-gradient(160deg, #0c1710 0%, #121018 45%, #28113f 100%);
    box-shadow: 0 -26px 80px rgba(0, 0, 0, 0.44);
    transform: translateY(18px);
    transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
  }

  .mobile-followup-card {
    position: relative;
    z-index: 1;
    width: min(100%, 420px);
    max-height: calc(100dvh - 36px);
    min-height: min(680px, calc(100dvh - 36px));
    display: grid;
    grid-template-rows: auto auto auto auto minmax(0, 1fr) auto;
    overflow: hidden;
    border: 1px solid rgba(144, 92, 174, 0.56);
    border-radius: 26px;
    color: #ffffff;
    background:
      radial-gradient(circle at 8% 5%, rgba(43, 255, 0, 0.24), transparent 30%),
      radial-gradient(circle at 100% 12%, rgba(169, 101, 202, 0.3), transparent 34%),
      linear-gradient(160deg, #0c1710 0%, #15111b 46%, #2b1244 100%);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.48);
    transform: translateY(10px) scale(0.98);
    transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
  }

  .budget-adjust-card {
    position: relative;
    z-index: 1;
    width: min(100%, 420px);
    display: grid;
    overflow: hidden;
    border: 1px solid rgba(255, 205, 64, 0.48);
    border-radius: 26px;
    color: #ffffff;
    background:
      radial-gradient(circle at 10% 8%, rgba(255, 205, 64, 0.22), transparent 32%),
      radial-gradient(circle at 100% 12%, rgba(43, 255, 0, 0.16), transparent 34%),
      linear-gradient(160deg, #11150f 0%, #17111d 48%, #2a123f 100%);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.48);
    transform: translateY(10px) scale(0.98);
    transition: transform 220ms cubic-bezier(.2, .8, .2, 1);
  }

  .mobile-ai-loader-card {
    position: relative;
    z-index: 1;
    width: 100vw;
    min-height: 100vh;
    min-height: 100dvh;
    display: grid;
    grid-template-rows: auto 1fr auto auto auto auto;
    justify-items: stretch;
    align-content: center;
    gap: 14px;
    padding: max(24px, env(safe-area-inset-top)) 24px max(26px, env(safe-area-inset-bottom));
    overflow: hidden;
    border: 0;
    border-radius: 0;
    color: #ffffff;
    text-align: left;
    background: #0c100e;
    box-shadow: none;
    animation: mobileLoaderIn 190ms ease both;
  }

  .mobile-ai-loader-grid {
    position: absolute;
    inset: 0;
    z-index: -1;
    opacity: 0.34;
    background-image:
      linear-gradient(rgba(43, 255, 0, 0.08) 1px, transparent 1px),
      linear-gradient(90deg, rgba(169, 101, 202, 0.1) 1px, transparent 1px);
    background-size: 42px 42px;
    animation: mobileLoaderGrid 5s linear infinite;
  }

  .mobile-ai-loader-grid::after {
    content: "";
    position: absolute;
    inset: -20% 0 auto;
    height: 34%;
    border-bottom: 2px solid var(--loader-accent);
    background: linear-gradient(180deg, transparent, color-mix(in srgb, var(--loader-accent) 14%, transparent));
    animation: mobileLoaderScan 2s ease-in-out infinite;
  }

  .mobile-ai-loader-brand {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    padding-bottom: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
  }

  .mobile-ai-loader-brand > img {
    width: 46px;
    height: 46px;
    object-fit: contain;
  }

  .mobile-ai-loader-brand span,
  .mobile-ai-loader-brand small,
  .mobile-ai-loader-brand strong {
    display: block;
  }

  .mobile-ai-loader-brand small {
    color: var(--loader-accent);
    font-size: 0.7rem;
    font-weight: 950;
    text-transform: uppercase;
  }

  .mobile-ai-loader-brand strong {
    color: #fff;
    font-size: 0.96rem;
  }

  .mobile-ai-loader-core {
    position: relative;
    display: grid;
    width: 100%;
    place-items: center;
    align-content: center;
    gap: clamp(44px, 9vh, 76px);
  }

  .mobile-ai-loader-logo {
    position: relative;
    z-index: 2;
    display: grid;
    place-items: center;
    width: clamp(126px, 38vw, 170px);
    height: clamp(126px, 38vw, 170px);
    border: 2px solid var(--loader-accent);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.94);
    box-shadow:
      12px 12px 0 color-mix(in srgb, var(--loader-accent) 20%, transparent),
      -12px -12px 0 color-mix(in srgb, var(--loader-accent-alt) 16%, transparent);
    animation: mobileLoaderLogo 1.4s steps(2, end) infinite;
  }

  .mobile-ai-loader-logo img {
    width: 76%;
    height: 76%;
    object-fit: contain;
  }

  .mobile-ai-loader-flow {
    position: relative;
    display: grid;
    width: min(100%, 360px);
    grid-template-columns: repeat(5, 1fr);
    align-items: center;
    justify-items: center;
  }

  .mobile-ai-loader-flow::before,
  .mobile-ai-loader-flow::after {
    content: "";
    position: absolute;
    right: 8%;
    left: 8%;
    height: 3px;
  }

  .mobile-ai-loader-flow::before {
    background: rgba(255, 255, 255, 0.18);
  }

  .mobile-ai-loader-flow::after {
    right: auto;
    width: 84%;
    background: linear-gradient(90deg, var(--loader-accent), var(--loader-accent-alt));
    transform: scaleX(0);
    transform-origin: left;
    animation: mobileLoaderSignal 1.8s ease-in-out infinite;
  }

  .mobile-ai-loader-flow i {
    position: relative;
    z-index: 2;
    width: 18px;
    height: 18px;
    border: 3px solid #0c100e;
    border-radius: 3px;
    background: #66716a;
    box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.18);
    animation: mobileLoaderNode 1.8s steps(2, end) infinite;
  }

  .mobile-ai-loader-flow i:nth-child(2) {
    animation-delay: 180ms;
  }

  .mobile-ai-loader-flow i:nth-child(3) {
    animation-delay: 360ms;
  }

  .mobile-ai-loader-flow i:nth-child(4) {
    animation-delay: 540ms;
  }

  .mobile-ai-loader-flow i:nth-child(5) {
    animation-delay: 720ms;
  }

  .mobile-ai-loader-card span[data-mobile-loader-kicker] {
    color: var(--loader-accent);
    font-size: 0.78rem;
    font-weight: 950;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .mobile-ai-loader-card strong {
    max-width: 13ch;
    color: #ffffff;
    font-size: clamp(2rem, 10vw, 3.3rem);
    line-height: 1;
    letter-spacing: 0;
  }

  .mobile-ai-loader-card p {
    max-width: 34ch;
    margin: 0;
    color: rgba(255, 255, 255, 0.74);
    font-weight: 780;
    line-height: 1.45;
  }

  .mobile-ai-loader-progress {
    width: 100%;
    height: 8px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, 0.18);
    border-radius: 2px;
    background: rgba(255, 255, 255, 0.08);
  }

  .mobile-ai-loader-progress span {
    display: block;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, var(--loader-accent), var(--loader-accent-alt));
    transform: scaleX(0);
    transform-origin: left;
    animation: mobileLoaderProgress 5s linear forwards;
  }

  .mobile-ai-loader-card > small[data-mobile-loader-status] {
    color: rgba(255, 255, 255, 0.68);
    font-size: 0.76rem;
    font-weight: 850;
  }

  .budget-adjust-modal.is-open .budget-adjust-card {
    transform: translateY(0) scale(1);
  }

  .mobile-followup-modal.is-open .mobile-followup-card {
    transform: translateY(0) scale(1);
  }

  .mobile-hire-modal.is-open .mobile-hire-card {
    transform: translateY(0);
  }

  .mobile-hire-header,
  .mobile-hire-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px;
  }

  .mobile-hire-brand {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 12px;
  }

  .mobile-hire-brand span:last-child {
    min-width: 0;
    display: grid;
    gap: 3px;
  }

  .mobile-hire-brand strong {
    font-size: 1rem;
    line-height: 1.1;
  }

  .mobile-hire-close {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 0;
    color: #ffffff;
    background: transparent;
    font-size: 1rem;
    font-weight: 950;
  }

  .mobile-hire-progress {
    height: 8px;
    margin: 0 16px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.1);
  }

  .mobile-hire-progress span {
    display: block;
    width: 20%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--mobile-step-accent), var(--mobile-step-accent-2));
    box-shadow: 0 0 24px rgba(43, 255, 0, 0.46);
    transition: width 220ms ease;
  }

  .mobile-hire-count {
    padding: 10px 16px 0;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
    font-weight: 900;
  }

  .mobile-followup-intro {
    margin: 0 16px 12px;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 18px;
    background: rgba(255, 255, 255, 0.06);
  }

  .mobile-followup-intro strong {
    display: block;
    margin-bottom: 4px;
    color: #ffffff;
    font-size: 1.05rem;
  }

  .mobile-followup-intro p {
    margin: 0;
    color: rgba(255, 255, 255, 0.74);
    font-weight: 760;
    line-height: 1.45;
  }

  .mobile-followup-slot {
    min-height: 0;
    overflow-y: auto;
    padding: 16px;
  }

  .mobile-followup-slot .ai-question-fields {
    display: block;
  }

  .mobile-followup-slot .ai-question-fields label {
    display: none;
  }

  .mobile-followup-slot .ai-question-fields label.is-active {
    display: grid;
    gap: 14px;
    min-height: 100%;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 22px;
    background:
      radial-gradient(circle at 92% 12%, rgba(144, 92, 174, 0.18), transparent 28%),
      rgba(255, 255, 255, 0.06);
    animation: mobileHireStepIn 180ms ease both;
  }

  .mobile-followup-slot .ai-question-fields span {
    color: #ffffff;
    font-size: clamp(1.25rem, 7vw, 1.85rem);
    line-height: 1.08;
  }

  .mobile-followup-slot .ai-question-fields span::before {
    content: "Etapa final";
    display: block;
    width: max-content;
    margin-bottom: 10px;
    padding: 6px 10px;
    border-radius: 999px;
    color: #111111;
    background: linear-gradient(90deg, var(--mobile-step-accent), var(--mobile-step-accent-2));
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
  }

  .mobile-followup-slot textarea {
    min-height: 190px;
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.16);
    background: rgba(255, 255, 255, 0.06);
  }

  .mobile-followup-slot textarea:focus {
    border-color: var(--mobile-step-accent);
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--mobile-step-accent) 22%, transparent);
  }

  .budget-adjust-body {
    display: grid;
    gap: 14px;
    padding: 16px;
  }

  .budget-adjust-body p {
    margin: 0;
    color: rgba(255, 255, 255, 0.78);
    font-weight: 780;
    line-height: 1.45;
  }

  .budget-adjust-body dl {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    margin: 0;
  }

  .budget-adjust-body dl div {
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
  }

  .budget-adjust-body dt {
    margin-bottom: 6px;
    color: var(--mobile-step-accent);
    font-size: 0.72rem;
    font-weight: 950;
    white-space: nowrap;
    text-transform: uppercase;
  }

  .budget-adjust-body dd {
    margin: 0;
    color: #ffffff;
    font-size: clamp(1.12rem, 5.6vw, 1.45rem);
    font-weight: 920;
    line-height: 1.25;
    white-space: nowrap;
  }

  .budget-adjust-body label {
    display: grid;
    gap: 8px;
    color: #ffffff;
    font-weight: 900;
  }

  .budget-adjust-card .mobile-hire-actions {
    grid-template-columns: 0.72fr 1.28fr;
  }

  .budget-adjust-card .budget-adjust-proceed {
    grid-column: 1 / -1;
    order: -1;
    color: #2bff00;
    border-color: rgba(43, 255, 0, 0.38);
    background: rgba(43, 255, 0, 0.08);
  }

  .mobile-hire-steps {
    min-height: 0;
    overflow-y: auto;
    padding: 12px 16px 4px;
  }

  .mobile-hire-step {
    display: none;
  }

  .mobile-hire-step.is-active {
    display: block;
    animation: mobileHireStepIn 180ms ease both;
  }

  .mobile-hire-step > span {
    display: inline-grid;
    place-items: center;
    min-width: 32px;
    height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    color: #111111;
    background: var(--mobile-step-accent);
    box-shadow: 0 8px 22px color-mix(in srgb, var(--mobile-step-accent) 34%, transparent);
  }

  .mobile-hire-step h3 {
    margin: 8px 0 6px;
    color: #ffffff;
    font-size: clamp(1.45rem, 8vw, 2.2rem);
    line-height: 1;
  }

  .mobile-hire-step h3::after {
    content: "";
    display: block;
    width: 46px;
    height: 4px;
    margin-top: 10px;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--mobile-step-accent), var(--mobile-step-accent-2));
  }

  .mobile-hire-step p {
    margin: 0 0 14px;
    color: rgba(255, 255, 255, 0.72);
    font-weight: 750;
  }

  .mobile-hire-slot > label,
  .mobile-hire-slot > .field-grid,
  .mobile-hire-slot > .hire-priority-panel,
  .mobile-hire-slot > .hire-priority-visual,
  .mobile-hire-slot > .hire-routing-controls {
    margin: 0;
  }

  .mobile-hire-slot label,
  .mobile-hire-slot .deadline-range-field,
  .mobile-hire-slot .hire-choice-group legend,
  .mobile-hire-slot .assistant-plan-head span,
  .mobile-hire-slot .assistant-plan-head strong,
  .mobile-hire-slot .hire-priority-note {
    color: #ffffff !important;
  }

  .mobile-hire-slot input,
  .mobile-hire-slot textarea,
  .mobile-hire-slot .money-field,
  .mobile-hire-slot .deadline-range-control,
  .mobile-hire-slot .hire-priority-panel,
  .mobile-hire-slot .hire-impact-card,
  .mobile-hire-slot .hire-choice-group label {
    background-color: rgba(255, 255, 255, 0.06) !important;
    border-color: rgba(255, 255, 255, 0.16) !important;
    color: #ffffff !important;
  }

  .mobile-hire-slot .money-field input,
  .mobile-hire-slot .money-field input:focus,
  .mobile-hire-slot .money-field input:focus-visible {
    border: 0 !important;
    outline: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }

  .mobile-hire-slot input:focus,
  .mobile-hire-slot textarea:focus,
  .mobile-hire-slot .money-field:focus-within,
  .mobile-hire-slot .deadline-range-control:focus-within {
    border-color: var(--mobile-step-accent) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--mobile-step-accent) 22%, transparent) !important;
  }

  .mobile-hire-slot .field-grid,
  .mobile-hire-slot .hire-priority-visual,
  .mobile-hire-slot .hire-option-groups {
    grid-template-columns: 1fr;
  }

  .mobile-hire-slot > .hire-priority-visual {
    display: grid;
    gap: 14px;
    justify-items: stretch;
    padding: 12px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 22px;
    background: linear-gradient(150deg, rgba(43, 255, 0, 0.08), rgba(144, 92, 174, 0.12));
  }

  .mobile-hire-slot .hire-impact-card {
    min-height: 0;
    padding: 16px;
    border-radius: 18px;
  }

  .mobile-hire-slot .hire-impact-card strong {
    font-size: clamp(1.55rem, 9vw, 2.35rem);
    line-height: 1.02;
  }

  .mobile-hire-slot .hire-impact-card.featured {
    min-height: 136px;
    align-content: center;
    background:
      radial-gradient(circle at 82% 24%, rgba(255, 255, 255, 0.18), transparent 24%),
      linear-gradient(135deg, #2a0f49 0%, #642aa4 100%) !important;
  }

  .mobile-hire-slot .hire-impact-card.featured strong {
    font-size: clamp(2.6rem, 16vw, 4.2rem);
  }

  .mobile-hire-slot .hire-reach-flow svg {
    height: 104px;
  }

  .mobile-hire-slot > .hire-routing-controls {
    display: grid;
    gap: 14px;
  }

  .mobile-hire-slot .hire-option-groups {
    gap: 14px;
  }

  .mobile-hire-slot .hire-priority-panel {
    padding: 14px;
  }

  .mobile-hire-slot .hire-priority-action {
    display: none;
  }

  .mobile-hire-summary {
    display: grid;
    gap: 10px;
    margin: 0;
  }

  .mobile-hire-summary div {
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, 0.14);
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.06);
  }

  .mobile-hire-summary dt {
    margin: 0 0 6px;
    color: #2bff00;
    font-size: 0.72rem;
    font-weight: 950;
    text-transform: uppercase;
  }

  .mobile-hire-summary dd {
    margin: 0;
    color: #ffffff;
    font-weight: 850;
    line-height: 1.35;
    overflow-wrap: anywhere;
  }

  .mobile-hire-actions {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(5, 10, 7, 0.72);
  }

  .mobile-hire-actions .btn {
    min-height: 52px;
    flex: 1;
  }

  .mobile-hire-actions .btn.ghost {
    color: #ffffff;
    border-color: rgba(255, 255, 255, 0.2);
    background: rgba(255, 255, 255, 0.06);
  }

  .mobile-hire-analyze {
    white-space: nowrap;
    color: #111111 !important;
    background: #2bff00 !important;
  }

  .mobile-hire-analyze:not([hidden]) {
    animation: mobileHirePulse 1.35s ease-in-out infinite;
  }
}

@keyframes mobileHireStepIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (max-width: 760px) {
  .mobile-hire-modal {
    align-items: center;
    justify-items: center;
    padding: 18px;
  }

  .mobile-hire-card {
    width: min(100%, 420px);
    max-height: calc(100dvh - 36px);
    transform: translateY(10px) scale(0.98);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.48);
  }

  .mobile-hire-modal.is-open .mobile-hire-card {
    transform: translateY(0) scale(1);
  }

  .mobile-hire-steps {
    padding-inline: 16px;
  }

  .mobile-hire-slot,
  .mobile-hire-slot > label,
  .mobile-hire-slot > .field-grid,
  .mobile-hire-slot > .hire-priority-panel,
  .mobile-hire-slot .hire-option-groups,
  .mobile-hire-slot .hire-priority-visual,
  .mobile-hire-slot .hire-choice-group,
  .mobile-hire-slot .hire-choice-group label {
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .mobile-hire-slot .hire-option-groups,
  .mobile-hire-slot .hire-priority-visual {
    justify-items: center;
  }

  .mobile-hire-slot .hire-choice-group {
    grid-template-columns: 1fr;
  }

  .mobile-hire-slot .hire-choice-group label span,
  .mobile-hire-slot .hire-choice-group label small,
  .mobile-hire-slot .hire-impact-card,
  .mobile-hire-slot input,
  .mobile-hire-slot textarea {
    overflow-wrap: anywhere;
  }

  .mobile-hire-actions {
    display: grid;
    grid-template-columns: minmax(94px, 0.72fr) minmax(150px, 1.28fr);
    align-items: stretch;
  }

  .mobile-hire-actions .btn {
    width: 100%;
    min-width: 0;
  }

  .mobile-hire-actions [hidden] {
    display: none !important;
  }

  body:not(.theme-dark) .mobile-hire-backdrop {
    background: rgba(255, 255, 255, 0.62);
  }

  body:not(.theme-dark) .mobile-hire-modal .mobile-hire-backdrop:hover,
  body:not(.theme-dark) .mobile-hire-modal .mobile-hire-backdrop:focus,
  body:not(.theme-dark) .mobile-hire-modal .mobile-hire-backdrop:focus-visible,
  body:not(.theme-dark) .mobile-hire-modal .mobile-hire-backdrop:active {
    background: rgba(255, 255, 255, 0.62);
  }

  body:not(.theme-dark) .mobile-hire-card {
    color: #22112f;
    border-color: rgba(144, 92, 174, 0.32);
    background:
      radial-gradient(circle at 10% 4%, rgba(43, 255, 0, 0.28), transparent 31%),
      radial-gradient(circle at 96% 12%, rgba(144, 92, 174, 0.24), transparent 34%),
      linear-gradient(160deg, #ffffff 0%, #f6fff2 48%, #f6efff 100%);
    box-shadow: 0 26px 80px rgba(43, 28, 63, 0.22);
  }

  body:not(.theme-dark) .mobile-followup-card {
    color: #22112f;
    border-color: rgba(144, 92, 174, 0.32);
    background:
      radial-gradient(circle at 10% 4%, rgba(43, 255, 0, 0.28), transparent 31%),
      radial-gradient(circle at 96% 12%, rgba(144, 92, 174, 0.24), transparent 34%),
      linear-gradient(160deg, #ffffff 0%, #f6fff2 48%, #f6efff 100%);
    box-shadow: 0 26px 80px rgba(43, 28, 63, 0.22);
  }

  body:not(.theme-dark) .budget-adjust-card {
    color: #22112f;
    border-color: rgba(255, 205, 64, 0.48);
    background:
      radial-gradient(circle at 10% 4%, rgba(255, 205, 64, 0.28), transparent 31%),
      radial-gradient(circle at 96% 12%, rgba(43, 255, 0, 0.2), transparent 34%),
      linear-gradient(160deg, #ffffff 0%, #fffdf2 48%, #f6fff2 100%);
    box-shadow: 0 26px 80px rgba(43, 28, 63, 0.22);
  }

  body:not(.theme-dark) .mobile-ai-loader-card {
    color: #22112f;
    background: #f8fbf7;
    box-shadow: none;
  }

  body:not(.theme-dark) .mobile-ai-loader-card strong {
    color: #22112f;
  }

  body:not(.theme-dark) .mobile-ai-loader-card p {
    color: #536173;
  }

  body:not(.theme-dark) .mobile-ai-loader-grid {
    opacity: 0.26;
  }

  body:not(.theme-dark) .mobile-ai-loader-brand {
    border-bottom-color: rgba(34, 17, 47, 0.14);
  }

  body:not(.theme-dark) .mobile-ai-loader-brand strong {
    color: #22112f;
  }

  body:not(.theme-dark) .mobile-ai-loader-flow::before {
    background: rgba(34, 17, 47, 0.14);
  }

  body:not(.theme-dark) .mobile-ai-loader-flow i {
    border-color: #f8fbf7;
    box-shadow: 0 0 0 2px rgba(34, 17, 47, 0.16);
  }

  body:not(.theme-dark) .mobile-ai-loader-progress {
    border-color: rgba(34, 17, 47, 0.16);
    background: rgba(34, 17, 47, 0.08);
  }

  body:not(.theme-dark) .mobile-ai-loader-card > small[data-mobile-loader-status] {
    color: #536173;
  }

  body:not(.theme-dark) .mobile-hire-brand small,
  body:not(.theme-dark) .mobile-hire-count,
  body:not(.theme-dark) .mobile-hire-step p,
  body:not(.theme-dark) .mobile-followup-intro p,
  body:not(.theme-dark) .budget-adjust-body p {
    color: #536173;
  }

  body:not(.theme-dark) .mobile-hire-brand strong,
  body:not(.theme-dark) .mobile-hire-step h3,
  body:not(.theme-dark) .mobile-hire-summary dd,
  body:not(.theme-dark) .mobile-followup-intro strong,
  body:not(.theme-dark) .mobile-followup-slot .ai-question-fields span,
  body:not(.theme-dark) .budget-adjust-body dd,
  body:not(.theme-dark) .budget-adjust-body label {
    color: #22112f;
  }

  body:not(.theme-dark) .mobile-hire-close,
  body:not(.theme-dark) .mobile-hire-actions .btn.ghost {
    color: #22112f;
  }

  body:not(.theme-dark) .mobile-hire-actions .btn.ghost {
    border-color: rgba(34, 17, 47, 0.16);
    background: rgba(255, 255, 255, 0.76);
  }

  body:not(.theme-dark) .mobile-hire-actions {
    border-top-color: rgba(34, 17, 47, 0.1);
    background: rgba(255, 255, 255, 0.78);
  }

  body:not(.theme-dark) .mobile-hire-summary div,
  body:not(.theme-dark) .budget-adjust-body dl div,
  body:not(.theme-dark) .budget-adjust-body .money-field,
  body:not(.theme-dark) .mobile-followup-intro,
  body:not(.theme-dark) .mobile-followup-slot .ai-question-fields label.is-active,
  body:not(.theme-dark) .mobile-followup-slot textarea,
  body:not(.theme-dark) .mobile-hire-slot input,
  body:not(.theme-dark) .mobile-hire-slot textarea,
  body:not(.theme-dark) .mobile-hire-slot .money-field,
  body:not(.theme-dark) .mobile-hire-slot .deadline-range-control,
  body:not(.theme-dark) .mobile-hire-slot .hire-priority-panel,
  body:not(.theme-dark) .mobile-hire-slot .hire-priority-visual,
  body:not(.theme-dark) .mobile-hire-slot .hire-impact-card,
  body:not(.theme-dark) .mobile-hire-slot .hire-choice-group label {
    color: #22112f !important;
    border-color: rgba(144, 92, 174, 0.22) !important;
    background-color: rgba(255, 255, 255, 0.84) !important;
  }

  body:not(.theme-dark) .mobile-hire-slot label,
  body:not(.theme-dark) .mobile-hire-slot .deadline-range-field,
  body:not(.theme-dark) .mobile-hire-slot .hire-choice-group legend,
  body:not(.theme-dark) .mobile-hire-slot .assistant-plan-head span,
  body:not(.theme-dark) .mobile-hire-slot .assistant-plan-head strong,
  body:not(.theme-dark) .mobile-hire-slot .hire-priority-note {
    color: #22112f !important;
  }

  body:not(.theme-dark) .mobile-hire-slot .hire-choice-group label small,
  body:not(.theme-dark) .mobile-hire-slot .hire-impact-card span,
  body:not(.theme-dark) .mobile-hire-slot .hire-impact-card small {
    color: #596679 !important;
  }

  body:not(.theme-dark) .mobile-hire-slot .hire-impact-card.featured,
  body:not(.theme-dark) .mobile-hire-slot .hire-impact-card.featured span,
  body:not(.theme-dark) .mobile-hire-slot .hire-impact-card.featured strong,
  body:not(.theme-dark) .mobile-hire-slot .hire-impact-card.featured small {
    color: #ffffff !important;
  }
}

@keyframes mobileHirePulse {
  0%,
  100% {
    box-shadow: 0 12px 28px rgba(43, 255, 0, 0.24), 0 0 0 0 rgba(43, 255, 0, 0.35);
    transform: translateY(0) scale(1);
  }
  50% {
    box-shadow: 0 18px 42px rgba(43, 255, 0, 0.36), 0 0 0 8px rgba(43, 255, 0, 0);
    transform: translateY(-1px) scale(1.015);
  }
}

@keyframes mobileLoaderIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes mobileLoaderGrid {
  to {
    background-position: 42px 42px;
  }
}

@keyframes mobileLoaderScan {
  0% {
    opacity: 0;
    transform: translateY(-10%);
  }
  24%,
  72% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translateY(360%);
  }
}

@keyframes mobileLoaderLogo {
  0%,
  100% {
    transform: translate(0, 0);
  }
  50% {
    transform: translate(4px, -4px);
  }
}

@keyframes mobileLoaderSignal {
  0% {
    opacity: 0.35;
    transform: scaleX(0);
  }
  64% {
    opacity: 1;
    transform: scaleX(1);
  }
  100% {
    opacity: 0;
    transform: scaleX(1);
  }
}

@keyframes mobileLoaderNode {
  0%,
  24% {
    background: #66716a;
  }
  40%,
  100% {
    background: var(--loader-accent);
    box-shadow:
      0 0 0 2px color-mix(in srgb, var(--loader-accent) 35%, transparent),
      0 0 20px color-mix(in srgb, var(--loader-accent) 70%, transparent);
  }
}

@keyframes mobileLoaderProgress {
  to {
    transform: scaleX(1);
  }
}

@media (max-width: 760px) {
  body.route-contratar.publish-dock-active {
    padding-bottom: 176px;
  }

  body.route-contratar .ai-publish-panel.is-mobile-docked {
    position: fixed;
    right: 12px;
    bottom: 12px;
    left: 12px;
    z-index: 9600;
    display: grid;
    grid-template-columns: 54px minmax(0, 1fr);
    gap: 9px;
    align-items: center;
    padding: 12px;
    border: 1px solid rgba(43, 255, 0, 0.82);
    border-radius: 18px;
    background:
      radial-gradient(circle at 88% 18%, rgba(255, 255, 255, 0.3), transparent 30%),
      linear-gradient(135deg, #2bff00 0%, #7cff3f 100%);
    box-shadow: 0 -18px 48px rgba(43, 255, 0, 0.22), 0 0 0 1px rgba(43, 255, 0, 0.18);
    backdrop-filter: blur(12px);
    animation: publishDockIn 180ms ease both;
  }

  body.route-contratar .ai-publish-panel.is-mobile-docked .ai-publish-mobile-logo {
    display: block;
    grid-column: 1;
    width: 54px;
    height: 54px;
    align-self: center;
    object-fit: contain;
    filter: drop-shadow(0 10px 14px rgba(22, 68, 12, 0.24));
  }

  body.route-contratar .ai-publish-panel.is-mobile-docked > div:not(.ai-publish-media) {
    grid-column: 2;
    min-width: 0;
  }

  body.route-contratar .ai-publish-panel.is-mobile-docked span {
    display: block;
    color: #241034;
    font-size: 0.66rem;
    white-space: nowrap;
  }

  body.route-contratar .ai-publish-panel.is-mobile-docked strong {
    margin-top: 1px;
    color: #111111;
    font-size: 0.92rem;
    line-height: 1.2;
    white-space: nowrap;
  }

  body.route-contratar .ai-publish-panel.is-mobile-docked p {
    display: none;
  }

  body.route-contratar .ai-publish-panel.is-mobile-docked .publish-job-button {
    grid-column: 1 / -1;
    width: 100%;
    min-height: 54px;
    padding: 12px;
    border-radius: 12px;
    color: #241034;
    background: #ffffff;
    white-space: nowrap;
    box-shadow: 0 14px 28px rgba(17, 17, 17, 0.18);
    animation: publishButtonPulse 1.35s ease-in-out infinite;
  }

  body:not(.theme-dark).route-contratar .ai-publish-panel.is-mobile-docked {
    background:
      radial-gradient(circle at 88% 18%, rgba(255, 255, 255, 0.34), transparent 30%),
      linear-gradient(135deg, #2bff00 0%, #7cff3f 100%);
    box-shadow: 0 -18px 48px rgba(43, 255, 0, 0.2), 0 0 0 1px rgba(43, 255, 0, 0.18);
  }

  body:not(.theme-dark).route-contratar .ai-publish-panel.is-mobile-docked strong {
    color: #111111;
  }
}

@keyframes publishButtonPulse {
  0%,
  100% {
    transform: translateY(0) scale(1);
    box-shadow: 0 14px 28px rgba(17, 17, 17, 0.18), 0 0 0 0 rgba(255, 255, 255, 0.65);
  }
  50% {
    transform: translateY(-1px) scale(1.025);
    box-shadow: 0 18px 34px rgba(17, 17, 17, 0.22), 0 0 0 8px rgba(255, 255, 255, 0);
  }
}

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

@media (max-width: 760px) {
  .mobile-hire-card {
    min-height: min(720px, calc(100dvh - 36px));
  }

  .mobile-hire-steps {
    padding: 16px;
    scroll-padding-top: 16px;
  }

  .mobile-hire-slot > .hire-priority-visual {
    justify-items: center;
    align-content: start;
  }

  .mobile-hire-slot .hire-impact-card {
    width: min(100%, 300px);
  }

  .mobile-hire-slot .hire-impact-card.reach {
    width: min(100%, 340px);
  }

  .mobile-hire-slot .hire-impact-card.featured {
    width: min(100%, 280px);
  }

  .mobile-hire-slot .hire-reach-flow svg {
    height: 96px;
  }

  .mobile-hire-slot .hire-choice-group label {
    transition:
      transform 160ms ease,
      border-color 160ms ease,
      box-shadow 160ms ease,
      background 160ms ease,
      color 160ms ease;
  }

  .mobile-hire-slot .hire-choice-group label:active {
    transform: scale(0.985);
    border-color: var(--mobile-step-accent) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--mobile-step-accent) 18%, transparent);
  }

  .mobile-hire-slot .hire-choice-group label:has(input:checked) {
    border-color: var(--mobile-step-accent) !important;
    background:
      radial-gradient(circle at 10% 0%, color-mix(in srgb, var(--mobile-step-accent) 34%, transparent), transparent 42%),
      linear-gradient(135deg, color-mix(in srgb, var(--mobile-step-accent) 24%, rgba(255, 255, 255, 0.06)), color-mix(in srgb, var(--mobile-step-accent-2) 20%, rgba(144, 92, 174, 0.12))) !important;
    box-shadow:
      inset 0 0 0 1px color-mix(in srgb, var(--mobile-step-accent) 50%, transparent),
      0 16px 34px color-mix(in srgb, var(--mobile-step-accent) 24%, transparent);
  }

  .mobile-hire-slot .hire-choice-group label:has(input:checked)::after {
    content: "Selecionado";
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 4px 8px;
    border-radius: 999px;
    color: #111111;
    background: var(--mobile-step-accent);
    font-size: 0.62rem;
    font-weight: 950;
    text-transform: uppercase;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .mobile-hire-slot > .hire-priority-visual {
    gap: 12px;
    justify-items: stretch;
    padding: 10px;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-impact-card,
  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-impact-card.reach,
  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-impact-card.featured {
    width: 100%;
    max-width: none;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-impact-card.speed,
  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-impact-card.reach {
    gap: 12px;
    align-content: start;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-impact-card > .hire-choice-group {
    width: 100%;
    margin-top: 2px;
    padding-top: 12px;
    border-top: 1px solid rgba(255, 255, 255, 0.12);
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-impact-card.speed > .hire-choice-group {
    grid-template-columns: 1fr;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-impact-card.reach > .hire-choice-group {
    grid-template-columns: 1fr;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-choice-group legend {
    margin-bottom: 0;
    font-size: 0.68rem;
    letter-spacing: 0;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-choice-group label {
    min-height: 72px;
    padding: 10px;
    border-radius: 10px;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-choice-group strong {
    padding-right: 18px;
    font-size: 0.76rem;
    line-height: 1.15;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-choice-group small {
    display: block;
    overflow: visible;
    font-size: 0.64rem;
    line-height: 1.25;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-choice-group label:has(input:checked)::after {
    content: "✓";
    top: 8px;
    right: 8px;
    display: grid;
    width: 18px;
    height: 18px;
    padding: 0;
    place-items: center;
    font-size: 0.7rem;
  }

  .mobile-hire-step[data-mobile-hire-step="direction"] .hire-priority-note {
    width: 100%;
    padding: 12px;
    border: 1px solid rgba(43, 255, 0, 0.22);
    border-radius: 10px;
    background: rgba(43, 255, 0, 0.08);
    font-size: 0.72rem;
    line-height: 1.4;
  }
}

/* Final hover layer. Keep this at the end so component rules do not flatten it. */
@media (hover: hover) and (pointer: fine) {
  .btn,
  button,
  .social-button,
  .profile-trigger,
  .theme-light-toggle,
  .freela-mascot-switch,
  .mobile-menu-button {
    transition:
      transform 180ms cubic-bezier(.2, .8, .2, 1),
      box-shadow 180ms ease,
      border-color 180ms ease,
      background 180ms ease,
      color 180ms ease,
      opacity 180ms ease;
  }

  .btn:hover,
  button:hover,
  .social-button:hover,
  .profile-trigger:hover,
  .theme-light-toggle:hover,
  .freela-mascot-switch:hover,
  .mobile-menu-button:hover {
    transform: translateY(-2px);
  }

  .btn.primary:hover,
  .auth-primary:hover,
  .publish-job-button:hover,
  .hire-priority-action:hover,
  .playful-hero .btn.primary:hover {
    box-shadow: 0 16px 34px rgba(43, 255, 0, 0.28), 0 0 0 4px rgba(43, 255, 0, 0.12);
  }

  .btn.ghost:hover,
  .auth-secondary:hover,
  .playful-hero .btn.ghost:hover {
    border-color: rgba(144, 92, 174, 0.55);
    box-shadow: 0 14px 30px rgba(144, 92, 174, 0.14);
  }

  .btn:active,
  button:active,
  .social-button:active,
  .profile-trigger:active,
  .theme-light-toggle:active,
  .freela-mascot-switch:active {
    transform: translateY(0) scale(0.98);
  }

  .btn:disabled,
  button:disabled,
  .btn[aria-disabled="true"],
  button[aria-disabled="true"] {
    transform: none;
    box-shadow: none;
  }

  .hero-panel,
  .metrics-band,
  .metrics-band article,
  .workflow-card,
  .talent-card,
  .task-card,
  .job-card,
  .dev-command-stats article,
  .dev-mini-card,
  .dev-opportunity-card,
  .dev-active-hero,
  .dev-panel-card,
  .briefing-info-card,
  .loyalty-rule-card,
  .loyalty-product-card,
  .refined-price-card,
  .rank-vitrine-panel article,
  .hire-impact-card,
  .hire-option-card,
  .hire-priority-panel,
  .client-project-vision-card,
  .profile-metric,
  .dev-profile-stats article,
  .mega-visual-card {
    transition:
      transform 220ms cubic-bezier(.2, .8, .2, 1),
      box-shadow 220ms ease,
      border-color 220ms ease,
      background 220ms ease;
  }

  .workflow-card:hover,
  .talent-card:hover,
  .task-card:hover,
  .job-card:hover,
  .dev-mini-card:hover,
  .dev-opportunity-card:hover,
  .dev-panel-card:hover,
  .briefing-info-card:hover,
  .loyalty-rule-card:hover,
  .loyalty-product-card:hover,
  .rank-vitrine-panel article:hover,
  .hire-impact-card:hover,
  .hire-option-card:hover,
  .client-project-vision-card:hover,
  .profile-metric:hover,
  .dev-profile-stats article:hover,
  .mega-visual-card:hover {
    transform: translateY(-5px);
    border-color: rgba(144, 92, 174, 0.42);
    box-shadow: 0 24px 54px rgba(22, 25, 29, 0.13);
  }

  .metrics-band:hover,
  .refined-price-card:hover,
  .hire-priority-panel:hover,
  .dev-active-hero:hover,
  .hero-panel:hover {
    transform: translateY(-3px);
    box-shadow: 0 26px 62px rgba(22, 25, 29, 0.14);
  }

  .trust-row span,
  .refined-rates li,
  .dispatch-pill {
    transition: transform 180ms ease, border-color 180ms ease, background 180ms ease, color 180ms ease;
  }

  .trust-row span:hover,
  .refined-rates li:hover,
  .dispatch-pill:hover {
    transform: translateY(-2px);
    border-color: rgba(43, 255, 0, 0.42);
  }
}

@media (prefers-reduced-motion: reduce) {
  .btn,
  button,
  .social-button,
  .profile-trigger,
  .theme-light-toggle,
  .freela-mascot-switch,
  .mobile-menu-button,
  .hero-panel,
  .metrics-band,
  .metrics-band article,
  .workflow-card,
  .talent-card,
  .task-card,
  .job-card,
  .dev-command-stats article,
  .dev-mini-card,
  .dev-opportunity-card,
  .dev-active-hero,
  .dev-panel-card,
  .briefing-info-card,
  .loyalty-rule-card,
  .loyalty-product-card,
  .refined-price-card,
  .rank-vitrine-panel article,
  .hire-impact-card,
  .hire-option-card,
  .hire-priority-panel,
  .client-project-vision-card,
  .profile-metric,
  .dev-profile-stats article,
  .mega-visual-card,
  .trust-row span,
  .refined-rates li,
  .dispatch-pill {
    transition: none !important;
    transform: none !important;
  }
}

/* Payment dashboard: full-width payment choices and compact operational details. */
.auth-member-link {
  display: inline-flex;
  align-items: center;
  gap: 0.38rem;
  white-space: nowrap;
}

.payment-hub-page {
  display: block;
  width: min(calc(100% - 32px), 1180px);
  margin: 32px auto 72px;
}

.payment-dashboard,
.payment-dashboard * {
  box-sizing: border-box;
}

.payment-dashboard {
  display: grid;
  gap: 20px;
  width: 100%;
  min-width: 0;
}

.payment-dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 390px);
  gap: 24px;
  align-items: stretch;
  padding: clamp(24px, 4vw, 46px);
  border: 1px solid rgba(144, 92, 174, 0.24);
  border-radius: 8px;
  background: linear-gradient(110deg, rgba(35, 255, 0, 0.1), rgba(255, 255, 255, 0.96) 46%, rgba(144, 92, 174, 0.12));
  box-shadow: 0 24px 54px rgba(24, 35, 30, 0.1);
  overflow: hidden;
}

.payment-dashboard-copy {
  display: grid;
  align-content: center;
  justify-items: start;
  min-width: 0;
}

.payment-dashboard-copy h1 {
  max-width: 820px;
  margin: 10px 0 12px;
  font-size: clamp(2rem, 4.2vw, 4.6rem);
  line-height: 0.98;
  overflow-wrap: anywhere;
}

.payment-dashboard-copy p {
  max-width: 760px;
  margin: 0 0 22px;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
}

.payment-dashboard-status {
  display: inline-flex;
  margin-top: 18px;
  padding: 7px 11px;
  border: 1px solid rgba(35, 255, 0, 0.42);
  border-radius: 999px;
  background: rgba(35, 255, 0, 0.1);
  color: #08762a;
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.payment-dashboard-amount {
  display: grid;
  align-content: center;
  min-width: 0;
  padding: clamp(22px, 3vw, 34px);
  border: 1px solid rgba(35, 255, 0, 0.5);
  border-radius: 8px;
  background: #101713;
  color: #fff;
}

.payment-dashboard-amount span,
.payment-dashboard-amount small {
  color: #b8c8be;
}

.payment-dashboard-amount span {
  font-size: 0.76rem;
  font-weight: 850;
  text-transform: uppercase;
}

.payment-dashboard-amount strong {
  margin: 8px 0 12px;
  color: var(--accent);
  font-size: clamp(2.2rem, 4.2vw, 4.4rem);
  line-height: 1;
  white-space: nowrap;
}

.payment-dashboard-amount > span {
  color: #e4c9ef;
}

.payment-dashboard-amount small {
  line-height: 1.5;
}

.payment-methods-dashboard,
.payment-details-dashboard {
  display: grid;
  gap: 20px;
  min-width: 0;
}

.payment-methods-dashboard {
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.65fr);
}

.payment-checkout-shell {
  display: grid;
  gap: 18px;
  min-width: 0;
  padding: clamp(18px, 2.5vw, 28px);
  border: 1px solid rgba(144, 92, 174, 0.24);
  border-radius: 8px;
  background: var(--surface);
  box-shadow: 0 20px 44px rgba(24, 35, 30, 0.08);
}

.payment-checkout-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.payment-checkout-heading h2 {
  margin: 7px 0 0;
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
}

.payment-method-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  width: min(100%, 420px);
  padding: 5px;
  border: 1px solid rgba(144, 92, 174, 0.28);
  border-radius: 8px;
  background: rgba(144, 92, 174, 0.08);
}

.payment-method-tabs button {
  display: grid;
  gap: 2px;
  min-height: 58px;
  padding: 8px 16px;
  border: 0;
  border-radius: 6px;
  background: transparent;
  color: var(--ink);
  text-align: left;
}

.payment-method-tabs button span {
  font-size: 0.95rem;
  font-weight: 900;
}

.payment-method-tabs button small {
  color: var(--muted);
  font-size: 0.72rem;
}

.payment-method-tabs button[aria-selected="true"] {
  background: #fff;
  box-shadow: 0 8px 24px rgba(38, 20, 51, 0.12);
}

.payment-method-tabs button[data-payment-tab="pix"][aria-selected="true"] {
  box-shadow: inset 0 -3px 0 var(--accent), 0 8px 24px rgba(35, 255, 0, 0.1);
}

.payment-method-tabs button[data-payment-tab="card"][aria-selected="true"] {
  box-shadow: inset 0 -3px 0 var(--accent), 0 8px 24px rgba(144, 92, 174, 0.12);
}

.payment-method-panel {
  display: none;
  min-width: 0;
}

.payment-method-panel.is-active {
  display: block;
}

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

.payment-dashboard .payment-card {
  min-width: 0;
  height: 100%;
  padding: clamp(22px, 3vw, 34px);
  border-radius: 8px;
}

.payment-dashboard .payment-card-head h2,
.payment-dashboard .payment-card-head h3 {
  margin: 8px 0 8px;
  font-size: clamp(1.35rem, 2.2vw, 2rem);
}

.payment-dashboard .payment-card-head p {
  margin: 0;
}

.payment-pix-feature {
  border: 2px solid rgba(35, 255, 0, 0.62);
  background: linear-gradient(135deg, rgba(35, 255, 0, 0.13), rgba(255, 255, 255, 0.98) 58%);
  box-shadow: 0 20px 44px rgba(35, 255, 0, 0.12);
}

.payment-pix-card-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 28px;
}

.payment-pix-brand {
  display: block;
  width: clamp(128px, 16vw, 188px);
  height: auto;
  margin-top: 2px;
  object-fit: contain;
}

.payment-pix-layout {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(0, 1fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: center;
  margin-top: 22px;
}

.payment-pix-qr {
  display: grid;
  gap: 10px;
  justify-items: center;
  padding: 14px;
  border: 1px solid rgba(35, 255, 0, 0.35);
  border-radius: 8px;
  background: #fff;
}

.payment-pix-qr img {
  display: block;
  width: min(100%, 228px);
  aspect-ratio: 1;
  object-fit: contain;
}

.payment-pix-qr span {
  color: #33433a;
  font-size: 0.75rem;
  font-weight: 800;
}

.payment-pix-controls {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.payment-pix-controls label {
  display: grid;
  gap: 8px;
  color: var(--ink);
  font-size: 0.78rem;
  font-weight: 850;
  text-transform: uppercase;
}

.payment-pix-controls textarea {
  width: 100%;
  min-height: 118px;
  resize: vertical;
  overflow-wrap: anywhere;
  font-size: 0.84rem;
  line-height: 1.45;
}

.payment-pix-controls button,
.payment-pix-controls .btn,
.payment-pix-feature form button,
.payment-credit-action {
  width: 100%;
  min-height: 52px;
}

.payment-credit-feature {
  display: grid;
  align-content: start;
  gap: 18px;
  border-color: rgba(144, 92, 174, 0.42);
  background: linear-gradient(145deg, #241331, #4f2670);
  color: #fff;
}

.payment-card-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  padding: 20px;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  background: rgba(8, 14, 10, 0.3);
}

.payment-field {
  display: grid;
  gap: 7px;
  min-width: 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.75rem;
  font-weight: 850;
  text-transform: uppercase;
}

.payment-field-wide {
  grid-column: 1 / -1;
}

.payment-field input,
.payment-field select,
.payment-secure-field {
  width: 100%;
  min-width: 0;
  height: 52px;
  padding: 0 14px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  border-radius: 6px;
  background: #fff;
  color: #17111d;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: none;
}

.payment-secure-field {
  padding-top: 16px;
}

.payment-field input:focus,
.payment-field select:focus,
.payment-secure-field:focus-within {
  border-color: var(--accent);
  outline: 3px solid rgba(35, 255, 0, 0.18);
}

.payment-card-form-status {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.8rem;
  line-height: 1.45;
}

.payment-card-form-status.is-error {
  color: #ffd2d2;
}

.payment-secure-lock {
  display: grid;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: #071008;
  font-weight: 950;
}

.payment-card-progress {
  width: 100%;
  height: 4px;
  border: 0;
  accent-color: var(--accent);
}

.payment-card-progress[value="0"] {
  visibility: hidden;
}

.payment-card-setup {
  padding: 18px;
  border: 1px solid rgba(255, 203, 75, 0.45);
  border-radius: 8px;
  background: rgba(255, 203, 75, 0.1);
}

.payment-card-setup p {
  margin: 7px 0 0;
  color: rgba(255, 255, 255, 0.74);
}

.payment-credit-feature .eyebrow,
.payment-credit-feature .payment-card-head p,
.payment-processor-note {
  color: rgba(255, 255, 255, 0.74);
}

.payment-credit-feature h2 {
  color: #fff;
}

.payment-credit-icon {
  display: grid;
  width: 54px;
  height: 54px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.12);
}

.payment-credit-icon svg {
  width: 30px;
  fill: none;
  stroke: #fff;
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: 1.8;
}

.payment-credit-benefits {
  display: grid;
  gap: 10px;
}

.payment-credit-benefits span {
  position: relative;
  padding-left: 22px;
  color: rgba(255, 255, 255, 0.9);
  font-size: 0.88rem;
  line-height: 1.45;
}

.payment-credit-benefits span::before {
  content: "";
  position: absolute;
  top: 0.38em;
  left: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: var(--accent);
  box-shadow: 0 0 0 4px rgba(35, 255, 0, 0.12);
}

.payment-credit-action {
  border-color: #fff;
  background: #fff;
  color: #281337;
}

.payment-credit-action:hover {
  background: var(--accent);
  color: #09110b;
}

.payment-processor-note {
  display: block;
  line-height: 1.45;
}

.payment-guarantees-card .guarantee-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.theme-dark:not(.route-admin-mestre) .payment-dashboard-hero {
  border-color: rgba(144, 92, 174, 0.42);
  background: linear-gradient(110deg, rgba(35, 255, 0, 0.09), #111814 48%, rgba(144, 92, 174, 0.2));
  box-shadow: 0 24px 54px rgba(0, 0, 0, 0.28);
}

body.theme-dark:not(.route-admin-mestre) .payment-pix-feature {
  background: linear-gradient(135deg, rgba(35, 255, 0, 0.12), #121a15 58%);
}

body.theme-dark:not(.route-admin-mestre) .payment-pix-controls label {
  color: #f5fff7;
}

body.theme-dark:not(.route-admin-mestre) .payment-checkout-shell {
  border-color: rgba(144, 92, 174, 0.4);
  background: #101713;
}

body.theme-dark:not(.route-admin-mestre) .payment-method-tabs button[aria-selected="true"] {
  background: #1d2621;
  color: #fff;
}

@media (max-width: 980px) {
  .payment-methods-dashboard,
  .payment-details-dashboard,
  .payment-dashboard-hero {
    grid-template-columns: 1fr;
  }

  .payment-dashboard-amount {
    min-height: 210px;
  }
}

@media (max-width: 680px) {
  .payment-hub-page {
    width: min(calc(100% - 20px), 680px);
    margin: 18px auto 54px;
  }

  .payment-dashboard {
    gap: 14px;
  }

  .payment-dashboard-hero,
  .payment-dashboard .payment-card {
    padding: 20px;
  }

  .payment-dashboard-copy h1 {
    font-size: clamp(1.9rem, 10vw, 2.7rem);
  }

  .payment-dashboard-amount {
    min-height: 0;
  }

  .payment-dashboard-amount strong {
    font-size: clamp(2rem, 11vw, 3.2rem);
  }

  .payment-pix-layout,
  .payment-guarantees-card .guarantee-grid {
    grid-template-columns: 1fr;
  }

  .payment-pix-card-heading {
    display: grid;
    gap: 18px;
  }

  .payment-pix-brand {
    width: 142px;
  }

  .payment-checkout-shell {
    padding: 14px;
  }

  .payment-checkout-heading {
    display: grid;
    align-items: start;
  }

  .payment-method-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .payment-method-tabs button {
    min-height: 54px;
    padding: 7px 10px;
  }

  .payment-card-form {
    grid-template-columns: 1fr;
    padding: 14px;
  }

  .payment-field-wide {
    grid-column: auto;
  }

  .payment-pix-qr {
    width: 100%;
  }

  .auth-member-link {
    white-space: normal;
  }
}
/* Homepage: caminhos revelados por scroll */
.home-role-story {
    width: 100vw;
    margin-left: calc(50% - 50vw);
    overflow: clip;
    background: #0d1012;
}

.home-role-story-work-section {
    position: relative;
    min-height: 180svh;
    overflow: visible;
}

.home-role-story-work-section .home-role-scene-work {
    position: sticky;
    top: 0;
    min-height: 100svh;
}

.home-story-interlude {
    --interlude-slope: clamp(64px, 6vw, 112px);
    --interlude-logo-y: 0px;
    position: relative;
    z-index: 4;
    overflow: hidden;
    margin-top: 0;
    padding: clamp(36px, 5vw, 68px) 0 clamp(22px, 3vw, 40px);
    background: var(--bg, #f7f9f3);
}

.home-story-interlude > * {
    position: relative;
    z-index: 1;
}

.home-story-interlude::after {
    content: "";
    position: absolute;
    z-index: 0;
    top: 39%;
    right: clamp(-300px, -13vw, -160px);
    width: clamp(520px, 46vw, 860px);
    aspect-ratio: 1;
    background: url('../img/home-interlude-logo-mark.png') center / contain no-repeat;
    opacity: .11;
    pointer-events: none;
    transform: translate3d(0, calc(-50% + var(--interlude-logo-y)), 0);
    transition: transform 220ms cubic-bezier(.22, .61, .36, 1);
    will-change: transform;
}

body.theme-dark .home-story-interlude::after {
    opacity: .14;
}

@media (max-width: 760px), (prefers-reduced-motion: reduce) {
    .home-story-interlude::after {
        right: -100px;
        width: 340px;
        transform: translate3d(0, -50%, 0);
        transition: none;
    }
}

.home-story-interlude::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 100%;
    height: var(--interlude-slope);
    background: var(--bg, #f7f9f3);
    clip-path: polygon(0 100%, 100% 0, 100% 100%);
    pointer-events: none;
}

.home-story-interlude .metrics-band {
    margin-top: 0;
}

.home-story-interlude .home-briefing-section {
    margin-bottom: 0;
}

.home-role-story-contract-section {
    position: relative;
    min-height: 180svh;
    margin-top: 0;
    --role-media-scale: 1;
    --role-card-y: 0px;
    --role-card-opacity: 1;
    --role-curtain: 0;
}

.home-role-story-contract-section .home-role-scene-contract {
    position: sticky;
    top: 0;
    min-height: 100svh;
}

.home-role-story-contract-section::before {
    display: none;
}

.home-role-story-contract-section .home-role-scene {
    opacity: 1;
}

.home-role-story-contract-section .home-role-media {
    transform: translate3d(0, var(--role-media-y, 0px), 0) scale(var(--role-media-scale));
    transition: none;
}

.home-role-story-contract-section .home-role-card {
    opacity: var(--role-card-opacity);
    transform: translateY(var(--role-card-y));
    transition: none;
}

.home-role-story-contract-section .home-role-index {
    opacity: var(--role-card-opacity);
    transform: translateY(calc(var(--role-card-y) * .25));
    transition: none;
}

.home-role-scene {
    position: relative;
    isolation: isolate;
    min-height: 78svh;
    display: grid;
    place-items: center;
    overflow: hidden;
    padding: 72px 24px;
    opacity: .18;
    transition: opacity .75s ease;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    background-attachment: fixed;
    contain: layout paint style;
    perspective: 1200px;
}

body.route-home .home-role-story-contract-section,
body.route-home .split-section,
body.route-home .home-trial-cta {
    content-visibility: auto;
    contain-intrinsic-size: auto 720px;
}

body.route-home .topbar {
    background: #ffffff;
    backdrop-filter: none;
}

body.route-home.theme-dark .topbar {
    background: #0d1110;
}

.home-role-scene-work {
    background-image: url('../img/home-work-stage.webp');
    background-position: center 52%;
}

.home-role-scene-contract {
    background-image: url('../img/home-contract-lawyer.jpg');
    background-position: 68% center;
}

.home-role-media,
.home-role-scrim {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.home-role-media {
    display: none;
}

.home-role-scene-work .home-role-media {
    object-position: center 52%;
}

.home-role-scene-contract .home-role-media {
    object-position: 64% center;
    filter: grayscale(1) contrast(1.08);
}

.home-role-scrim {
    z-index: -2;
    background: rgba(9, 10, 14, .44);
    transition: background-color .8s ease;
}

.home-role-scene-contract .home-role-scrim {
    background: rgba(8, 9, 11, .52);
}

.home-role-card {
    position: relative;
    left: clamp(-320px, -16vw, -180px);
    width: min(100%, 540px);
    padding: 48px;
    color: #fff;
    text-align: center;
    background: #55257a;
    border: 1px solid rgba(255, 255, 255, .24);
    border-radius: 8px;
    box-shadow: 0 26px 70px rgba(12, 7, 24, .28);
    opacity: 0;
    transform: translateY(36px);
    transition: opacity .7s ease .18s, transform .9s cubic-bezier(.2, .8, .2, 1) .18s;
}

.home-role-scene-contract .home-role-card {
    border-top: 4px solid #24ff00;
}

.home-role-kicker {
    display: block;
    margin-bottom: 18px;
    color: #c8ffbd;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-transform: uppercase;
}

.home-role-card h1,
.home-role-card h2 {
    margin: 0;
    color: #fff;
    font-size: clamp(2.2rem, 3vw, 2.75rem);
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -0.025em;
}

.home-role-card h1 strong,
.home-role-card h2 strong {
    color: #c8ffbd;
    font-weight: inherit;
}

.home-role-card p {
    max-width: 430px;
    margin: 24px auto 30px;
    color: rgba(255, 255, 255, .82);
    font-size: 17px;
    line-height: 1.55;
}

.home-role-action {
    min-height: 54px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    padding: 14px 24px;
    color: #101512;
    background: #24ff00;
    border: 1px solid #24ff00;
    border-radius: 6px;
    font-weight: 800;
    text-decoration: none;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.home-role-action svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform .18s ease;
}

.home-role-index {
    position: absolute;
    left: 5vw;
    bottom: 36px;
    color: rgba(255, 255, 255, .82);
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
    opacity: 0;
    transform: translateY(12px);
    transition: opacity .6s ease .45s, transform .7s ease .45s;
}

.home-role-scene.is-visible {
    opacity: 1;
}

.home-role-scene.is-visible .home-role-media {
    transform: translate3d(0, var(--role-media-y, 0px), 0) scale(1.12);
}

.home-role-scene.is-visible .home-role-card,
.home-role-scene.is-visible .home-role-index {
    opacity: 1;
    transform: translateY(0);
}

.home-role-scene[data-role-reveal] {
    opacity: 1;
}

.home-role-scene[data-role-reveal] .home-role-card {
    opacity: var(--role-reveal, 0);
    transform:
        perspective(1100px)
        translate3d(var(--role-reveal-x, 0px), var(--role-reveal-y, 40px), 0)
        rotateY(var(--role-rotate-y, 0deg))
        rotateZ(var(--role-rotate-z, 0deg))
        scale(var(--role-reveal-scale, .92));
    transform-origin: 50% 55%;
    backface-visibility: hidden;
    clip-path: inset(var(--role-clip-top, 0%) 0 var(--role-clip-bottom, 100%) 0 round 8px);
    filter: blur(var(--role-reveal-blur, 8px));
    transition: none;
    will-change: transform, opacity;
}

.home-role-scene-work[data-role-reveal] .home-role-card,
.home-role-scene-contract[data-role-reveal] .home-role-card {
    opacity: 1;
    visibility: hidden;
    transform: translate3d(var(--role-reveal-x, 0px), 0, 0);
    clip-path: none;
    filter: none;
}

.home-role-scene-work[data-role-reveal].has-role-motion-started .home-role-card,
.home-role-scene-contract[data-role-reveal].has-role-motion-started .home-role-card {
    visibility: visible;
}

.home-role-intro-copy {
    position: absolute;
    z-index: 2;
    left: 50%;
    top: 50%;
    width: min(96vw, 1320px);
    box-sizing: border-box;
    padding: .09em .08em;
    overflow: hidden;
    clip-path: inset(0 var(--role-intro-clip, 0%) 0 var(--role-intro-clip, 0%));
    transform: translate(-50%, -50%) scale(var(--role-intro-scale, 1));
    transform-origin: center;
    color: #fff;
    font-family: "Epilogue", "Arial Black", sans-serif;
    font-size: clamp(3.1rem, 7vw, 7.9rem);
    font-weight: 900;
    line-height: .96;
    letter-spacing: -.045em;
    text-align: center;
    text-transform: uppercase;
    text-wrap: balance;
    pointer-events: none;
    will-change: clip-path, transform;
}

.home-role-intro-copy span,
.home-role-intro-copy strong {
    display: block;
}

.home-role-intro-copy span {
    transform: translateX(var(--role-intro-line-one-x, 0px));
    text-shadow: 0 8px 40px rgba(0, 0, 0, .5);
}

.home-role-intro-copy strong {
    margin-top: .08em;
    color: #bfffad;
    transform: translateX(var(--role-intro-line-two-x, 0px));
    text-shadow: 0 8px 40px rgba(0, 0, 0, .45);
}

.home-role-scene-work .home-role-intro-copy,
.home-role-scene-contract .home-role-intro-copy {
    font-size: clamp(2.75rem, 5.8vw, 6.55rem);
}

.home-role-scene-work .home-role-intro-copy strong,
.home-role-scene-contract .home-role-intro-copy strong {
    position: relative;
    isolation: isolate;
    font-size: .84em;
}

.home-role-scene-work .home-role-intro-copy strong {
    color: #fff;
    background: none;
    -webkit-text-fill-color: currentColor;
    -webkit-text-stroke: 0;
    text-shadow: 0 8px 34px rgba(0, 0, 0, .52);
    filter: none;
}

.home-role-scene-work .home-role-intro-copy strong::after,
.home-role-scene-contract .home-role-intro-copy strong::after {
    content: "";
    position: absolute;
    z-index: -1;
    left: 50%;
    bottom: -.05em;
    width: 114%;
    height: .32em;
    border-radius: 50% 50% 44% 44% / 70% 70% 34% 34%;
    background: linear-gradient(90deg, #55257a 0%, #a24ee0 48%, #55257a 100%);
    clip-path: polygon(0 68%, 12% 51%, 28% 36%, 50% 27%, 72% 36%, 88% 51%, 100% 68%, 100% 91%, 86% 75%, 70% 62%, 50% 55%, 30% 62%, 14% 75%, 0 91%);
    transform: translateX(-50%) rotate(-1deg);
    box-shadow: 0 8px 20px rgba(85, 37, 122, .42);
    pointer-events: none;
}

.home-role-scene[data-role-reveal] .home-role-scrim {
    opacity: calc(.7 + var(--role-reveal, 0) * .3);
}

@media (hover: hover) {
    .home-role-action:hover {
        color: #fff;
        background: #55257a;
        border-color: rgba(255, 255, 255, .72);
    }

    .home-role-action:hover svg {
        transform: translateX(4px);
    }
}

/* Public jobs: quieter outline CTA. */
.public-job-grid .job-card.public .public-job-arrow {
    display: grid;
    width: 54px;
    height: 54px;
    place-items: center;
    justify-self: end;
    align-self: end;
    border: 1px solid color-mix(in srgb, var(--muted) 52%, transparent);
    border-radius: 6px;
    background: color-mix(in srgb, var(--surface) 88%, transparent);
    color: var(--muted);
    text-decoration: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.025);
    transform-origin: center;
    transition: transform 200ms cubic-bezier(.2,.85,.25,1.25), border-color 180ms ease, color 180ms ease, background 180ms ease, box-shadow 180ms ease;
}

.public-job-grid .job-card.public .public-job-arrow svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    transition: transform 200ms ease;
}

.public-job-grid .job-card.public .public-job-arrow:focus-visible {
    outline: 3px solid rgba(43,255,0,.3);
    outline-offset: 3px;
    border-color: var(--brand);
    color: var(--brand);
}

body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-card.public .public-job-arrow {
    border-color: #52615a;
    background: rgba(255,255,255,.018);
    color: #a7b5af;
}

.public-job-grid .job-card.public.socio-special .public-job-arrow,
body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-card.public.socio-special .public-job-arrow {
    border-color: rgba(255, 255, 255, .48);
    background: rgba(255, 255, 255, .12);
    color: #ffffff;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .14), 0 12px 28px rgba(20, 4, 35, .2);
}

.public-job-grid .job-card.public .btn.primary,
.public-job-grid .job-card.public.urgent .btn.primary,
.public-job-grid .job-card.public.socio-special .btn.primary {
    border: 2px solid #20d900;
    background: transparent;
    color: #159f00;
    box-shadow: none;
    animation: none;
}

body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-card.public .btn.primary {
    border-color: #2bff00;
    color: #2bff00;
}

@media (hover: hover) and (pointer: fine) {
    .public-job-grid .job-card.public .public-job-arrow:hover {
        border-color: var(--brand);
        background: rgba(43,255,0,.07);
        color: var(--brand);
        box-shadow: 0 10px 25px rgba(20,95,16,.14);
        transform: scale(1.13);
    }

    .public-job-grid .job-card.public .public-job-arrow:hover svg {
        transform: translate(2px,-2px) scale(1.04);
    }

    .public-job-grid .job-card.public.socio-special .public-job-arrow:hover {
        border-color: #2bff00;
        background: rgba(43, 255, 0, .13);
        color: #ffffff;
        box-shadow: 0 12px 28px rgba(25, 5, 44, .28), 0 0 0 4px rgba(43, 255, 0, .1);
    }

    .public-job-grid .job-card.public .btn.primary:hover {
        border-color: #2bff00;
        background: rgba(43, 255, 0, 0.08);
        color: #18bd00;
        box-shadow: none;
    }

    body.theme-dark:not(.route-admin-mestre) .public-job-grid .job-card.public .btn.primary:hover {
        color: #7dff69;
    }
}

@media (max-width: 640px) {
    .home-role-story-work-section {
        min-height: 165svh;
    }

    .home-role-story-contract-section {
        min-height: 165svh;
    }

    .home-role-intro-copy {
        width: min(96vw, 680px);
        padding: .1em .07em;
        font-size: clamp(2.4rem, 11.5vw, 4.35rem);
        line-height: 1;
        letter-spacing: -.04em;
    }

    .home-role-scene-work .home-role-intro-copy,
    .home-role-scene-contract .home-role-intro-copy {
        font-size: clamp(2.05rem, 9.4vw, 3.6rem);
    }

    .home-role-scene-contract .home-role-intro-copy strong::after {
        bottom: -.015em;
        width: 78%;
        height: .27em;
    }

    .public-job-grid .job-card.public .public-job-arrow {
        width: 48px;
        height: 48px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-role-intro-copy {
        display: none;
    }
    .public-job-grid .job-card.public .public-job-arrow,
    .public-job-grid .job-card.public .public-job-arrow svg {
        transition: none;
    }
}

@media (max-width: 640px) {
    .home-story-interlude {
        --interlude-slope: 44px;
        padding: 26px 0 22px;
    }

    .home-story-interlude::after {
        top: 52%;
        right: -190px;
        width: 390px;
        opacity: .09;
    }

    .home-role-story-contract-section {
        margin-top: 0;
    }

    .home-role-scene {
        min-height: 74svh;
        padding: 58px 18px;
        background-attachment: scroll;
    }

    .home-role-card {
        padding: 32px 24px;
    }

    .home-role-card h1,
    .home-role-card h2 {
        font-size: clamp(2rem, 8vw, 2.4rem);
    }

    .home-role-card p {
        font-size: 16px;
    }

    .home-role-action {
        width: 100%;
    }

    .home-role-index {
        left: 18px;
        bottom: 22px;
    }

    .home-role-scene-work .home-role-media {
        object-position: 58% center;
    }

    .home-role-scene-contract .home-role-media {
        object-position: 70% center;
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-role-story-contract-section {
        --role-media-scale: 1.12;
        --role-card-y: 0px;
        --role-card-opacity: 1;
        --role-curtain: 0;
    }

    .home-role-scene,
    .home-role-media,
    .home-role-card,
    .home-role-index,
    .home-role-action,
    .home-role-action svg {
        transition: none !important;
    }

    .home-role-scene,
    .home-role-card,
    .home-role-index {
        opacity: 1;
        transform: none;
    }

    .home-role-media {
        transform: none !important;
    }

    .home-role-scene[data-role-reveal] .home-role-card {
        clip-path: none;
        filter: none;
    }
}

/* Homepage: cards principais com contraste, brilho e impacto */
.home-role-card {
    isolation: isolate;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .32);
    background:
        radial-gradient(circle at 14% 8%, rgba(198, 132, 255, .32), transparent 34%),
        linear-gradient(145deg, #6d2da0 0%, #4a1d70 54%, #32134f 100%);
    box-shadow:
        0 20px 48px rgba(26, 7, 46, .3),
        0 0 0 1px rgba(177, 105, 255, .13) inset,
        0 0 20px rgba(143, 67, 202, .1);
}

.home-role-card::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: -2px;
    padding: 2px;
    border-radius: inherit;
    background: conic-gradient(from var(--home-card-angle, 0deg), #c886ff, #24ff00, transparent 28%, transparent 68%, #c886ff);
    -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    animation: none;
    pointer-events: none;
}

.home-role-card::after {
    display: none;
}

.home-role-scene-contract .home-role-card {
    border-top: 0;
    background:
        radial-gradient(circle at 84% 12%, rgba(36, 255, 0, .22), transparent 32%),
        radial-gradient(circle at 10% 90%, rgba(133, 55, 181, .34), transparent 38%),
        linear-gradient(145deg, #222124 0%, #121513 58%, #090b0a 100%);
    box-shadow:
        0 22px 52px rgba(0, 0, 0, .46),
        0 0 0 1px rgba(36, 255, 0, .18) inset,
        0 0 22px rgba(36, 255, 0, .08);
}

.home-role-kicker {
    width: fit-content;
    margin-right: auto;
    margin-left: auto;
    padding: 7px 12px;
    color: #121712;
    border: 1px solid rgba(255, 255, 255, .42);
    border-radius: 999px;
    background: #c8ffbd;
    box-shadow: 0 8px 24px rgba(36, 255, 0, .2);
    letter-spacing: .06em;
}

.home-role-card h1,
.home-role-card h2 {
    text-shadow: 0 8px 32px rgba(0, 0, 0, .22);
}

.home-role-action {
    position: relative;
    isolation: isolate;
    overflow: visible;
    box-shadow: 0 0 0 0 rgba(36, 255, 0, .54), 0 14px 34px rgba(20, 255, 0, .22);
    animation: none;
}

.home-role-action::before {
    display: none;
}

.home-role-action svg {
    animation: none;
}

@media (max-width: 900px), (pointer: coarse) {
    .home-role-scene {
        background-attachment: scroll;
    }

    .home-role-card {
        left: 0;
    }

    .home-role-story-contract-section {
        --role-media-scale: 1.12;
        --role-card-y: 0px;
        --role-card-opacity: 1;
        --role-curtain: 0;
    }

    .home-role-card::before,
    .home-role-card::after,
    .home-role-action,
    .home-role-action::before,
    .home-role-action svg {
        animation: none !important;
    }

    .home-role-card::after,
    .home-role-action::before {
        display: none;
    }
}

@property --home-card-angle {
    syntax: "<angle>";
    initial-value: 0deg;
    inherits: false;
}

@keyframes homeCardBorder {
    to { --home-card-angle: 360deg; }
}

@keyframes homeCardSheen {
    0%, 58% { left: -80%; opacity: 0; }
    68% { opacity: .42; }
    86%, 100% { left: 135%; opacity: 0; }
}

@keyframes homeActionPulse {
    0%, 100% { box-shadow: 0 0 0 0 rgba(36, 255, 0, .48), 0 14px 34px rgba(20, 255, 0, .22); }
    50% { box-shadow: 0 0 0 13px rgba(36, 255, 0, 0), 0 20px 44px rgba(20, 255, 0, .35); }
}

@keyframes homeActionImpact {
    0%, 34% { opacity: 0; transform: scale(.88); }
    48% { opacity: .7; }
    76%, 100% { opacity: 0; transform: scale(1.18); }
}

@keyframes homeActionArrow {
    0%, 100% { transform: translateX(0); }
    50% { transform: translateX(5px); }
}

@media (hover: hover) {
    .home-role-scene-work[data-role-reveal].has-role-motion-started .home-role-card,
    .home-role-scene-contract[data-role-reveal].has-role-motion-started .home-role-card {
        transition: transform .26s cubic-bezier(.2, .8, .2, 1), border-color .2s ease;
    }

    .home-role-scene-work[data-role-reveal].has-role-motion-started .home-role-card:hover,
    .home-role-scene-contract[data-role-reveal].has-role-motion-started .home-role-card:hover {
        border-color: rgba(255, 255, 255, .52);
        transform: translate3d(var(--role-reveal-x, 0px), -5px, 0) rotate(-2deg) scale(1.01);
    }

    .home-role-action:hover {
        color: #101512;
        background: #c8ffbd;
        border-color: #c8ffbd;
        transform: translateY(-4px) scale(1.045);
        animation-play-state: paused;
    }

    .home-role-action:active {
        transform: translateY(1px) scale(.96);
    }
}

@media (prefers-reduced-motion: reduce) {
    .home-role-card::before,
    .home-role-card::after,
    .home-role-action,
    .home-role-action::before,
    .home-role-action svg {
        animation: none !important;
    }
}

/* Homepage: o convite do freela vira um bilhete preso por alfinete. */
.home-role-card.home-role-card-paper-design {
    width: min(100%, 470px);
    aspect-ratio: 4 / 5;
    box-sizing: border-box;
    overflow: visible;
    padding: 132px 48px 48px;
    color: #2d2118;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}

.home-role-card-paper-design::before,
.home-role-card-paper-design::after {
    display: none;
}

.home-role-card-paper {
    position: absolute;
    z-index: -1;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
    filter: drop-shadow(0 24px 28px rgba(18, 8, 2, .34));
}

.home-role-card-paper-design > :not(.home-role-card-paper) {
    position: relative;
    z-index: 1;
}

.home-role-card-paper-design .home-role-kicker {
    position: absolute;
    top: 78px;
    right: 38px;
    margin: 0;
    color: #261a12;
    border-color: rgba(45, 33, 24, .12);
    background: #c8ffbd;
    box-shadow: 0 7px 18px rgba(31, 126, 15, .14);
}

.home-role-card-paper-design h1,
.home-role-card-paper-design h2 {
    margin-top: 42px;
    color: #2d2118;
    font-size: clamp(2rem, 2.7vw, 2.5rem);
    text-shadow: none;
}

.home-role-card-paper-design h1 strong,
.home-role-card-paper-design h2 strong {
    color: #64308b;
}

.home-role-card-paper-contract h2 strong {
    color: #23752d;
}

.home-role-card-paper-design p {
    margin: 20px auto 24px;
    color: rgba(45, 33, 24, .78);
    font-size: 16px;
    line-height: 1.5;
}

@media (max-width: 640px) {
    .home-role-card.home-role-card-paper-design {
        width: min(100%, 370px);
        padding: 105px 34px 30px;
    }

    .home-role-card-paper-design h1,
    .home-role-card-paper-design h2 {
        margin-top: 34px;
        font-size: clamp(1.72rem, 7.4vw, 2rem);
    }

    .home-role-card-paper-design .home-role-kicker {
        top: 61px;
        right: 24px;
        padding: 6px 10px;
        font-size: 11px;
    }

    .home-role-card-paper-design p {
        margin: 15px auto 18px;
        font-size: 14px;
        line-height: 1.42;
    }

    .home-role-card-paper-design .home-role-action {
        min-height: 48px;
        padding: 11px 18px;
    }
}

/* Homepage: etapas apresentadas como bilhetes presos individualmente. */
body.route-home .home-briefing-section .workflow-grid {
    gap: clamp(22px, 2.4vw, 36px);
    align-items: stretch;
}

body.route-home .home-briefing-section .workflow-card,
body.route-home .home-briefing-section .workflow-card:nth-child(even) {
    --workflow-note-angle: -1.1deg;
    --workflow-note-delay: 0s;
    position: relative;
    isolation: isolate;
    display: flex;
    min-height: 290px;
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    overflow: visible;
    padding: 58px 30px 38px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #24201a;
    transform-origin: 50% 8%;
    animation: workflowPaperSway 5.8s ease-in-out var(--workflow-note-delay) infinite;
}

body.route-home .home-briefing-section .workflow-card:nth-child(2) {
    --workflow-note-angle: .9deg;
    --workflow-note-delay: -.9s;
}

body.route-home .home-briefing-section .workflow-card:nth-child(3) {
    --workflow-note-angle: -.65deg;
    --workflow-note-delay: -1.8s;
}

body.route-home .home-briefing-section .workflow-card:nth-child(4) {
    --workflow-note-angle: 1.15deg;
    --workflow-note-delay: -2.7s;
}

body.route-home .home-briefing-section .workflow-paper {
    position: absolute;
    z-index: -2;
    inset: -9px -12px;
    width: calc(100% + 24px);
    height: calc(100% + 18px);
    object-fit: fill;
    pointer-events: none;
    user-select: none;
    filter:
        drop-shadow(0 10px 8px rgba(22, 18, 12, .24))
        drop-shadow(0 24px 18px rgba(22, 18, 12, .2));
}

body.route-home .home-briefing-section .workflow-pin {
    position: absolute;
    z-index: 3;
    top: -16px;
    left: 50%;
    width: 50px;
    height: 50px;
    object-fit: contain;
    pointer-events: none;
    user-select: none;
    transform: translateX(-50%);
    transform-origin: 50% 72%;
    animation: workflowPinPress 3.4s ease-in-out var(--workflow-note-delay) infinite;
}

body.route-home .home-briefing-section .workflow-card:nth-child(2) .workflow-pin {
    left: 57%;
}

body.route-home .home-briefing-section .workflow-card:nth-child(3) .workflow-pin {
    left: 44%;
}

body.route-home .home-briefing-section .workflow-card:nth-child(4) .workflow-pin {
    left: 54%;
}

body.route-home .home-briefing-section .workflow-card .workflow-icon,
body.route-home .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon {
    position: relative;
    z-index: 1;
    width: 48px;
    height: 48px;
    margin: 0 0 18px;
    background: rgba(144, 92, 174, .14);
    color: #71388e;
    box-shadow: none;
}

body.route-home .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon {
    background: rgba(36, 197, 20, .14);
    color: #187c16;
}

body.route-home .home-briefing-section .workflow-card .workflow-icon svg {
    width: 27px;
    height: 27px;
}

body.route-home .home-briefing-section .workflow-card h3,
body.route-home .home-briefing-section .workflow-card p {
    position: relative;
    z-index: 1;
    color: #24201a;
    text-align: left;
    animation: none;
}

body.route-home .home-briefing-section .workflow-card h3 {
    margin: 0 0 12px;
}

body.route-home .home-briefing-section .workflow-card p {
    margin: 0;
    line-height: 1.55;
}

@media (hover: hover) {
    body.route-home .home-briefing-section .workflow-card:hover,
    body.route-home .home-briefing-section .workflow-card:nth-child(even):hover {
        border: 0;
        background: transparent;
        box-shadow: none;
        animation-play-state: paused;
        transform: translateY(-9px) rotate(calc(var(--workflow-note-angle) * -1.7)) scale(1.035);
    }

    body.route-home .home-briefing-section .workflow-card:hover .workflow-pin {
        animation-play-state: paused;
        transform: translateX(-50%) translateY(-3px) rotate(7deg) scale(1.08);
    }
}

@keyframes workflowPaperSway {
    0%, 100% { transform: translateY(0) rotate(var(--workflow-note-angle)); }
    50% { transform: translateY(-5px) rotate(calc(var(--workflow-note-angle) * -.65)); }
}

@keyframes workflowPinPress {
    0%, 100% { transform: translateX(-50%) translateY(0) rotate(-2deg); }
    50% { transform: translateX(-50%) translateY(2px) rotate(2deg) scale(.96); }
}

@media (max-width: 760px) {
    body.route-home .home-briefing-section .workflow-grid {
        gap: 38px;
    }

    body.route-home .home-briefing-section .workflow-card,
    body.route-home .home-briefing-section .workflow-card:nth-child(even) {
        min-height: 260px;
        align-items: flex-start;
        padding: 54px 38px 34px;
        text-align: left;
    }

    body.route-home .home-briefing-section .workflow-card .workflow-icon {
        width: 48px;
        height: 48px;
        margin: 0 0 16px;
        animation: none;
    }

    body.route-home .home-briefing-section .workflow-card .workflow-icon::after {
        display: none;
    }

    body.route-home .home-briefing-section .workflow-card h3,
    body.route-home .home-briefing-section .workflow-card p {
        max-width: none;
        margin-right: 0;
        margin-left: 0;
        text-align: left;
        animation: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.route-home .home-briefing-section .workflow-card,
    body.route-home .home-briefing-section .workflow-pin {
        animation: none !important;
    }

    body.route-home .home-briefing-section .workflow-card {
        transform: rotate(var(--workflow-note-angle));
    }
}

/* Payment hub hero refinement */
.payment-dashboard-hero {
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
  gap: clamp(24px, 4vw, 58px);
  align-items: center;
  padding: clamp(28px, 4vw, 54px);
  border-color: rgba(144, 92, 174, 0.22);
  border-radius: 22px;
  background:
    radial-gradient(circle at 4% 0%, rgba(43, 255, 0, 0.12), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(144, 92, 174, 0.14), transparent 40%),
    #fff;
  box-shadow: 0 22px 60px rgba(24, 35, 30, 0.08);
}

.payment-hero-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

.payment-hero-meta .eyebrow,
.payment-hero-meta .payment-dashboard-status {
  margin: 0;
}

.payment-dashboard-copy h1 {
  max-width: 720px;
  margin: 20px 0 14px;
  font-size: clamp(2.15rem, 3.4vw, 3.65rem);
  line-height: 1.02;
  letter-spacing: -0.035em;
}

.payment-dashboard-copy p {
  max-width: 650px;
  margin-bottom: 26px;
}

.payment-dashboard-status {
  padding: 7px 12px;
  border-color: rgba(43, 255, 0, 0.34);
}

.payment-dashboard-amount {
  position: relative;
  justify-items: start;
  min-height: 300px;
  padding: clamp(26px, 3.4vw, 42px);
  border-color: rgba(196, 106, 255, 0.7);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(214, 139, 255, 0.42), transparent 38%),
    radial-gradient(circle at 2% 100%, rgba(43, 255, 0, 0.13), transparent 34%),
    linear-gradient(145deg, #2d0d3d 0%, #652287 52%, #351046 100%);
  box-shadow: 0 24px 54px rgba(62, 17, 84, 0.34), inset 0 1px 0 rgba(255, 255, 255, 0.12);
  isolation: isolate;
  overflow: hidden;
}

.payment-dashboard-amount::after {
  content: "";
  position: absolute;
  right: -70px;
  bottom: -90px;
  z-index: -1;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(221, 168, 255, 0.2);
  border-radius: 50%;
}

.payment-amount-icon {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  margin-bottom: 26px;
  border: 1px solid rgba(200, 255, 186, 0.44);
  border-radius: 13px;
  color: #2bff00;
  background: rgba(19, 6, 26, 0.28);
  font-size: 0.78rem;
  font-weight: 950;
}

.payment-dashboard-amount strong {
  margin: 7px 0 13px;
  color: #c8ffba;
  font-size: clamp(2.35rem, 3.8vw, 3.9rem);
  letter-spacing: -0.04em;
}

.payment-dashboard-amount small {
  max-width: 310px;
  color: #f0e5f5;
}

.payment-amount-security {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 24px;
  padding-top: 17px;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  color: #f3eaf7;
  font-size: 0.75rem;
  font-weight: 760;
}

.payment-amount-security i {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #2bff00;
  box-shadow: 0 0 0 5px rgba(43, 255, 0, 0.1);
}

body.theme-dark:not(.route-admin-mestre) .payment-dashboard-hero {
  background:
    radial-gradient(circle at 4% 0%, rgba(43, 255, 0, 0.09), transparent 34%),
    radial-gradient(circle at 100% 100%, rgba(144, 92, 174, 0.18), transparent 42%),
    #111814;
}

body.theme-dark:not(.route-admin-mestre) .payment-dashboard-status {
  border-color: rgba(93, 255, 61, 0.62);
  background: rgba(43, 255, 0, 0.15);
  color: #8cff75;
  box-shadow: 0 0 0 4px rgba(43, 255, 0, 0.04);
}

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

  .payment-dashboard-amount {
    min-height: 250px;
  }
}

@media (max-width: 680px) {
  .payment-dashboard-hero {
    border-radius: 16px;
  }

  .payment-dashboard-copy h1 {
    margin-top: 16px;
    font-size: clamp(1.9rem, 9vw, 2.65rem);
  }

  .payment-dashboard-amount {
    min-height: 0;
    border-radius: 16px;
  }

  .payment-amount-icon {
    margin-bottom: 18px;
  }
}

@media (max-width: 900px) {
  .profile-quickbar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .profile-quick-delete {
    width: 100%;
  }
}

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

  .profile-quick-delete {
    min-height: 48px;
  }
}

/* Componente isolado: avatar circular do perfil público */
.dev-profile-avatar-round {
  position: relative;
  box-sizing: border-box;
  display: block;
  width: min(100%, 320px);
  aspect-ratio: 1 / 1;
  margin-inline: auto;
  padding: 10px;
  overflow: hidden;
  border: 1px solid rgba(144, 92, 174, 0.34);
  border-radius: 9999px;
  background: linear-gradient(145deg, rgba(43, 255, 0, 0.15), rgba(144, 92, 174, 0.3));
  box-shadow: 0 22px 54px rgba(17, 24, 39, 0.16);
}

.dev-profile-avatar-round::after {
  position: absolute;
  inset: 9px;
  z-index: 2;
  border: 1px solid rgba(255, 255, 255, 0.5);
  border-radius: 50%;
  content: "";
  pointer-events: none;
}

.dev-profile-avatar-round img,
.dev-profile-avatar-round.is-illustrated img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  border-radius: 50%;
  background: #151b18;
  object-fit: cover;
  object-position: center 28%;
  filter: none;
}

.dev-profile-avatar-round.is-illustrated img {
  object-position: center;
}

@media (max-width: 680px) {
  .dev-profile-avatar-round {
    width: min(78vw, 290px);
  }
}

/* Grade estrutural global: mais area util e o mesmo alinhamento em todo o produto. */
:root {
  --site-grid-max: 1480px;
  --site-grid-gutter: clamp(16px, 2.2vw, 40px);
  --site-grid-width: min(
    var(--site-grid-max),
    calc(100% - (var(--site-grid-gutter) * 2))
  );
}

@media (min-width: 981px) {
  .topbar-inner,
  .mega-menu,
  .home-trial-cta,
  .playful-hero,
  .page-head,
  .form-layout,
  .dashboard-shell,
  .metrics-band,
  .talent-grid,
  .pricing-page,
  .route-preco .pricing-page,
  .payment-hub-page,
  .withdraw-page,
  .profile-page,
  .dev-profile-page,
  .dev-ops-page,
  .edit-page-shell,
  .loyalty-shell {
    width: var(--site-grid-width);
    max-width: var(--site-grid-max);
    margin-inline: auto;
  }

  body.route-contratar .page-head,
  body.route-contratar .form-layout {
    width: var(--site-grid-width);
    max-width: var(--site-grid-max);
  }

  .topbar-inner,
  .mega-menu {
    width: min(var(--site-grid-max), calc(100vw - (var(--site-grid-gutter) * 2)));
  }

  .mega-menu {
    grid-template-columns: minmax(430px, 0.78fr) minmax(600px, 1.22fr);
  }

  .client-dashboard {
    grid-template-columns: minmax(300px, 0.3fr) minmax(0, 1fr);
    gap: clamp(36px, 4vw, 68px);
  }

  .payment-hub-page,
  .dev-ops-page {
    grid-template-columns: minmax(280px, 350px) minmax(0, 1fr);
  }
}

/* Fundo unificado do modo escuro em todas as rotas. */
body.theme-dark {
  --bg: #252626;
  background: #252626 !important;
}

body.theme-dark main,
body.theme-dark .loyalty-page,
body.theme-dark .admin-login-page {
  background: #252626 !important;
}

body.theme-dark:not(.route-admin-mestre) .topbar,
body.route-home.theme-dark .topbar,
body.route-preco.theme-dark .topbar {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  background: rgba(37, 38, 38, 0.96);
}

body.theme-dark .footer {
  background: #252626;
}

/* Iconografia das quatro etapas do fluxo inicial. */
.workflow-card .workflow-icon {
  display: inline-grid;
  width: 58px;
  height: 58px;
  place-items: center;
  margin-bottom: 20px;
  border: 0;
  border-radius: 50%;
  background: linear-gradient(145deg, #a96aca, #754091);
  color: #ffffff;
  box-shadow: 0 12px 28px rgba(144, 92, 174, 0.24);
}

.workflow-card:nth-child(odd) .workflow-icon {
  background: linear-gradient(145deg, #48ff25, #1bc400);
  color: #10200d;
  box-shadow: 0 12px 28px rgba(43, 255, 0, 0.2);
}

.workflow-card .workflow-icon svg {
  width: 31px;
  height: 31px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.65;
  stroke-linecap: round;
  stroke-linejoin: round;
}

body.theme-dark .workflow-card .workflow-icon {
  background: linear-gradient(145deg, #a96aca, #754091);
}

body.theme-dark .workflow-card:nth-child(odd) .workflow-icon {
  background: linear-gradient(145deg, #48ff25, #1bc400);
}

/* Olhos animados do robo compacto do chat. */
.floating-chat-button .floating-chat-eyes {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  display: block;
  width: 5px;
  height: 5px;
  margin: -2px 0 0 -8px;
  border-radius: 999px;
  background: #08160d;
  box-shadow: 11px 0 0 #08160d;
  transform-origin: center;
  animation: floatingChatBlink 4.8s ease-in-out infinite;
  pointer-events: none;
}

@keyframes floatingChatBlink {
  0%, 43%, 47%, 51%, 100% {
    transform: scaleY(1);
  }

  45%, 49% {
    transform: scaleY(0.08);
  }
}

@media (prefers-reduced-motion: reduce) {
  .floating-chat-button .floating-chat-eyes {
    animation: none;
  }
}

/* Megamenu dividido em atalhos editoriais + destaque visual. */
.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-card {
  display: grid;
  grid-template-columns: minmax(150px, .72fr) minmax(270px, 1.28fr);
  align-items: stretch;
  gap: 18px;
  min-height: 252px;
  padding: 0;
  overflow: visible;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points {
  position: static;
  display: grid;
  align-content: center;
  gap: 0;
  min-width: 0;
  margin: 0;
  padding: 10px 0;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points li {
  display: block;
  width: auto;
  padding: 0;
  border: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 82%, transparent);
  border-radius: 0;
  background: transparent;
  color: inherit;
  backdrop-filter: none;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points li:last-child {
  border-bottom: 0;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points li::before {
  display: none;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 17px 4px;
  color: var(--ink);
  font-size: .9rem;
  font-weight: 850;
  line-height: 1.2;
  text-decoration: none;
  transition: color 160ms ease, transform 160ms ease;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points a::after {
  content: "↗";
  color: var(--muted);
  font-size: 1rem;
  opacity: 0;
  transform: translate(-4px, 4px);
  transition: opacity 160ms ease, transform 160ms ease;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points a:hover,
.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points a:focus-visible {
  color: var(--accent);
  transform: translateX(3px);
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points a:hover::after,
.mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points a:focus-visible::after {
  opacity: 1;
  transform: none;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link {
  position: relative;
  isolation: isolate;
  display: grid;
  min-width: 0;
  min-height: 252px;
  align-content: center;
  overflow: hidden;
  padding: 28px 46% 28px 26px;
  border: 1px solid color-mix(in srgb, var(--line) 76%, transparent);
  border-radius: 14px;
  background: color-mix(in srgb, var(--surface) 94%, #eef0f2);
  color: var(--ink);
  text-decoration: none;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.5);
  transition: border-color 180ms ease, background 180ms ease, transform 180ms ease, box-shadow 180ms ease;
}

.mega-nav .nav-item:nth-child(1) .mega-feature-link {
  background: linear-gradient(135deg, #f8f5fb, #f1edf5);
}

.mega-nav .nav-item:nth-child(2) .mega-feature-link {
  background: linear-gradient(135deg, #f4f8f5, #eaf3ec);
}

.mega-feature-copy {
  position: relative;
  z-index: 2;
  display: grid;
  align-content: center;
  gap: 7px;
  min-width: 0;
}

.mega-feature-copy small {
  color: var(--accent);
  font-size: .68rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.mega-feature-copy strong {
  color: var(--ink);
  font-size: 1.05rem;
  line-height: 1.12;
}

.mega-feature-copy em {
  display: inline-flex;
  width: max-content;
  align-items: center;
  gap: 7px;
  margin-top: 8px;
  color: var(--muted);
  font-size: .76rem;
  font-style: normal;
  font-weight: 850;
}

.mega-feature-copy em b {
  font-size: .95rem;
  transition: transform 180ms ease;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link img {
  position: absolute;
  z-index: 1;
  right: -8px;
  bottom: 0;
  width: 53%;
  height: 94%;
  max-height: none;
  object-fit: contain;
  object-position: right bottom;
  filter: drop-shadow(0 14px 18px rgba(17,24,39,.13));
  transform-origin: right bottom;
  transition: transform 220ms ease;
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link:hover,
.mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 44%, var(--line));
  background: color-mix(in srgb, var(--surface) 91%, var(--accent));
  box-shadow: 0 14px 30px rgba(20,24,29,.1);
  transform: translateY(-2px);
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link:hover img,
.mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link:focus-visible img {
  transform: scale(1.035);
}

.mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link:hover em b,
.mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link:focus-visible em b {
  transform: translate(2px,-2px);
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link {
  border-color: rgba(255,255,255,.1);
  background: rgba(255,255,255,.055);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

body.theme-dark:not(.route-admin-mestre) .mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points li {
  border-color: rgba(255,255,255,.09);
}

/* Megamenu desktop mais contido e alinhado ao eixo dos cards da pagina. */
@media (min-width: 981px) {
  .mega-nav .mega-menu {
    width: min(1080px, calc(100vw - 72px));
  }

  .mega-nav .mega-menu:not(.mega-menu-price) {
    grid-template-columns: minmax(330px, .76fr) minmax(460px, 1.24fr);
  }
}

@media (max-width: 1180px) {
  .mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-card {
    grid-template-columns: minmax(138px, .68fr) minmax(245px, 1.32fr);
    gap: 14px;
  }

  .mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link {
    padding-left: 20px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points a,
  .mega-nav .mega-menu:not(.mega-menu-price) .mega-visual-points a::after,
  .mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link,
  .mega-nav .mega-menu:not(.mega-menu-price) .mega-feature-link img,
  .mega-feature-copy em b {
    transition: none;
  }
}

/* Preco: o megamenu vira uma folha presa, mantendo o conteudo funcional. */
body:not(.route-admin-mestre) .mega-nav .nav-item-price .mega-menu-price {
  isolation: isolate;
  overflow: visible;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.route-admin-mestre) .mega-menu-price > .mega-price-paper {
  position: absolute;
  inset: -34px -78px -40px -52px;
  z-index: -1;
  width: calc(100% + 130px);
  height: calc(100% + 74px);
  object-fit: fill;
  pointer-events: none;
  filter: drop-shadow(0 24px 30px rgba(28, 16, 35, 0.24));
}

body:not(.route-admin-mestre) .mega-menu-price > .mega-price-pin {
  position: absolute;
  top: -50px;
  left: 50%;
  z-index: 5;
  width: 64px;
  height: 78px;
  object-fit: contain;
  opacity: 0;
  pointer-events: none;
  filter: drop-shadow(0 9px 7px rgba(73, 17, 24, 0.34));
  transform: translate3d(-50%, -74px, 0) rotate(-18deg) scale(1.22);
  transform-origin: 50% 82%;
  will-change: transform, opacity;
}

body:not(.route-admin-mestre) .nav-item-price:hover .mega-price-pin,
body:not(.route-admin-mestre) .nav-item-price:focus-within .mega-price-pin {
  animation: megaPricePinAttach 820ms cubic-bezier(.2, .92, .2, 1.18) 90ms both;
}

body:not(.route-admin-mestre) .mega-menu-price > .mega-menu-content,
body:not(.route-admin-mestre) .mega-menu-price > .mega-price-visual {
  position: relative;
  z-index: 1;
}

@keyframes megaPricePinAttach {
  0% {
    opacity: 0;
    transform: translate3d(-50%, -74px, 0) rotate(-18deg) scale(1.22);
  }
  58% {
    opacity: 1;
    transform: translate3d(-50%, 8px, 0) rotate(4deg) scale(.94);
  }
  76% {
    transform: translate3d(-50%, -4px, 0) rotate(-2deg) scale(1.04);
  }
  100% {
    opacity: 1;
    transform: translate3d(-50%, 0, 0) rotate(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  body:not(.route-admin-mestre) .nav-item-price:hover .mega-price-pin,
  body:not(.route-admin-mestre) .nav-item-price:focus-within .mega-price-pin {
    animation: none;
    opacity: 1;
    transform: translate3d(-50%, 0, 0);
  }
}

.route-devs .page-head h1 {
  width: 100%;
  margin-inline: auto !important;
  text-align: center;
}

body.route-contratar .page-head h1 {
  width: 100%;
  margin: 10px auto 18px !important;
  text-align: center;
}

/* Precos: condicoes especificas do plano em um unico painel minimalista. */
.route-preco .refined-price-grid {
  grid-template-columns: minmax(320px, .82fr) minmax(0, 1.18fr);
  gap: clamp(28px, 4vw, 52px);
  align-items: stretch;
}

.route-preco .refined-price-main {
  align-content: start;
  justify-items: center;
  gap: 18px;
  padding: 30px 0 4px;
  text-align: center;
}

.route-preco .refined-plan-tabs {
  width: min(100%, 400px);
  padding: 5px;
}

.route-preco .refined-plan-tabs label {
  min-height: 56px;
  gap: 9px;
  padding-inline: 12px;
  font-size: .95rem;
}

.route-preco .refined-plan-tabs label img {
  width: 28px;
  height: 28px;
}

.route-preco .refined-plan-body,
.route-preco .refined-plan-panel {
  justify-items: center;
  text-align: center;
}

.route-preco .refined-plan-panel {
  width: 100%;
}

.route-preco .refined-plan-badge {
  padding: 6px 13px 6px 6px;
}

.route-preco .refined-plan-badge img {
  width: 38px;
  height: 38px;
}

.route-preco .refined-price-value {
  justify-content: center;
}

.route-preco .refined-price-caption {
  max-width: 310px;
  text-align: center;
}

.route-preco .refined-plan-showcase-icon {
  display: grid;
  width: min(320px, 92%);
  aspect-ratio: 1;
  place-items: center;
  margin-top: 8px;
  perspective: 700px;
}

.route-preco .refined-plan-showcase-icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: drop-shadow(0 22px 22px rgba(31, 18, 53, .2));
  transform-origin: 50% 82%;
  animation: pricingPlanIconSway 3.8s ease-in-out infinite;
  will-change: transform;
}

.route-preco .plan-panel-quarterly .refined-plan-showcase-icon img {
  animation-delay: -.7s;
}

.route-preco .plan-panel-annual .refined-plan-showcase-icon img {
  animation-delay: -1.4s;
}

@keyframes pricingPlanIconSway {
  0%,
  100% {
    transform: rotate(-2.2deg) translateY(0);
  }

  50% {
    transform: rotate(2.2deg) translateY(-5px);
  }
}

.route-preco .refined-benefits-panel {
  align-content: start;
  gap: 14px;
  padding: clamp(22px, 2.5vw, 28px);
  border-radius: 16px;
}

.route-preco .refined-commercial-head {
  display: grid;
  gap: 7px;
  padding-bottom: 14px;
  border-bottom: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
}

.route-preco .refined-commercial-head > span {
  color: #905cae;
  font-size: .69rem;
  font-weight: 950;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.route-preco .refined-commercial-head h3 {
  color: var(--ink);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  letter-spacing: 0;
  line-height: 1.12;
  text-transform: none;
}

.route-preco .refined-commercial-head .refined-rate-intro {
  max-width: 620px;
  color: var(--muted);
  font-size: .87rem;
  font-weight: 650;
  line-height: 1.5;
}

.route-preco .refined-commercial-rates {
  grid-template-columns: 1fr;
  gap: 10px;
}

.route-preco .refined-commercial-rates li {
  grid-template-columns: 38px auto minmax(0, 1fr);
  gap: 10px;
  min-height: 50px;
  padding: 9px 12px;
  border: 1px solid color-mix(in srgb, var(--line) 78%, transparent);
  border-radius: 11px;
  background: color-mix(in srgb, var(--surface) 92%, var(--accent));
}

.route-preco .refined-commercial-rates li::before {
  display: none;
}

.route-preco .refined-rate-icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

.route-preco .refined-rate-icon {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 10px;
  background: linear-gradient(135deg, #a85fda, #7431a8);
  color: #fff;
  box-shadow: 0 8px 18px rgba(88, 36, 128, .18);
}

.route-preco .refined-rate-icon svg {
  width: 21px;
  height: 21px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.route-preco .refined-commercial-rates strong {
  display: grid;
  min-width: 38px;
  height: 30px;
  place-items: center;
  padding-inline: 7px;
  border-radius: 8px;
  background: color-mix(in srgb, var(--accent) 13%, var(--surface));
  color: var(--accent);
  font-size: .82rem;
}

.route-preco .refined-commercial-rates span {
  align-self: center;
  color: var(--ink);
  font-size: .84rem;
  line-height: 1.3;
}

.route-preco .refined-commercial-note {
  display: grid;
  grid-template-columns: 30px minmax(0, 1fr);
  gap: 11px;
  align-items: center;
  padding: 10px 13px;
  border-radius: 11px;
  background: color-mix(in srgb, var(--accent) 7%, transparent);
}

.route-preco .refined-commercial-note > span {
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 9px;
  background: var(--accent);
  color: #10200d;
  font-size: .78rem;
  font-weight: 950;
}

.route-preco .refined-commercial-note .refined-expense-note {
  color: var(--muted);
  font-size: .8rem;
}

body.theme-dark.route-preco .refined-commercial-head h3,
body.theme-dark.route-preco .refined-commercial-rates span {
  color: #f5f7fb;
}

body.theme-dark.route-preco .refined-commercial-head > span {
  color: #c283e4;
}

@media (max-width: 760px) {
  .route-preco .refined-price-grid {
    grid-template-columns: 1fr;
    gap: 22px;
  }

  .route-preco .refined-commercial-rates {
    grid-template-columns: 1fr;
  }

  .route-preco .refined-price-main {
    padding-top: 4px;
  }

  .route-preco .refined-plan-showcase-icon {
    width: min(250px, 78vw);
  }
}

@media (prefers-reduced-motion: reduce) {
  .route-preco .refined-plan-showcase-icon img {
    animation: none;
  }
}

/* Identificação mínima do plano ativo no cabeçalho. */
body:not(.route-admin-mestre) .topbar.has-plan-border.plan-border-free {
  border-bottom: 2px solid #b8783d;
}

body:not(.route-admin-mestre) .topbar.has-plan-border.plan-border-dev {
  border-bottom: 2px solid #aeb8c5;
}

body:not(.route-admin-mestre) .topbar.has-plan-border.plan-border-socio {
  border-bottom: 4px solid transparent;
  border-image: linear-gradient(90deg, #9d6b08 0%, #f5dc78 22%, #c99618 50%, #fff0a6 76%, #a87309 100%) 1;
  box-shadow: 0 5px 14px rgba(191, 139, 19, 0.18);
}

/* Precos em roxo editorial, com profundidade e paineis translucidos. */
body.route-preco:not(.route-admin-mestre) .refined-price-card {
  border-color: rgba(197, 148, 235, .52);
  background:
    radial-gradient(circle at 4% 8%, rgba(182, 121, 224, .38), transparent 30%),
    radial-gradient(circle at 96% 88%, rgba(105, 42, 191, .42), transparent 34%),
    linear-gradient(118deg, #603393 0%, #32144f 46%, #260d43 68%, #54209a 100%);
  box-shadow:
    0 30px 72px rgba(48, 18, 80, .28),
    inset 0 1px 0 rgba(255, 255, 255, .16);
  color: #fff;
}

body.route-preco:not(.route-admin-mestre) .refined-price-head {
  position: relative;
  justify-content: center;
  border-bottom-color: rgba(255, 255, 255, .16);
  text-align: center;
}

body.route-preco:not(.route-admin-mestre) .refined-price-head > div {
  width: 100%;
  padding-inline: 54px;
}

body.route-preco:not(.route-admin-mestre) .refined-price-head .refined-price-bolt {
  position: absolute;
  top: 0;
  left: 0;
}

body.route-preco:not(.route-admin-mestre) .refined-price-head h2,
body.route-preco:not(.route-admin-mestre) .refined-commercial-head h3,
body.route-preco:not(.route-admin-mestre) .refined-commercial-rates span {
  color: #fff;
}

body.route-preco:not(.route-admin-mestre) .refined-price-head p,
body.route-preco:not(.route-admin-mestre) .refined-commercial-head .refined-rate-intro,
body.route-preco:not(.route-admin-mestre) .refined-commercial-note .refined-expense-note {
  color: #dfd1ec;
}

body.route-preco:not(.route-admin-mestre) .refined-plan-tabs {
  border-color: rgba(255, 255, 255, .25);
  background: rgba(23, 7, 38, .34);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

body.route-preco:not(.route-admin-mestre) .refined-plan-tabs label {
  color: #eadff3;
}

body.route-preco:not(.route-admin-mestre) .refined-plan-badge {
  border-color: rgba(255, 255, 255, .24);
  background: rgba(255, 255, 255, .1);
  color: #fff;
}

body.route-preco:not(.route-admin-mestre) .refined-price-value strong {
  color: #fff;
  text-shadow: 0 8px 22px rgba(12, 3, 22, .28);
}

body.route-preco:not(.route-admin-mestre) .refined-price-card.is-socio-active .plan-panel-annual .refined-price-value strong {
  color: #ffd866;
}

body.route-preco:not(.route-admin-mestre) .refined-price-value small,
body.route-preco:not(.route-admin-mestre) .refined-price-caption {
  color: #e5d6f1;
}

body.route-preco:not(.route-admin-mestre) .refined-benefits-panel {
  border-color: rgba(255, 255, 255, .2);
  background:
    radial-gradient(circle at 100% 0, rgba(144, 92, 174, .22), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, .11), rgba(255, 255, 255, .055));
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .12),
    0 18px 42px rgba(21, 5, 35, .18);
  backdrop-filter: blur(12px);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-head {
  border-bottom-color: rgba(255, 255, 255, .16);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-head > span,
body.route-preco:not(.route-admin-mestre) .refined-commercial-rates strong {
  color: #dba8ff;
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-rates li {
  border-color: rgba(255, 255, 255, .15);
  background: rgba(255, 255, 255, .1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .06);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-rates strong {
  background: rgba(225, 177, 255, .14);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-note {
  border: 1px solid rgba(255, 255, 255, .12);
  background: rgba(255, 255, 255, .08);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-note > span {
  background: linear-gradient(135deg, #b96dea, #7a35b3);
  color: #fff;
}

body.route-preco:not(.route-admin-mestre) .refined-plan-showcase-icon img {
  filter: drop-shadow(0 25px 25px rgba(12, 3, 22, .4));
}

/* Painel de vantagens branco para contrastar com o card roxo. */
body.route-preco:not(.route-admin-mestre) .refined-benefits-panel {
  border-color: rgba(255, 255, 255, .72);
  background:
    radial-gradient(circle at 100% 0, rgba(225, 205, 239, .48), transparent 38%),
    linear-gradient(145deg, #fff 0%, #fbf8fd 100%);
  box-shadow:
    0 20px 46px rgba(18, 4, 30, .22),
    inset 0 1px 0 #fff;
  backdrop-filter: none;
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-head {
  border-bottom-color: rgba(82, 32, 154, .14);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-head h3,
body.route-preco:not(.route-admin-mestre) .refined-commercial-rates span {
  color: #241035;
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-head > span,
body.route-preco:not(.route-admin-mestre) .refined-commercial-head .refined-rate-intro,
body.route-preco:not(.route-admin-mestre) .refined-commercial-rates strong {
  color: #8f49ba;
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-rates li {
  border-color: rgba(144, 92, 174, .16);
  background: #f6f0fa;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .88);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-rates strong {
  background: #eadcf3;
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-rates .refined-rate-icon {
  background: linear-gradient(135deg, #a85fda, #7431a8);
  color: #fff;
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-note {
  border-color: rgba(144, 92, 174, .14);
  background: #f4edf8;
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-note .refined-expense-note {
  color: #65566f;
}

/* Precos: vantagens apoiadas em papel, com movimento reservado ao alfinete. */
body.route-preco:not(.route-admin-mestre) .refined-benefits-panel {
  isolation: isolate;
  overflow: visible;
  margin-top: 24px;
  padding: clamp(34px, 4vw, 46px) clamp(26px, 4vw, 42px) clamp(38px, 4vw, 50px);
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  backdrop-filter: none;
  transform: none;
  transform-style: flat;
  will-change: auto;
}

body.route-preco:not(.theme-dark):not(.route-admin-mestre) .refined-benefits-panel,
body.route-preco.theme-dark:not(.route-admin-mestre) .refined-benefits-panel {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.route-preco:not(.route-admin-mestre) .refined-benefits-panel > :not(.pricing-benefits-paper):not(.pricing-benefits-pin) {
  position: relative;
  z-index: 2;
}

body.route-preco:not(.route-admin-mestre) .pricing-benefits-paper {
  position: absolute;
  z-index: 0;
  inset: -38px -16px -28px;
  width: calc(100% + 32px);
  height: calc(100% + 66px);
  object-fit: fill;
  pointer-events: none;
  filter:
    drop-shadow(0 16px 12px rgba(18, 4, 30, .22))
    drop-shadow(0 30px 30px rgba(18, 4, 30, .3));
}

body.route-preco:not(.route-admin-mestre) .pricing-benefits-pin {
  position: absolute;
  z-index: 4;
  top: -15px;
  left: 50%;
  width: clamp(58px, 6vw, 78px);
  height: auto;
  pointer-events: none;
  filter: drop-shadow(0 10px 8px rgba(62, 10, 10, .34));
  transform: translateX(-50%) rotate(-5deg);
  transform-origin: 50% 76%;
}

body.route-preco:not(.route-admin-mestre) .refined-benefits-panel.has-pin-reveal .pricing-benefits-pin {
  opacity: 0;
  transform: translate3d(-50%, -118px, 0) rotate(-24deg) scale(1.36);
}

body.route-preco:not(.route-admin-mestre) .refined-benefits-panel.has-pin-reveal.is-pin-revealed .pricing-benefits-pin {
  animation: pricingPinAttach 1080ms cubic-bezier(.16, .78, .2, 1.12) both;
}

body.route-preco:not(.route-admin-mestre) .refined-benefits-panel.is-flipping,
body.route-preco:not(.route-admin-mestre) .refined-benefits-panel.is-flipping::after {
  animation: none;
}

body.route-preco:not(.route-admin-mestre) .refined-benefits-panel.is-flipping::after {
  display: none;
}

@keyframes pricingPinAttach {
  0% {
    opacity: 0;
    transform: translate3d(-50%, -118px, 0) rotate(-24deg) scale(1.36);
  }
  58% {
    opacity: 1;
    transform: translate3d(-50%, 9px, 0) rotate(5deg) scale(.92);
  }
  76% {
    transform: translate3d(-50%, -6px, 0) rotate(-9deg) scale(1.07);
  }
  89% {
    transform: translate3d(-50%, 3px, 0) rotate(-3deg) scale(.98);
  }
  100% {
    opacity: 1;
    transform: translate3d(-50%, 0, 0) rotate(-5deg) scale(1);
  }
}

@media (max-width: 520px) {
  body.route-preco:not(.route-admin-mestre) .refined-benefits-panel {
    margin-top: 42px;
    padding: 42px 12px 38px;
  }

  body.route-preco:not(.route-admin-mestre) .pricing-benefits-paper {
    inset: -34px -38px -34px;
    width: calc(100% + 76px);
    height: calc(100% + 68px);
  }

  body.route-preco:not(.route-admin-mestre) .pricing-benefits-pin {
    top: -8px;
    width: 72px;
    filter: drop-shadow(0 12px 9px rgba(62, 10, 10, .38));
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-preco:not(.route-admin-mestre) .refined-benefits-panel.has-pin-reveal .pricing-benefits-pin,
  body.route-preco:not(.route-admin-mestre) .refined-benefits-panel.has-pin-reveal.is-pin-revealed .pricing-benefits-pin {
    opacity: 1;
    animation: none;
    transform: translateX(-50%) rotate(-5deg);
  }
}

/* Precos: ciclos apresentados como tres recortes independentes de papel. */
body.route-preco:not(.route-admin-mestre) .refined-price-card > .pricing-cycle-switch,
body.route-preco:not(.theme-dark) .pricing-cycle-switch,
body.route-preco.theme-dark .pricing-cycle-switch {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  width: min(calc(100% - 28px), 520px);
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button {
  isolation: isolate;
  min-height: 58px;
  overflow: visible;
  padding: 12px 14px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #281338;
  font-size: .8rem;
  transition: color 180ms ease, transform 220ms cubic-bezier(.2, .78, .22, 1);
}

body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: #e8ddf7;
  clip-path: polygon(5% 4%, 91% 2%, 100% 22%, 96% 92%, 84% 100%, 6% 95%, 0 74%);
  filter: drop-shadow(0 9px 8px rgba(23, 9, 37, .24));
  transition: background-color 180ms ease, filter 180ms ease, transform 220ms cubic-bezier(.2, .78, .22, 1);
}

body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button:nth-child(2)::before {
  background: #fff7e8;
  clip-path: polygon(2% 10%, 12% 2%, 96% 6%, 100% 28%, 95% 100%, 10% 95%, 0 82%);
  transform: rotate(.55deg);
}

body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button:nth-child(3)::before {
  background: #e8f5e3;
  clip-path: polygon(7% 0, 95% 5%, 100% 76%, 90% 98%, 9% 100%, 0 86%, 3% 16%);
  transform: rotate(-.45deg);
}

body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button.is-active {
  background: transparent;
  color: #142012;
  box-shadow: none;
  transform: translateY(-4px) rotate(-.6deg);
}

body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button.is-active::before {
  background: #2bff00;
  filter:
    drop-shadow(0 10px 8px rgba(20, 70, 16, .26))
    drop-shadow(0 0 8px rgba(43, 255, 0, .3));
}

body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button:not(.is-active):not(:disabled) {
  color: #3a2548;
}

body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button small {
  top: -3px;
  right: 7px;
  border: 1px solid rgba(43, 255, 0, .62);
  background: #173016;
  color: #2bff00;
  transform: translateY(-42%) rotate(1.5deg);
}

@media (hover: hover) {
  body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button:not(:disabled):hover {
    color: #1f0d2e;
    transform: translateY(-3px) rotate(.5deg);
  }

  body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button:not(:disabled):hover::before {
    filter: drop-shadow(0 12px 10px rgba(23, 9, 37, .3));
  }
}

@media (max-width: 520px) {
  body.route-preco:not(.route-admin-mestre) .refined-price-card > .pricing-cycle-switch {
    gap: 5px;
    width: calc(100% - 12px);
  }

  body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button {
    min-height: 54px;
    padding-inline: 8px;
    font-size: .72rem;
  }

  body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button small {
    right: 2px;
    padding: 3px 5px;
    font-size: .52rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button,
  body.route-preco:not(.route-admin-mestre) .pricing-cycle-switch button::before {
    transition: none;
  }
}

/* Benefício comercial principal: comissão recebida por venda indicada. */
body.route-preco:not(.route-admin-mestre) .refined-commercial-rates li.is-referral-sale-highlight {
  position: relative;
  min-height: 62px;
  padding-right: 12px;
  border: 2px solid rgba(43, 255, 0, .72);
  background:
    radial-gradient(circle at 100% 0, rgba(144, 92, 174, .2), transparent 42%),
    linear-gradient(105deg, rgba(43, 255, 0, .15), #fbf8fd 58%);
  box-shadow:
    0 10px 24px rgba(87, 34, 128, .14),
    0 0 0 4px rgba(43, 255, 0, .08),
    inset 0 1px 0 rgba(255, 255, 255, .96);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-rates li.is-referral-sale-highlight::after {
  content: "DESTAQUE";
  position: absolute;
  top: -10px;
  right: 12px;
  padding: 5px 8px;
  border-radius: 999px;
  background: linear-gradient(135deg, #2bff00, #75dd52);
  color: #17300e;
  font-size: .58rem;
  font-weight: 950;
  letter-spacing: .08em;
  line-height: 1;
  transform: none;
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-rates li.is-referral-sale-highlight .refined-rate-icon {
  background: linear-gradient(135deg, #2bff00, #7c35b2);
  box-shadow: 0 10px 22px rgba(81, 35, 121, .24);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-rates li.is-referral-sale-highlight strong {
  background: #2bff00;
  color: #18300f;
  font-size: .92rem;
  box-shadow: 0 5px 14px rgba(43, 255, 0, .2);
}

body.route-preco:not(.route-admin-mestre) .refined-commercial-rates li.is-referral-sale-highlight > span:last-child {
  color: #3e1759;
  font-weight: 900;
}

@media (max-width: 520px) {
  body.route-preco:not(.route-admin-mestre) .refined-commercial-rates li.is-referral-sale-highlight {
    padding-right: 12px;
  }

  body.route-preco:not(.route-admin-mestre) .refined-commercial-rates li.is-referral-sale-highlight::after {
    top: -10px;
    right: 12px;
    bottom: auto;
    transform: none;
  }
}

/* O controle de visibilidade da senha permanece fixo em todos os estados. */
.auth-password-toggle,
.auth-password-toggle:hover,
.auth-password-toggle:focus-visible,
.auth-password-toggle:active,
.auth-password-toggle.is-visible,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle:hover,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle:focus-visible,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle:active,
body.theme-dark:not(.route-admin-mestre) .auth-password-toggle.is-visible {
  background: rgba(144, 92, 174, .1);
  color: #2bff00;
  outline: 0;
  animation: none !important;
  transform: translateY(-50%) !important;
  transition: none !important;
}

.auth-password-toggle svg,
.auth-password-toggle:hover svg,
.auth-password-toggle:focus-visible svg,
.auth-password-toggle:active svg,
.auth-password-toggle.is-visible svg {
  animation: none !important;
  transform: none !important;
  transition: none !important;
}

/* Setas dos dois acessos expansivos no menu mobile. */
.mobile-menu-chevron {
  display: grid;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  place-items: center;
  margin-left: auto;
  border-radius: 9px;
  background: rgba(144, 92, 174, .12);
  color: #a85fda;
  transition: background-color 180ms ease, color 180ms ease, transform 180ms ease;
}

.mobile-menu-chevron svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.mobile-menu-tab[aria-expanded="true"] .mobile-menu-chevron {
  background: rgba(43, 255, 0, .14);
  color: #2bff00;
  transform: rotate(180deg);
}

@media (prefers-reduced-motion: reduce) {
  .mobile-menu-chevron {
    transition: none;
  }
}

/* Job transportado da vitrine para o painel do dev. */
.dev-mini-card.is-selected,
.dev-opportunity-card.is-selected {
  position: relative;
  border-color: #2bff00 !important;
  background:
    linear-gradient(135deg, rgba(43, 255, 0, 0.12), rgba(144, 92, 174, 0.08)),
    var(--surface);
  box-shadow:
    inset 5px 0 0 #2bff00,
    0 0 0 3px rgba(43, 255, 0, 0.12),
    0 18px 38px rgba(43, 255, 0, 0.14) !important;
  scroll-margin: 120px;
  animation: selectedDevJobPulse 900ms ease-out 1;
}

.dev-opportunity-card.is-selected::after {
  position: static;
  order: -1;
  justify-self: end;
  margin-bottom: 2px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #2bff00;
  color: #10200d;
  content: "Job selecionado";
  font-size: 0.66rem;
  font-weight: 950;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* Conclusão concentrada no conteúdo principal, sem avisos duplicados na lateral. */
body:not(.route-admin-mestre) .dev-panel-card.production-completed-card {
  position: relative;
  overflow: hidden;
  border: 2px solid rgba(43, 255, 0, 0.62);
  background:
    radial-gradient(circle at 92% 12%, rgba(43, 255, 0, 0.18), transparent 34%),
    linear-gradient(135deg, color-mix(in srgb, var(--surface) 94%, #2bff00), var(--surface));
  box-shadow:
    0 0 0 5px rgba(43, 255, 0, 0.08),
    0 24px 52px rgba(24, 128, 15, 0.14);
}

body:not(.route-admin-mestre) .dev-panel-card.production-completed-card::before {
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #2bff00, #905cae);
  content: "";
}

body:not(.route-admin-mestre) .production-completed-card .dev-panel-head {
  padding: 5px 4px 2px;
}

body:not(.route-admin-mestre) .production-completed-card .dev-panel-head h3 {
  color: var(--ink);
  font-size: clamp(1.45rem, 2vw, 1.9rem);
}

body:not(.route-admin-mestre) .production-completed-card .completed-lock-card {
  border-color: rgba(43, 255, 0, 0.5);
  background: color-mix(in srgb, var(--surface) 82%, #2bff00);
  box-shadow: none;
}

@keyframes selectedDevJobPulse {
  0% {
    transform: scale(0.985);
    filter: brightness(1.18);
  }

  100% {
    transform: scale(1);
    filter: brightness(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .dev-mini-card.is-selected,
  .dev-opportunity-card.is-selected {
    animation: none;
  }
}

/* Central de suporte humano do Admin Mestre. */
.icon-chat::before {
  width: 20px;
  height: 18px;
  mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='11' rx='5.5'/%3E%3Cpath d='M8 12.5c1.1-2 2.7-2 4 0 1.3 2 2.9 2 4 0'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='7' width='18' height='11' rx='5.5'/%3E%3Cpath d='M8 12.5c1.1-2 2.7-2 4 0 1.3 2 2.9 2 4 0'/%3E%3C/g%3E%3C/svg%3E");
}

.support-admin-module {
  display: grid;
  gap: 18px;
  padding: 24px;
}

.support-admin-hero {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
}

.support-admin-hero h2 {
  margin: 4px 0 8px;
  color: #f5f7fb;
  font-size: clamp(1.45rem, 2.3vw, 2rem);
}

.support-admin-hero p {
  max-width: 720px;
  margin: 0;
  color: #9da8b2;
}

.support-live-indicator {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 9px;
  padding: 9px 12px;
  border: 1px solid rgba(43, 255, 0, .2);
  border-radius: 999px;
  background: rgba(43, 255, 0, .07);
  color: #c8fbc0;
  font-size: .76rem;
  font-weight: 850;
}

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

.support-admin-stats article {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid #2b3036;
  border-radius: 12px;
  background: #171a1d;
}

.support-admin-stats small { color: #8e99a4; }
.support-admin-stats strong { color: #fff; font-size: 1.5rem; }

.support-live-layout {
  display: grid;
  grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
  min-height: 590px;
  overflow: hidden;
  border: 1px solid #2b3036;
  border-radius: 16px;
  background: #131619;
}

.support-conversation-sidebar {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  min-width: 0;
  border-right: 1px solid #2b3036;
  background: #101316;
}

.support-conversation-sidebar > header,
.support-conversation-panel > header {
  display: flex;
  min-height: 76px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 17px;
  border-bottom: 1px solid #2b3036;
}

.support-conversation-sidebar header small,
.support-conversation-sidebar header strong,
.support-conversation-panel header small,
.support-conversation-panel header strong,
.support-conversation-panel header span {
  display: block;
}

.support-conversation-sidebar header small,
.support-conversation-panel header small,
.support-conversation-panel header span {
  color: #8e99a4;
  font-size: .76rem;
}

.support-evidence-hash {
  display: block;
  max-width: min(62vw, 680px);
  margin-top: 5px;
  overflow-wrap: anywhere;
  color: #8fcf82;
  font: 600 .63rem/1.35 ui-monospace, SFMono-Regular, Consolas, monospace;
}

.support-conversation-sidebar header > span {
  display: grid;
  min-width: 30px;
  height: 30px;
  place-items: center;
  border-radius: 999px;
  background: rgba(144, 92, 174, .18);
  color: #cf99ef;
  font-size: .75rem;
  font-weight: 900;
}

.support-conversation-list {
  display: grid;
  align-content: start;
  gap: 7px;
  overflow-y: auto;
  padding: 10px;
}

.support-conversation-item {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  width: 100%;
  min-height: 68px;
  padding: 9px;
  border: 1px solid transparent;
  border-radius: 11px;
  background: transparent;
  color: #e8edf1;
  text-align: left;
  box-shadow: none;
}

.support-conversation-item:hover,
.support-conversation-item.is-active {
  border-color: rgba(43, 255, 0, .24);
  background: rgba(43, 255, 0, .07);
  transform: none;
}

.support-conversation-item > span:first-child {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(145deg, #2bff00, #5e9d83 58%, #905cae);
  color: #0a160d;
  font-weight: 950;
}

.support-conversation-item strong,
.support-conversation-item small { display: block; }
.support-conversation-item strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.support-conversation-item small { margin-top: 3px; overflow: hidden; color: #8e99a4; font-size: .72rem; text-overflow: ellipsis; white-space: nowrap; }
.support-conversation-item time { align-self: start; color: #78838d; font-size: .66rem; }
.support-conversation-item.is-unread::after { content: ""; position: absolute; }

.support-conversation-panel {
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto auto;
  min-width: 0;
}

.support-status-action {
  min-height: 36px;
  padding: 0 12px;
  border: 1px solid #3b424a;
  border-radius: 8px;
  background: #1c2126;
  color: #dce3e8;
  box-shadow: none;
}

.support-admin-messages {
  display: grid;
  align-content: start;
  gap: 11px;
  overflow-y: auto;
  padding: 20px;
  background: radial-gradient(circle at 100% 0, rgba(144, 92, 174, .09), transparent 40%), #111417;
}

.support-admin-message {
  display: grid;
  max-width: min(78%, 680px);
  gap: 4px;
  justify-self: start;
}

.support-admin-message.is-admin { justify-self: end; }
.support-admin-message.is-system { justify-self: center; max-width: 90%; text-align: center; }

.support-admin-message > div {
  padding: 11px 13px;
  border-radius: 13px 13px 13px 3px;
  background: #252b31;
  color: #ecf1f4;
}

.support-admin-message.is-admin > div {
  border-radius: 13px 13px 3px 13px;
  background: linear-gradient(145deg, #60358c, #42235f);
}

.support-admin-message.is-system > div {
  padding: 6px 10px;
  border: 1px solid #343b42;
  border-radius: 999px;
  background: #181c20;
  color: #97a1aa;
  font-size: .74rem;
}

.support-admin-message strong,
.support-admin-message time { color: #8e99a4; font-size: .68rem; }
.support-admin-message p { margin: 3px 0 0; color: inherit; white-space: pre-wrap; }
.support-admin-message p:empty { display: none; }
.support-admin-message-image { display: block; width: min(360px, 100%); max-height: 360px; margin-top: 7px; border-radius: 10px; object-fit: contain; background: #0d1012; }

.support-admin-reply {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 14px;
  border-top: 1px solid #2b3036;
}

.support-admin-reply input {
  min-width: 0;
  min-height: 48px;
  border-color: #343b42;
  background: #0f1214;
  color: #fff;
}

.support-admin-reply button {
  min-width: 112px;
  background: #2bff00;
  color: #0b160d;
}

.support-admin-feedback {
  min-height: 0;
  padding: 0 14px 12px;
  color: #ffb74d;
  font-size: .76rem;
}

.support-empty-state,
.support-panel-placeholder {
  align-self: center;
  justify-self: center;
  padding: 30px;
  color: #8e99a4;
  text-align: center;
}

.support-panel-placeholder p { margin: 6px 0 0; }

@media (max-width: 900px) {
  .support-admin-module { padding: 16px; }
  .support-admin-hero { display: grid; }
  .support-live-indicator { justify-self: start; }
  .support-live-layout { grid-template-columns: 1fr; min-height: 720px; }
  .support-conversation-sidebar { max-height: 260px; border-right: 0; border-bottom: 1px solid #2b3036; }
  .support-conversation-panel { min-height: 460px; }
}

@media (max-width: 560px) {
  .support-admin-stats { grid-template-columns: 1fr; }
  .support-admin-message { max-width: 92%; }
  .support-admin-reply { grid-template-columns: 1fr; }
  .support-admin-reply button { width: 100%; }
  .platform-chat-panel { grid-template-rows: auto minmax(150px, 1fr) auto auto; }
}

@media (prefers-reduced-motion: reduce) {
  .platform-human-status i,
  .support-live-indicator i { animation: none; }
}

/* Megamenu Contratar com a mesma profundidade roxa da pagina de precos. */
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-menu {
  border-color: rgba(197, 148, 235, .58);
  background:
    radial-gradient(circle at 4% 8%, rgba(182, 121, 224, .42), transparent 30%),
    radial-gradient(circle at 96% 88%, rgba(105, 42, 191, .46), transparent 34%),
    linear-gradient(118deg, #603393 0%, #32144f 46%, #260d43 68%, #54209a 100%) !important;
  box-shadow: 0 30px 84px rgba(37, 11, 68, .4);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-menu-content {
  border-right-color: rgba(255, 255, 255, .14);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-kicker {
  color: #d59aff;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-menu-content h3,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-action strong,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-visual-points a,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-feature-copy strong {
  color: #fff;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-action small,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-feature-copy em {
  color: rgba(244, 235, 250, .72);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-action + .mega-action,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-visual-points li {
  border-color: rgba(255, 255, 255, .12);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-action-icon {
  background: rgba(218, 158, 255, .16);
  color: #d9a0ff;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-action:hover strong,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-visual-points a:hover,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-visual-points a:focus-visible {
  color: #b9ff9f;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-flat-cta {
  border-color: rgba(188, 255, 161, .4);
  background: linear-gradient(135deg, #2bff00 0%, #76d85e 52%, #b985d3 100%);
  color: #13200f !important;
  box-shadow: 0 16px 34px rgba(16, 7, 31, .28);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-flat-cta:hover {
  border-color: rgba(222, 255, 208, .7);
  background: linear-gradient(135deg, #56ff34 0%, #8ee778 52%, #c397db 100%);
  color: #13200f !important;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-feature-link {
  border-color: rgba(255, 255, 255, .16);
  background:
    radial-gradient(circle at 94% 8%, rgba(213, 154, 255, .18), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(19, 7, 34, .22));
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .09);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-feature-copy small {
  color: #d9a0ff;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-feature-link:hover,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-feature-link:focus-visible {
  border-color: rgba(213, 154, 255, .42);
  background:
    radial-gradient(circle at 94% 8%, rgba(213, 154, 255, .24), transparent 36%),
    linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(19, 7, 34, .28));
  box-shadow: 0 16px 34px rgba(17, 5, 31, .24), inset 0 1px 0 rgba(255, 255, 255, .12);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(1) .mega-feature-link img {
  filter: drop-shadow(0 18px 24px rgba(9, 2, 19, .34));
}

/* Megamenu Trabalhar com profundidade escura, verde e roxa. */
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-menu {
  border-color: rgba(124, 238, 103, .34);
  background:
    radial-gradient(circle at 96% 4%, rgba(43, 255, 0, .2), transparent 34%),
    radial-gradient(circle at 4% 96%, rgba(116, 49, 168, .48), transparent 38%),
    linear-gradient(132deg, #242326 0%, #141817 46%, #08120c 100%) !important;
  box-shadow: 0 30px 84px rgba(8, 20, 11, .4);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-menu-content {
  border-right-color: rgba(255, 255, 255, .13);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-kicker,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-feature-copy small {
  color: #7cff65;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-menu-content h3,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-action strong,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-visual-points a,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-feature-copy strong {
  color: #fff;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-action small,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-feature-copy em {
  color: rgba(235, 246, 237, .72);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-action + .mega-action,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-visual-points li {
  border-color: rgba(255, 255, 255, .12);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-action-icon {
  background: rgba(43, 255, 0, .14);
  color: #78ff60;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-action:hover strong,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-visual-points a:hover,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-visual-points a:focus-visible {
  color: #8cff76;
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-feature-link {
  border-color: rgba(255, 255, 255, .14);
  background:
    radial-gradient(circle at 94% 7%, rgba(43, 255, 0, .16), transparent 36%),
    linear-gradient(145deg, rgba(255, 255, 255, .08), rgba(7, 23, 12, .28)) !important;
  color: #fff;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-feature-link:hover,
body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-feature-link:focus-visible {
  border-color: rgba(112, 255, 86, .42);
  background:
    radial-gradient(circle at 94% 7%, rgba(43, 255, 0, .23), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, .12), rgba(7, 23, 12, .36)) !important;
  box-shadow: 0 16px 34px rgba(4, 19, 9, .3), inset 0 1px 0 rgba(255, 255, 255, .12);
}

body:not(.route-admin-mestre) .mega-nav .nav-item:nth-child(2) .mega-flat-cta {
  border-color: rgba(43, 220, 22, .48);
  background: linear-gradient(135deg, #2bff00, #79e45f);
  color: #10200d !important;
  box-shadow: 0 14px 30px rgba(43, 180, 20, .18);
}

/* Cabeçalho móvel desconectado: marca e ações com a mesma escala visual. */
@media (max-width: 940px) {
  body:not(.route-admin-mestre) .brand-mark {
    width: 108px;
    height: 40px;
  }

  body[data-authenticated="0"]:not(.route-admin-mestre) .brand-mark {
    width: 144px;
    height: 46px;
  }

  body[data-authenticated="0"]:not(.route-admin-mestre) .top-actions {
    gap: 8px;
  }

  body[data-authenticated="0"]:not(.route-admin-mestre) .top-actions .theme-light-toggle,
  body[data-authenticated="0"]:not(.route-admin-mestre) .top-actions .login-link,
  body[data-authenticated="0"]:not(.route-admin-mestre) .top-actions .menu-toggle {
    position: relative;
    left: 0;
    display: inline-grid;
    width: 46px;
    height: 46px;
    min-height: 46px;
    place-items: center;
    margin: 0;
    padding: 0;
  }

  body[data-authenticated="0"]:not(.route-admin-mestre) .top-actions .login-link svg {
    width: 25px;
    height: 25px;
  }
}

@media (max-width: 560px) {
  body[data-authenticated="0"]:not(.route-admin-mestre) .topbar-inner {
    grid-template-columns: minmax(0, 144px) auto;
    gap: 8px;
  }

  body[data-authenticated="0"]:not(.route-admin-mestre) .brand-mark {
    width: 144px;
    height: 46px;
  }

  body[data-authenticated="0"]:not(.route-admin-mestre) .top-actions {
    gap: 4px;
  }
}

/* Ajuste final do cabeçalho autenticado: nenhum item usa posição sobreposta. */
body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions .top-plan-badge {
  position: static;
  top: auto;
  left: auto;
  width: 82px;
  height: 64px;
  flex: 0 0 82px;
  margin: 0;
  transform: none;
}

body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions .top-plan-badge + .profile-menu {
  margin-left: 0;
}

/* No celular, menu principal e perfil compartilham a mesma largura útil. */
@media (max-width: 760px) {
  body:not(.route-admin-mestre) .profile-dropdown {
    position: fixed;
    top: calc(72px + env(safe-area-inset-top));
    right: 12px;
    left: 12px;
    width: auto;
    max-width: 480px;
    margin-inline: auto;
    box-sizing: border-box;
  }
}

@media (max-width: 560px) {
  body[data-authenticated="1"]:not(.route-admin-mestre) .topbar-inner {
    grid-template-columns: 108px minmax(0, 1fr);
  }

  body[data-authenticated="1"]:not(.route-admin-mestre) .brand-mark {
    width: 108px;
    height: 40px;
  }

  body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions {
    gap: 6px;
  }

  body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions .top-plan-badge {
    width: 62px;
    height: 52px;
    flex-basis: 62px;
  }

  body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions .profile-trigger {
    min-height: 42px;
    gap: 7px;
    padding: 0 10px 0 5px;
  }

  body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions .profile-avatar {
    width: 32px;
    height: 32px;
  }

  body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions .profile-trigger strong {
    max-width: 48px;
  }

  body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions .menu-toggle {
    width: 42px;
  }
}

@media (max-width: 390px) {
  body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions .top-plan-badge {
    width: 54px;
    height: 48px;
    flex-basis: 54px;
  }

  body[data-authenticated="1"]:not(.route-admin-mestre) .top-actions .profile-trigger strong {
    max-width: 48px;
  }
}

/* Paleta do menu agrupada por área: uma cor por seção. */
.master-menu .menu-icon.icon-grid,
.master-menu .menu-icon.icon-chat,
.master-menu .menu-icon.icon-folder {
  --menu-icon-color: #2bff74;
  --menu-icon-bg: rgba(43, 255, 116, .14);
  --menu-icon-border: rgba(43, 255, 116, .26);
  --menu-icon-glow: rgba(43, 255, 116, .19);
}

.master-menu .menu-icon.icon-users,
.master-menu .menu-icon.icon-building,
.master-menu .menu-icon.icon-code,
.master-menu .menu-icon.icon-shield {
  --menu-icon-color: #4d91ff;
  --menu-icon-bg: rgba(77, 145, 255, .15);
  --menu-icon-border: rgba(77, 145, 255, .27);
  --menu-icon-glow: rgba(77, 145, 255, .2);
}

.master-menu .menu-icon.icon-wallet,
.master-menu .menu-icon.icon-receipt,
.master-menu .menu-icon.icon-gavel,
.master-menu .menu-icon.icon-calendar,
.master-menu .menu-icon.icon-percent {
  --menu-icon-color: #ffb52e;
  --menu-icon-bg: rgba(255, 181, 46, .14);
  --menu-icon-border: rgba(255, 181, 46, .27);
  --menu-icon-glow: rgba(255, 181, 46, .2);
}

.master-menu .menu-icon.icon-gift,
.master-menu .menu-icon.icon-share,
.master-menu .menu-icon.icon-megaphone {
  --menu-icon-color: #b56cff;
  --menu-icon-bg: rgba(181, 108, 255, .15);
  --menu-icon-border: rgba(181, 108, 255, .28);
  --menu-icon-glow: rgba(181, 108, 255, .21);
}

.master-menu .menu-icon.icon-refresh,
.master-menu .menu-icon.icon-settings {
  --menu-icon-color: #28d9ff;
  --menu-icon-bg: rgba(40, 217, 255, .14);
  --menu-icon-border: rgba(40, 217, 255, .27);
  --menu-icon-glow: rgba(40, 217, 255, .2);
}

/* Etapas do fluxo: composicao leve e viva no celular. */
@media (max-width: 760px) {
  body.route-home .home-briefing-section .workflow-grid {
    gap: 34px;
  }

  body.route-home .home-briefing-section .workflow-card,
  body.route-home .home-briefing-section .workflow-card:nth-child(even) {
    display: flex;
    min-height: 0;
    align-items: center;
    flex-direction: column;
    padding: 10px 14px;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    text-align: center;
    transform: none;
  }

  body.route-home .home-briefing-section .workflow-card:hover {
    border: 0;
    background: transparent;
    box-shadow: none;
    transform: none;
  }

  body.route-home .home-briefing-section .workflow-card .workflow-icon {
    position: relative;
    width: 72px;
    height: 72px;
    margin: 0 auto 18px;
    animation: mobileWorkflowFloat 3.8s ease-in-out infinite;
  }

  body.route-home .home-briefing-section .workflow-card:nth-child(even) .workflow-icon {
    animation-delay: -.95s;
  }

  body.route-home .home-briefing-section .workflow-card:nth-child(3) .workflow-icon {
    animation-delay: -1.9s;
  }

  body.route-home .home-briefing-section .workflow-card:nth-child(4) .workflow-icon {
    animation-delay: -2.85s;
  }

  body.route-home .home-briefing-section .workflow-card .workflow-icon::after {
    content: "";
    position: absolute;
    inset: -7px;
    border: 2px solid currentColor;
    border-radius: 50%;
    opacity: 0;
    animation: mobileWorkflowPulse 3.8s ease-out infinite;
  }

  body.route-home .home-briefing-section .workflow-card h3 {
    margin: 0 0 12px;
    text-align: center;
    animation: mobileWorkflowText 4.6s ease-in-out infinite;
  }

  body.route-home .home-briefing-section .workflow-card p {
    max-width: 34rem;
    margin: 0 auto;
    text-align: center;
    text-wrap: balance;
    animation: mobileWorkflowText 4.6s ease-in-out infinite;
    animation-delay: -.25s;
  }
}

@keyframes mobileWorkflowFloat {
  0%, 100% { transform: translateY(0) rotate(-2deg); }
  50% { transform: translateY(-9px) rotate(2deg); }
}

@keyframes mobileWorkflowPulse {
  0%, 38% { opacity: 0; transform: scale(.78); }
  62% { opacity: .28; }
  88%, 100% { opacity: 0; transform: scale(1.18); }
}

@keyframes mobileWorkflowText {
  0%, 100% { opacity: .86; transform: translateY(2px); }
  50% { opacity: 1; transform: translateY(-2px); }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  body.route-home .home-briefing-section .workflow-card .workflow-icon,
  body.route-home .home-briefing-section .workflow-card .workflow-icon::after,
  body.route-home .home-briefing-section .workflow-card h3,
  body.route-home .home-briefing-section .workflow-card p {
    animation: none !important;
  }
}

/* Expansao acessivel para resumos longos dos Jobs. */
.dev-opportunity-card p[data-expandable-text].is-expanded {
  display: block;
  overflow: visible;
  -webkit-line-clamp: unset;
}

.text-expand-toggle {
  display: inline-flex;
  width: max-content !important;
  min-height: 34px !important;
  align-items: center;
  justify-content: center;
  gap: 4px;
  justify-self: start;
  padding: 5px 11px !important;
  border: 1px solid rgba(144, 92, 174, .28) !important;
  border-radius: 999px !important;
  background: rgba(144, 92, 174, .09) !important;
  color: var(--accent) !important;
  font-size: .78rem;
  font-weight: 900;
  line-height: 1;
  box-shadow: none !important;
}

.text-expand-toggle:hover,
.text-expand-toggle:focus-visible {
  border-color: rgba(144, 92, 174, .58) !important;
  background: rgba(144, 92, 174, .16) !important;
}

.text-expand-toggle span {
  font-size: 1rem;
  line-height: .8;
  transition: transform 180ms ease;
}

.text-expand-toggle[aria-expanded="true"] span {
  transform: rotate(45deg);
}

.text-expand-toggle[hidden] {
  display: none !important;
}

.demo-job-action-feedback {
  grid-column: 1 / -1;
  padding: 8px 10px;
  border-radius: 8px;
  background: rgba(144, 92, 174, .1);
  color: var(--muted);
  font-size: .76rem;
  font-weight: 750;
  line-height: 1.35;
  text-align: center;
}

.demo-job-action-feedback[hidden] {
  display: none !important;
}

/* Perfil público: preserva a inclinação dos indicadores acima da camada global de hover. */
@media (hover: hover) and (pointer: fine) {
  .dev-profile-stats article:hover {
    border-color: var(--line);
    transform: translateY(-4px) rotate(var(--metric-card-tilt));
  }

  .dev-profile-stats article:has(.dev-stat-help[aria-expanded="true"]):hover {
    transform: translateY(-2px);
  }
}

/* Cascata de producao do carrossel de Jobs aceitos em papel. */
body.route-admin-dev .dev-accepted-jobs .dev-mini-card,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card.active {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 198px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  overflow: visible;
  padding: 58px 34px 42px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #27231d;
  box-shadow: none;
  transform-origin: 50% 9%;
  animation: acceptedNoteSway 5.6s ease-in-out var(--accepted-note-delay) infinite;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card strong,
body.route-admin-dev .dev-accepted-jobs .dev-mini-card span,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card span {
  position: relative;
  z-index: 1;
  color: #27231d;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card span,
body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card span {
  color: #61594e;
}

body.route-admin-dev .dev-accepted-jobs .dev-mini-card.active strong {
  color: #176c16;
}

@media (hover: hover) {
  body.route-admin-dev .dev-accepted-jobs .dev-mini-card:hover,
  body.route-admin-dev:not(.route-admin-mestre) .dev-accepted-jobs .dev-mini-card:hover {
    border: 0;
    background: transparent;
    box-shadow: none;
    animation-play-state: paused;
    transform: translateY(-6px) rotate(calc(var(--accepted-note-angle) * -1.6)) scale(1.025);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-admin-dev .dev-accepted-jobs .dev-mini-card,
  body.route-admin-dev .dev-accepted-jobs .dev-mini-card::after {
    animation: none !important;
  }

  body.route-admin-dev .dev-accepted-jobs .dev-mini-card {
    transform: rotate(var(--accepted-note-angle));
  }
}

/* Resumo do Job ativo: quatro informacoes em bilhetes presos. */
body.route-admin-dev .dev-detail-strip {
  gap: clamp(18px, 2vw, 28px);
  align-items: stretch;
  padding: 12px 5px 18px;
}

body.route-admin-dev .dev-detail-strip article,
body.route-admin-dev .dev-detail-strip article.payment-rejected-card,
body.route-admin-dev .dev-detail-strip article.payment-waiting-card,
body.route-admin-dev.theme-dark .dev-detail-strip article,
body.route-admin-dev.theme-dark .dev-detail-strip article.payment-rejected-card,
body.route-admin-dev.theme-dark .dev-detail-strip article.payment-waiting-card {
  --detail-note-angle: -1deg;
  --detail-note-delay: 0s;
  --detail-note-paper: url('../img/workflow-paper-01.png');
  --detail-note-pin: url('../img/workflow-pin-01.png');
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 168px;
  align-items: flex-start;
  flex-direction: column;
  justify-content: center;
  overflow: visible;
  padding: 52px 25px 34px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #27231d;
  box-shadow: none;
  transform-origin: 50% 8%;
  animation: detailNoteSway 5.4s ease-in-out var(--detail-note-delay) infinite;
}

body.route-admin-dev .dev-detail-strip article:nth-child(2) {
  --detail-note-angle: .85deg;
  --detail-note-delay: -1.15s;
  --detail-note-paper: url('../img/workflow-paper-02.png');
  --detail-note-pin: url('../img/workflow-pin-02.png');
}

body.route-admin-dev .dev-detail-strip article:nth-child(3) {
  --detail-note-angle: -.7deg;
  --detail-note-delay: -2.3s;
  --detail-note-paper: url('../img/workflow-paper-03.png');
  --detail-note-pin: url('../img/workflow-pin-03.png');
}

body.route-admin-dev .dev-detail-strip article:nth-child(4) {
  --detail-note-angle: 1deg;
  --detail-note-delay: -3.45s;
  --detail-note-paper: url('../img/workflow-paper-04.png');
  --detail-note-pin: url('../img/workflow-pin-04.png');
}

body.route-admin-dev .dev-detail-strip article::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: -10px -8px;
  background: var(--detail-note-paper) center / 100% 100% no-repeat;
  filter:
    drop-shadow(0 9px 7px rgba(10, 8, 5, .26))
    drop-shadow(0 20px 16px rgba(10, 8, 5, .2));
  pointer-events: none;
}

body.route-admin-dev .dev-detail-strip article::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -14px;
  left: 50%;
  width: 50px;
  height: 50px;
  background: var(--detail-note-pin) center / contain no-repeat;
  pointer-events: none;
  transform: translateX(-50%);
  transform-origin: 50% 72%;
  animation: detailPinPress 3.15s ease-in-out var(--detail-note-delay) infinite;
}

body.route-admin-dev .dev-detail-strip article small,
body.route-admin-dev .dev-detail-strip article strong,
body.route-admin-dev .dev-detail-strip article span,
body.route-admin-dev.theme-dark .dev-detail-strip article small,
body.route-admin-dev.theme-dark .dev-detail-strip article strong,
body.route-admin-dev.theme-dark .dev-detail-strip article span {
  position: relative;
  z-index: 1;
  color: #27231d;
}

body.route-admin-dev .dev-detail-strip article small,
body.route-admin-dev.theme-dark .dev-detail-strip article small {
  color: #61594e;
}

body.route-admin-dev .dev-detail-strip article span,
body.route-admin-dev.theme-dark .dev-detail-strip article span {
  color: #61594e;
}

body.route-admin-dev .dev-detail-strip article.payment-waiting-card strong,
body.route-admin-dev.theme-dark .dev-detail-strip article.payment-waiting-card strong {
  color: #71388e;
}

body.route-admin-dev .dev-detail-strip article.payment-rejected-card strong,
body.route-admin-dev.theme-dark .dev-detail-strip article.payment-rejected-card strong {
  color: #b42318;
}

@media (hover: hover) {
  body.route-admin-dev .dev-detail-strip article:hover {
    animation-play-state: paused;
    transform: translateY(-7px) rotate(calc(var(--detail-note-angle) * -1.6)) scale(1.025);
  }

  body.route-admin-dev .dev-detail-strip article:hover::after {
    animation-play-state: paused;
    transform: translateX(-50%) translateY(-2px) rotate(6deg) scale(1.06);
  }
}

@keyframes detailNoteSway {
  0%, 100% { transform: translateY(0) rotate(var(--detail-note-angle)); }
  50% { transform: translateY(-4px) rotate(calc(var(--detail-note-angle) * -.6)); }
}

@keyframes detailPinPress {
  0%, 100% { transform: translateX(-50%) translateY(0) rotate(-2deg); }
  50% { transform: translateX(-50%) translateY(2px) rotate(2deg) scale(.96); }
}

@media (max-width: 760px) {
  body.route-admin-dev .dev-detail-strip {
    gap: 34px;
    padding-right: 4px;
    padding-left: 4px;
  }

  body.route-admin-dev .dev-detail-strip article,
  body.route-admin-dev .dev-detail-strip article.payment-rejected-card,
  body.route-admin-dev .dev-detail-strip article.payment-waiting-card {
    min-height: 184px;
    padding: 56px 38px 38px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-admin-dev .dev-detail-strip article,
  body.route-admin-dev .dev-detail-strip article::after {
    animation: none !important;
  }

  body.route-admin-dev .dev-detail-strip article {
    transform: rotate(var(--detail-note-angle));
  }
}

/* Metricas do workspace como recortes brutos de papel. */
body.route-admin-dev .dev-command-stats {
  gap: clamp(14px, 1.7vw, 24px);
  align-items: stretch;
  padding: 8px 5px 14px;
}

body.route-admin-dev .dev-command-stats article,
body.route-admin-dev.theme-dark .dev-command-stats article {
  --metric-paper-angle: -1deg;
  --metric-paper-cut: polygon(2% 5%, 95% 0, 100% 16%, 97% 92%, 88% 100%, 4% 96%, 0 78%);
  position: relative;
  min-height: 138px;
  justify-content: center;
  overflow: hidden;
  padding: 24px 22px;
  border: 0;
  border-radius: 0;
  background: #fffaf0 !important;
  color: #171717;
  box-shadow: none;
  filter: drop-shadow(0 11px 9px rgba(20, 16, 12, .2));
  clip-path: var(--metric-paper-cut);
  transform: rotate(var(--metric-paper-angle));
  transform-origin: 50% 50%;
}

body.route-admin-dev .dev-command-stats article:nth-child(2) {
  --metric-paper-angle: .8deg;
  --metric-paper-cut: polygon(0 8%, 9% 2%, 94% 5%, 100% 24%, 96% 100%, 13% 96%, 3% 87%);
  background: #eee9fb !important;
}

body.route-admin-dev .dev-command-stats article:nth-child(3) {
  --metric-paper-angle: -.55deg;
  --metric-paper-cut: polygon(5% 0, 96% 4%, 100% 78%, 92% 97%, 8% 100%, 0 88%, 2% 15%);
  background: #edf8e8 !important;
}

body.route-admin-dev .dev-command-stats article:nth-child(4) {
  --metric-paper-angle: 1deg;
  --metric-paper-cut: polygon(3% 3%, 88% 0, 100% 12%, 97% 88%, 90% 100%, 6% 95%, 0 72%);
  background: #e9ddf7 !important;
}

body.route-admin-dev .dev-command-stats article:nth-child(5) {
  --metric-paper-angle: -.75deg;
  --metric-paper-cut: polygon(0 11%, 12% 2%, 97% 5%, 100% 86%, 91% 97%, 6% 100%, 2% 78%);
  background: #fff4df !important;
}

body.route-admin-dev .dev-command-stats article small,
body.route-admin-dev .dev-command-stats article strong,
body.route-admin-dev .dev-command-stats article span,
body.route-admin-dev.theme-dark .dev-command-stats article small,
body.route-admin-dev.theme-dark .dev-command-stats article strong,
body.route-admin-dev.theme-dark .dev-command-stats article span {
  position: relative;
  z-index: 1;
  color: #171717;
}

body.route-admin-dev .dev-command-stats article small,
body.route-admin-dev.theme-dark .dev-command-stats article small {
  color: #5f5867;
}

body.route-admin-dev .dev-command-stats article span,
body.route-admin-dev.theme-dark .dev-command-stats article span {
  color: #59534b;
}

body.route-admin-dev .dev-command-stats .rank-stat-card strong,
body.route-admin-dev.theme-dark .dev-command-stats .rank-stat-card strong {
  color: #71388e;
}

body.route-admin-dev .dev-command-stats .rank-stat-card::after {
  content: "♥";
  position: absolute;
  right: 18px;
  bottom: 12px;
  color: #171717;
  font-size: 1.25rem;
  line-height: 1;
  opacity: .9;
  transform: rotate(-8deg);
}

body.route-admin-dev.theme-dark .dev-command-stats article {
  background: #171c19 !important;
  filter:
    drop-shadow(0 10px 8px rgba(0, 0, 0, .42))
    drop-shadow(0 19px 16px rgba(0, 0, 0, .28));
}

body.route-admin-dev.theme-dark .dev-command-stats article:nth-child(2) {
  background: #241d2e !important;
}

body.route-admin-dev.theme-dark .dev-command-stats article:nth-child(3) {
  background: #17271c !important;
}

body.route-admin-dev.theme-dark .dev-command-stats article:nth-child(4),
body.route-admin-dev.theme-dark .dev-command-stats .rank-stat-card {
  background: #2d1d39 !important;
}

body.route-admin-dev.theme-dark .dev-command-stats article:nth-child(5) {
  background: #2b2418 !important;
}

body.route-admin-dev.theme-dark .dev-command-stats article small,
body.route-admin-dev.theme-dark .dev-command-stats article strong,
body.route-admin-dev.theme-dark .dev-command-stats article span {
  color: #f5f7f5;
}

body.route-admin-dev.theme-dark .dev-command-stats article small {
  color: #bdb5c4;
}

body.route-admin-dev.theme-dark .dev-command-stats article span {
  color: #c3cbc5;
}

body.route-admin-dev.theme-dark .dev-command-stats .rank-stat-card strong {
  color: #c989ed;
}

body.route-admin-dev.theme-dark .dev-command-stats .rank-stat-card::after {
  color: #f7f1fa;
}

body.route-admin-dev .dev-command-stats .rank-stat-card.is-rank-counting::after {
  animation: rankHeartCelebrate 1.25s cubic-bezier(.2, .8, .2, 1) both;
}

body.route-admin-dev .dev-command-stats .rank-stat-card.is-rank-ready::after {
  animation: rankHeartBeat 2.7s ease-in-out infinite;
}

body.route-admin-dev .dev-command-stats .rank-stat-card.is-rank-counting strong {
  animation: rankNumberArrive 1.2s cubic-bezier(.2, .8, .2, 1) both;
}

@keyframes rankNumberArrive {
  0% { opacity: .18; transform: translateY(8px) scale(.86); }
  68% { opacity: 1; transform: translateY(-2px) scale(1.08); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}

@keyframes rankHeartCelebrate {
  0% { opacity: .2; transform: rotate(-8deg) scale(.45); }
  38% { opacity: 1; transform: rotate(4deg) scale(1.45); }
  58% { transform: rotate(-5deg) scale(.9); }
  78% { transform: rotate(2deg) scale(1.18); }
  100% { opacity: .9; transform: rotate(-8deg) scale(1); }
}

@keyframes rankHeartBeat {
  0%, 38%, 100% { transform: rotate(-8deg) scale(1); }
  45% { transform: rotate(-6deg) scale(1.22); }
  52% { transform: rotate(-8deg) scale(1); }
  59% { transform: rotate(-6deg) scale(1.14); }
  68% { transform: rotate(-8deg) scale(1); }
}

@media (hover: hover) {
  body.route-admin-dev .dev-command-stats article:hover {
    border: 0;
    box-shadow: none;
    filter: drop-shadow(0 17px 13px rgba(20, 16, 12, .27));
    transform: translateY(-7px) rotate(calc(var(--metric-paper-angle) * -1.7)) scale(1.025);
  }

  body.route-admin-dev.theme-dark .dev-command-stats article:hover {
    filter:
      drop-shadow(0 13px 10px rgba(0, 0, 0, .48))
      drop-shadow(0 24px 19px rgba(0, 0, 0, .34));
  }
}

@media (max-width: 760px) {
  body.route-admin-dev .dev-command-stats {
    gap: 16px;
  }

  body.route-admin-dev .dev-command-stats article,
  body.route-admin-dev .dev-command-stats .rank-stat-card {
    min-height: 126px;
    padding: 22px 20px;
    border: 0 !important;
  }

  body.route-admin-dev .dev-command-stats .rank-stat-card {
    min-height: 140px;
    background: #e9ddf7 !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-admin-dev .dev-command-stats article {
    transition: none !important;
    transform: rotate(var(--metric-paper-angle)) !important;
  }

  body.route-admin-dev .dev-command-stats .rank-stat-card::after,
  body.route-admin-dev .dev-command-stats .rank-stat-card strong {
    animation: none !important;
  }
}

/* Notificacoes globais como bilhetes presos pelo novo layout. */
.flash-message,
body.theme-dark .flash-message {
  isolation: isolate;
  display: flex;
  min-height: 118px;
  align-items: center;
  justify-content: flex-start;
  overflow: visible;
  padding: 38px 42px 30px;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #27231d;
  box-shadow: none;
  animation: flashPinnedNoteIn .52s cubic-bezier(.2, .9, .25, 1.2) both;
}

.flash-message::before {
  content: "";
  position: absolute;
  z-index: -2;
  inset: -12px -14px;
  background: url('../img/workflow-paper-01.png') center / 100% 100% no-repeat;
  filter:
    drop-shadow(0 10px 8px rgba(0, 0, 0, .26))
    drop-shadow(0 23px 18px rgba(0, 0, 0, .2));
  pointer-events: none;
}

.flash-message::after {
  content: "";
  position: absolute;
  z-index: 3;
  top: -19px;
  left: 54px;
  width: 50px;
  height: 50px;
  background: url('../img/workflow-pin-01.png') center / contain no-repeat;
  pointer-events: none;
  transform-origin: 50% 72%;
  animation: flashPinAttach .72s cubic-bezier(.2, .9, .25, 1.25) .08s both;
}

.flash-message.success {
  border: 0;
  color: #176c16;
}

.flash-message.error {
  border: 0;
  color: #9f251d;
}

.flash-message.hide {
  opacity: 0;
  transform: translateY(14px) rotate(1deg) scale(.97);
  animation: none;
}

@keyframes flashPinnedNoteIn {
  from { opacity: 0; transform: translateY(22px) rotate(2deg) scale(.92); }
  to { opacity: 1; transform: translateY(0) rotate(-.7deg) scale(1); }
}

@keyframes flashPinAttach {
  0% { opacity: 0; transform: translateY(-18px) rotate(-14deg) scale(1.18); }
  62% { opacity: 1; transform: translateY(3px) rotate(3deg) scale(.94); }
  100% { opacity: 1; transform: translateY(0) rotate(-2deg) scale(1); }
}

@media (max-width: 760px) {
  .flash-message,
  body.theme-dark .flash-message {
    right: 18px;
    bottom: calc(108px + env(safe-area-inset-bottom));
    left: 18px;
    width: auto;
    min-height: 104px;
    padding: 36px 32px 26px;
    font-size: .92rem;
  }

  .flash-message::after {
    top: -17px;
    left: 42px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .flash-message,
  .flash-message::after {
    animation: none !important;
  }
}

/* Metricas da home como tres recortes independentes de papel. */
body.route-home .home-story-interlude .metrics-band,
body.route-home.theme-dark .home-story-interlude .metrics-band {
  gap: clamp(22px, 3vw, 42px);
  align-items: stretch;
  margin-top: 38px;
  margin-bottom: 42px;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  color: #171717;
}

body.route-home .home-story-interlude .metrics-band:hover,
body.route-home.theme-dark .home-story-interlude .metrics-band:hover {
  box-shadow: none;
  transform: none;
}

body.route-home .home-story-interlude .metrics-band article,
body.route-home.theme-dark .home-story-interlude .metrics-band article {
  --home-metric-angle: -1.2deg;
  --home-metric-cut: polygon(3% 6%, 92% 0, 100% 18%, 97% 91%, 87% 100%, 5% 95%, 0 76%);
  position: relative;
  min-height: 184px;
  justify-content: center;
  overflow: hidden;
  padding: 34px 32px;
  border: 0;
  border-radius: 0;
  background: #e8ddf7;
  color: #171717;
  box-shadow: none;
  filter: drop-shadow(0 13px 10px rgba(35, 25, 45, .2));
  clip-path: var(--home-metric-cut);
  transform: rotate(var(--home-metric-angle));
  transform-origin: 50% 50%;
}

body.route-home .home-story-interlude .metrics-band article:nth-child(2) {
  --home-metric-angle: .9deg;
  --home-metric-cut: polygon(0 9%, 10% 2%, 95% 5%, 100% 25%, 96% 100%, 12% 96%, 3% 85%);
  background: #fffaf0;
}

body.route-home .home-story-interlude .metrics-band article:nth-child(3) {
  --home-metric-angle: -.65deg;
  --home-metric-cut: polygon(5% 0, 96% 5%, 100% 79%, 91% 97%, 8% 100%, 0 87%, 2% 15%);
  background: #eaf6e5;
}

body.route-home .home-story-interlude .metrics-band strong,
body.route-home .home-story-interlude .metrics-band span,
body.route-home .home-story-interlude .metrics-band small,
body.route-home.theme-dark .home-story-interlude .metrics-band strong,
body.route-home.theme-dark .home-story-interlude .metrics-band span,
body.route-home.theme-dark .home-story-interlude .metrics-band small {
  position: relative;
  z-index: 1;
  color: #171717;
}

body.route-home .home-story-interlude .metrics-band span,
body.route-home .home-story-interlude .metrics-band small {
  color: #5d5662;
}

body.route-home .home-story-interlude .metrics-band article:last-child::after {
  content: "♥";
  position: absolute;
  right: 24px;
  bottom: 18px;
  color: #171717;
  font-size: 1.45rem;
  line-height: 1;
  transform: rotate(-9deg);
}

body.route-home.theme-dark .home-story-interlude .metrics-band article {
  background: #2d1d39;
  filter:
    drop-shadow(0 11px 9px rgba(0, 0, 0, .44))
    drop-shadow(0 21px 17px rgba(0, 0, 0, .26));
}

body.route-home.theme-dark .home-story-interlude .metrics-band article:nth-child(2) {
  background: #24211c;
}

body.route-home.theme-dark .home-story-interlude .metrics-band article:nth-child(3) {
  background: #17271c;
}

body.route-home.theme-dark .home-story-interlude .metrics-band strong,
body.route-home.theme-dark .home-story-interlude .metrics-band span,
body.route-home.theme-dark .home-story-interlude .metrics-band small {
  color: #f5f7f5;
}

body.route-home.theme-dark .home-story-interlude .metrics-band span,
body.route-home.theme-dark .home-story-interlude .metrics-band small {
  color: #c4cbc6;
}

body.route-home.theme-dark .home-story-interlude .metrics-band article:last-child::after {
  color: #f7f1fa;
}

@media (hover: hover) {
  body.route-home .home-story-interlude .metrics-band article:hover {
    background: #e8ddf7;
    filter: drop-shadow(0 19px 14px rgba(35, 25, 45, .28));
    transform: translateY(-8px) rotate(calc(var(--home-metric-angle) * -1.7)) scale(1.025);
  }

  body.route-home .home-story-interlude .metrics-band article:nth-child(2):hover {
    background: #fffaf0;
  }

  body.route-home .home-story-interlude .metrics-band article:nth-child(3):hover {
    background: #eaf6e5;
  }

  body.route-home.theme-dark .home-story-interlude .metrics-band article:hover {
    background: #2d1d39;
    filter:
      drop-shadow(0 14px 11px rgba(0, 0, 0, .5))
      drop-shadow(0 27px 20px rgba(0, 0, 0, .32));
  }

  body.route-home.theme-dark .home-story-interlude .metrics-band article:nth-child(2):hover {
    background: #24211c;
  }

  body.route-home.theme-dark .home-story-interlude .metrics-band article:nth-child(3):hover {
    background: #17271c;
  }
}

@media (max-width: 760px) {
  body.route-home .home-story-interlude .metrics-band {
    gap: 24px;
    margin-top: 26px;
    margin-bottom: 30px;
  }

  body.route-home .home-story-interlude .metrics-band article {
    min-height: 164px;
    padding: 30px 32px;
    border: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-home .home-story-interlude .metrics-band article {
    transition: none !important;
    transform: rotate(var(--home-metric-angle)) !important;
  }
}

/* Mobile: os recortes revelam o conteudo conforme entram na rolagem. */
@media (max-width: 760px) {
  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article {
    opacity: 0;
    filter: blur(3px) drop-shadow(0 13px 10px rgba(35, 25, 45, .2));
    transform: translate3d(0, 52px, 0) rotate(calc(var(--home-metric-angle) + 1.5deg)) scale(.965);
    transition:
      opacity .58s ease,
      transform .72s cubic-bezier(.2, .78, .22, 1),
      filter .65s ease;
    will-change: opacity, transform, filter;
  }

  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article > * {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .44s ease .18s, transform .58s cubic-bezier(.2, .78, .22, 1) .18s;
  }

  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article > span {
    transition-delay: .25s;
  }

  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article > small {
    transition-delay: .32s;
  }

  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article::after {
    opacity: 0;
    transition: opacity .38s ease .42s, transform .52s cubic-bezier(.2, .78, .22, 1) .42s;
  }

  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article.is-scroll-revealed {
    opacity: 1;
    filter: drop-shadow(0 13px 10px rgba(35, 25, 45, .2));
    transform: rotate(var(--home-metric-angle));
    will-change: auto;
  }

  body.route-home.theme-dark .home-story-interlude .metrics-band.is-mobile-scroll-reveal article.is-scroll-revealed {
    filter:
      drop-shadow(0 11px 9px rgba(0, 0, 0, .44))
      drop-shadow(0 21px 17px rgba(0, 0, 0, .26));
  }

  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article.is-scroll-revealed > * {
    opacity: 1;
    transform: translateY(0);
  }

  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article.is-scroll-revealed::after {
    opacity: 1;
    transform: rotate(-9deg);
  }
}

@media (max-width: 760px) and (prefers-reduced-motion: reduce) {
  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article,
  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article > *,
  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article::after {
    opacity: 1;
    filter: none;
    transition: none !important;
    transform: none;
  }

  body.route-home .home-story-interlude .metrics-band.is-mobile-scroll-reveal article {
    transform: rotate(var(--home-metric-angle));
  }
}

/* Home: transicoes com borda organica de papel rasgado. */
body.route-home .home-story-interlude::before {
  display: none;
}

body.route-home .home-role-story-work-section::after,
body.route-home .home-role-story-contract-section::after {
  content: "";
  position: absolute;
  z-index: 8;
  right: 0;
  bottom: -1px;
  left: 0;
  height: 42px;
  background: var(--bg, #f7f9f3);
  clip-path: polygon(
    0 44%, 2% 37%, 4% 48%, 6% 31%, 8% 42%, 10% 28%,
    12% 39%, 14% 33%, 16% 50%, 18% 36%, 20% 45%, 22% 30%,
    24% 41%, 26% 26%, 28% 38%, 30% 31%, 32% 47%, 34% 35%,
    36% 43%, 38% 29%, 40% 40%, 42% 34%, 44% 48%, 46% 31%,
    48% 42%, 50% 27%, 52% 39%, 54% 32%, 56% 46%, 58% 35%,
    60% 43%, 62% 28%, 64% 41%, 66% 33%, 68% 49%, 70% 36%,
    72% 44%, 74% 30%, 76% 40%, 78% 34%, 80% 47%, 82% 31%,
    84% 42%, 86% 27%, 88% 39%, 90% 34%, 92% 48%, 94% 33%,
    96% 43%, 98% 30%, 100% 40%, 100% 100%, 0 100%
  );
  filter: drop-shadow(0 -4px 3px rgba(17, 18, 16, .16));
  pointer-events: none;
}

body.route-home .home-role-story-contract-section::before {
  content: "";
  position: absolute;
  z-index: 8;
  top: -1px;
  right: 0;
  left: 0;
  display: block;
  height: 42px;
  background: var(--bg, #f7f9f3);
  clip-path: polygon(
    0 0, 100% 0, 100% 58%, 98% 68%, 96% 55%, 94% 71%,
    92% 60%, 90% 75%, 88% 62%, 86% 70%, 84% 54%, 82% 67%,
    80% 58%, 78% 73%, 76% 61%, 74% 76%, 72% 63%, 70% 69%,
    68% 55%, 66% 72%, 64% 60%, 62% 76%, 60% 64%, 58% 70%,
    56% 57%, 54% 74%, 52% 61%, 50% 77%, 48% 64%, 46% 71%,
    44% 56%, 42% 73%, 40% 60%, 38% 75%, 36% 63%, 34% 69%,
    32% 54%, 30% 72%, 28% 59%, 26% 76%, 24% 62%, 22% 70%,
    20% 55%, 18% 73%, 16% 60%, 14% 75%, 12% 63%, 10% 69%,
    8% 54%, 6% 72%, 4% 58%, 2% 74%, 0 62%
  );
  filter: drop-shadow(0 4px 3px rgba(17, 18, 16, .16));
  pointer-events: none;
}

body.route-home.theme-dark .home-role-story-work-section::after,
body.route-home.theme-dark .home-role-story-contract-section::before,
body.route-home.theme-dark .home-role-story-contract-section::after {
  filter: drop-shadow(0 4px 4px rgba(0, 0, 0, .36));
}

@media (max-width: 760px) {
  body.route-home .home-role-story-work-section::after,
  body.route-home .home-role-story-contract-section::before,
  body.route-home .home-role-story-contract-section::after {
    height: 28px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-home .home-role-story-work-section::after,
  body.route-home .home-role-story-contract-section::before,
  body.route-home .home-role-story-contract-section::after {
    transition: none !important;
  }
}

/* Refinamento: transicao editorial com curva ampla e abas organicas integradas. */
body.route-home .home-role-story-work-section::after,
body.route-home .home-role-story-contract-section::after {
  height: 72px;
  clip-path: none;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  filter: drop-shadow(0 -7px 9px rgba(17, 18, 16, .12));
}

body.route-home .home-role-story-work-section::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 28 C210 35 420 36 635 31 C905 25 1165 16 1440 19 L1440 72 L0 72 Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 28 C210 35 420 36 635 31 C905 25 1165 16 1440 19 L1440 72 L0 72 Z'/%3E%3C/svg%3E");
}

body.route-home .home-role-story-contract-section::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 18 C245 15 495 24 760 30 C1010 36 1240 34 1440 27 L1440 72 L0 72 Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 18 C245 15 495 24 760 30 C1010 36 1240 34 1440 27 L1440 72 L0 72 Z'/%3E%3C/svg%3E");
}

body.route-home .home-role-story-contract-section::before {
  height: 72px;
  clip-path: none;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 0 H1440 V27 C1190 20 955 22 720 29 C465 37 225 40 0 33 Z'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 72' preserveAspectRatio='none'%3E%3Cpath fill='black' d='M0 0 H1440 V27 C1190 20 955 22 720 29 C465 37 225 40 0 33 Z'/%3E%3C/svg%3E");
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
  mask-size: 100% 100%;
  filter: drop-shadow(0 7px 9px rgba(17, 18, 16, .12));
}

body.route-home.theme-dark .home-role-story-work-section::after,
body.route-home.theme-dark .home-role-story-contract-section::after {
  filter: drop-shadow(0 -7px 10px rgba(0, 0, 0, .3));
}

body.route-home.theme-dark .home-role-story-contract-section::before {
  filter: drop-shadow(0 7px 10px rgba(0, 0, 0, .3));
}

@media (max-width: 760px) {
  body.route-home .home-role-story-work-section::after,
  body.route-home .home-role-story-contract-section::before,
  body.route-home .home-role-story-contract-section::after {
    height: 46px;
  }

  body.route-home .home-role-story-work-section .home-role-scene-work,
  body.route-home .home-role-story-contract-section .home-role-scene-contract {
    width: 100%;
    height: calc(100dvh + 4px);
    min-height: calc(100dvh + 4px) !important;
    background-size: cover;
  }
}

/* Garantia final da composicao dos bilhetes na home. */
body.route-home .home-briefing-section .workflow-card .workflow-icon,
body.route-home .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon,
body.route-home.theme-dark .home-briefing-section .workflow-card .workflow-icon,
body.route-home.theme-dark .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon {
  width: 48px;
  height: 48px;
  margin: 0 0 18px;
  background: rgba(144, 92, 174, .14);
  color: #71388e;
  box-shadow: none;
}

body.route-home .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon,
body.route-home.theme-dark .home-briefing-section .workflow-card:nth-child(odd) .workflow-icon {
  background: rgba(36, 197, 20, .14);
  color: #187c16;
}

@media (max-width: 760px) {
  body.route-home .home-briefing-section .workflow-card,
  body.route-home .home-briefing-section .workflow-card:nth-child(even) {
    min-height: 260px;
    align-items: flex-start;
    padding: 54px 38px 34px;
    text-align: left;
    transform-origin: 50% 8%;
    animation: workflowPaperSway 5.8s ease-in-out var(--workflow-note-delay) infinite;
  }

  body.route-home .home-briefing-section .workflow-card:hover,
  body.route-home .home-briefing-section .workflow-card:nth-child(even):hover {
    background: transparent;
    transform: translateY(-6px) rotate(calc(var(--workflow-note-angle) * -1.4)) scale(1.018);
  }

  body.route-home .home-briefing-section .workflow-card .workflow-icon {
    width: 48px;
    height: 48px;
    margin: 0 0 16px;
    animation: none;
  }

  body.route-home .home-briefing-section .workflow-card .workflow-icon::after {
    display: none;
  }

  body.route-home .home-briefing-section .workflow-card h3,
  body.route-home .home-briefing-section .workflow-card p {
    max-width: none;
    margin-right: 0;
    margin-left: 0;
    text-align: left;
    animation: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.route-home .home-briefing-section .workflow-card,
  body.route-home .home-briefing-section .workflow-pin {
    animation: none !important;
  }

  body.route-home .home-briefing-section .workflow-card {
    transform: rotate(var(--workflow-note-angle));
  }
}
