

:root {

  --bg: #070008;

  --panel: rgba(39, 8, 31, .78);

  --panel-2: rgba(255,255,255,.045);

  --border: rgba(255,255,255,.14);

  --text: #ffffff;

  --muted: rgba(255,255,255,.68);

  --pink: #ff8bc5;

  --gold: #ffd38a;

  --ok: #87ffc2;

  --danger: #ff9ab0;

  --shadow: 0 24px 70px rgba(0,0,0,.35);

  --radius: 24px;

}



* {

  box-sizing: border-box;

}



html {

  min-height: 100%;

  background: var(--bg);

}



body {

  margin: 0;

  min-height: 100vh;

  color: var(--text);

  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;

  background:

    radial-gradient(circle at 18% 0%, rgba(255,139,197,.24), transparent 34rem),

    radial-gradient(circle at 90% 20%, rgba(255,211,138,.13), transparent 30rem),

    linear-gradient(180deg, #170015 0%, #070008 60%, #050005 100%);

}



a {

  color: inherit;

}



button,

input,

select {

  font: inherit;

}



button {

  cursor: pointer;

}



.j360-topbar {

  position: sticky;

  top: 0;

  z-index: 50;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 16px;

  padding: 14px 22px;

  background: rgba(8,8,18,.94);

  border-bottom: 1px solid var(--border);

  backdrop-filter: blur(14px);

}



.j360-brand {

  display: flex;

  flex-direction: column;

  gap: 2px;

  text-decoration: none;

  line-height: 1;

}



.j360-brand strong {

  font-size: 23px;

  letter-spacing: -.04em;

  color: var(--pink);

}



.j360-brand span {

  font-size: 12px;

  color: var(--muted);

}



.j360-nav {

  display: flex;

  align-items: center;

  justify-content: flex-end;

  flex-wrap: wrap;

  gap: 8px;

}



.j360-nav a,

.j360-nav button {

  min-height: 38px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 9px 14px;

  border-radius: 999px;

  border: 1px solid transparent;

  color: rgba(255,255,255,.84);

  background: transparent;

  text-decoration: none;

  font-weight: 900;

  font-size: 14px;

}



.j360-nav a:hover,

.j360-nav button:hover,

.j360-nav a.active {

  color: #fff;

  background: rgba(255,255,255,.07);

  border-color: var(--border);

}



.j360-nav a.primary {

  background: linear-gradient(135deg, var(--pink), var(--gold));

  color: #240014;

}



.j360-admin-link {

  display: none !important;

}



body.j360-is-admin .j360-admin-link {

  display: inline-flex !important;

}



body.j360-is-auth .j360-auth-link {

  display: none !important;

}



body:not(.j360-is-auth) .j360-logout-btn,

body:not(.j360-is-auth) .j360-area-link {

  display: none !important;

}



main {

  width: min(1180px, calc(100% - 32px));

  margin: 0 auto;

  padding: 56px 0;

}



.hero,

.panel {

  border: 1px solid var(--border);

  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));

  box-shadow: var(--shadow);

  border-radius: var(--radius);

}



.hero {

  padding: clamp(28px, 7vw, 72px);

}



.eyebrow {

  display: inline-flex;

  width: fit-content;

  align-items: center;

  gap: 8px;

  padding: 8px 12px;

  border-radius: 999px;

  border: 1px solid rgba(255,211,138,.36);

  background: rgba(255,211,138,.12);

  color: var(--gold);

  font-size: 12px;

  font-weight: 950;

  letter-spacing: .06em;

  text-transform: uppercase;

}



h1 {

  max-width: 960px;

  margin: 18px 0 18px;

  font-size: clamp(44px, 8vw, 96px);

  line-height: .88;

  letter-spacing: -.075em;

}



h2 {

  margin: 0 0 12px;

  font-size: clamp(30px, 4vw, 54px);

  line-height: 1;

  letter-spacing: -.045em;

}



h3 {

  margin: 0 0 10px;

}



p {

  color: var(--muted);

  line-height: 1.55;

}



.grid {

  display: grid;

  gap: 16px;

}



.grid-2 {

  grid-template-columns: repeat(2, minmax(0, 1fr));

}



.grid-3 {

  grid-template-columns: repeat(3, minmax(0, 1fr));

}



.grid-4 {

  grid-template-columns: repeat(4, minmax(0, 1fr));

}



.card,

.panel {

  padding: 24px;

}



.card {

  border: 1px solid var(--border);

  border-radius: 20px;

  background: rgba(255,255,255,.04);

}



.actions {

  display: flex;

  flex-wrap: wrap;

  gap: 12px;

  margin-top: 24px;

}



.btn {

  min-height: 48px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  padding: 13px 18px;

  border: 1px solid var(--border);

  border-radius: 14px;

  background: rgba(255,255,255,.05);

  color: var(--text);

  text-decoration: none;

  font-weight: 950;

}



.btn.primary {

  border-color: transparent;

  background: linear-gradient(135deg, var(--pink), var(--gold));

  color: #240014;

}



.btn.danger {

  border-color: rgba(255,154,176,.35);

  background: rgba(255,154,176,.12);

  color: #ffd7df;

}



.form {

  display: grid;

  gap: 14px;

}



label {

  display: grid;

  gap: 8px;

  font-weight: 900;

}



input,

select {

  width: 100%;

  min-height: 46px;

  padding: 12px 14px;

  border: 1px solid rgba(255,255,255,.16);

  border-radius: 12px;

  background: rgba(12,20,36,.88);

  color: #fff;

  outline: none;

}



input:focus,

select:focus {

  border-color: var(--pink);

}



.table {

  display: grid;

  gap: 0;

  overflow: hidden;

  border: 1px solid var(--border);

  border-radius: 18px;

}



.row {

  display: grid;

  grid-template-columns: 1fr auto;

  gap: 12px;

  padding: 14px 16px;

  border-bottom: 1px solid rgba(255,255,255,.09);

}



.row:last-child {

  border-bottom: 0;

}



.row strong:last-child {

  text-align: right;

}



.message {

  margin: 16px 0 0;

  padding: 14px 16px;

  border-radius: 14px;

  border: 1px solid var(--border);

  background: rgba(255,255,255,.045);

  color: #fff;

  font-weight: 800;

}



.message.ok {

  border-color: rgba(135,255,194,.36);

  background: rgba(135,255,194,.09);

}



.message.err {

  border-color: rgba(255,154,176,.36);

  background: rgba(255,154,176,.10);

}



.tabs {

  display: grid;

  grid-template-columns: repeat(5, minmax(0, 1fr));

  gap: 10px;

  padding: 10px;

  border: 1px solid var(--border);

  border-radius: 22px;

  background: rgba(0,0,0,.18);

  margin: 18px 0;

}



.tab-btn {

  min-height: 58px;

  border: 1px solid var(--border);

  border-radius: 16px;

  background: rgba(255,255,255,.035);

  color: #fff;

  text-align: left;

  padding: 10px 14px;

  font-weight: 950;

}



.tab-btn small {

  display: block;

  color: var(--muted);

  font-weight: 700;

}



.tab-btn.active {

  color: #240014;

  border-color: transparent;

  background: linear-gradient(135deg, var(--pink), var(--gold));

}



.hidden {

  display: none !important;

}



.footer {

  margin-top: 54px;

  padding: 34px max(20px, calc((100vw - 1180px) / 2));

  border-top: 1px solid var(--border);

  background: rgba(0,0,0,.32);

}



.footer-grid {

  display: grid;

  grid-template-columns: minmax(240px, 1.3fr) repeat(3, minmax(160px, 1fr));

  gap: 22px;

}



.footer a,

.footer span {

  display: block;

  padding: 6px 0;

  color: rgba(255,255,255,.76);

  text-decoration: none;

}



.chips {

  display: flex;

  flex-wrap: wrap;

  gap: 8px;

  margin-top: 12px;

}



.chip {

  display: inline-flex;

  padding: 7px 10px;

  border-radius: 999px;

  border: 1px solid var(--border);

  background: rgba(255,255,255,.045);

  color: rgba(255,255,255,.85);

  font-weight: 850;

  font-size: 13px;

}



.order-card {

  display: grid;

  grid-template-columns: 1fr auto;

  gap: 12px;

  padding: 18px;

  border: 1px solid var(--border);

  border-radius: 18px;

  background: rgba(255,255,255,.035);

}



.order-card strong {

  color: #fff;

}



.order-card small {

  color: var(--muted);

}



@media (max-width: 850px) {

  .j360-topbar {

    align-items: flex-start;

    flex-direction: column;

  }



  .j360-nav {

    justify-content: flex-start;

  }



  .grid-2,

  .grid-3,

  .grid-4,

  .footer-grid,

  .tabs {

    grid-template-columns: 1fr;

  }



  main {

    width: min(100% - 24px, 1180px);

    padding: 28px 0;

  }

}







/* SITE_COMERCIAL_ZERO_E1 */

.section {

  margin-top: 22px;

}



.section-head {

  max-width: 840px;

  margin-bottom: 18px;

}



.hero-split {

  display: grid;

  grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr);

  gap: 24px;

  align-items: center;

}



.hero-panel {

  border: 1px solid var(--border);

  border-radius: 22px;

  padding: 22px;

  background: rgba(0,0,0,.22);

}



.table.compact .row {

  padding: 10px 0;

}



.feature-card {

  min-height: 240px;

}



.feature-icon {

  display: inline-flex;

  width: 46px;

  height: 46px;

  align-items: center;

  justify-content: center;

  border-radius: 16px;

  background: rgba(255,255,255,.08);

  border: 1px solid var(--border);

  font-size: 24px;

  margin-bottom: 14px;

}



.check-list {

  display: grid;

  gap: 10px;

  margin: 18px 0;

  padding: 0;

  list-style: none;

}



.check-list li {

  position: relative;

  padding-left: 28px;

  color: rgba(255,255,255,.82);

  line-height: 1.45;

}



.check-list li::before {

  content: "✓";

  position: absolute;

  left: 0;

  top: 0;

  color: var(--ok);

  font-weight: 950;

}



.timeline {

  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 14px;

}



.timeline > div {

  border: 1px solid var(--border);

  border-radius: 20px;

  padding: 20px;

  background: rgba(255,255,255,.04);

}



.timeline strong {

  display: inline-flex;

  width: 38px;

  height: 38px;

  align-items: center;

  justify-content: center;

  margin-bottom: 14px;

  border-radius: 50%;

  background: linear-gradient(135deg, var(--pink), var(--gold));

  color: #240014;

}



.pricing-card {

  padding: 28px;

  border: 1px solid var(--border);

  border-radius: 26px;

  background: rgba(255,255,255,.045);

  box-shadow: var(--shadow);

}



.pricing-card.highlighted {

  border-color: rgba(255,211,138,.45);

  background: linear-gradient(180deg, rgba(255,211,138,.12), rgba(255,255,255,.04));

}



.price {

  margin: 18px 0;

  font-size: clamp(36px, 5vw, 58px);

  line-height: 1;

  letter-spacing: -.06em;

  font-weight: 950;

  color: var(--gold);

}



.price span {

  display: block;

  margin-top: 6px;

  font-size: 15px;

  letter-spacing: normal;

  color: var(--muted);

}



.compare-table {

  display: grid;

  border: 1px solid var(--border);

  border-radius: 22px;

  overflow: hidden;

}



.compare-table > div {

  display: grid;

  grid-template-columns: 1fr 1fr 1fr;

  gap: 0;

  border-bottom: 1px solid rgba(255,255,255,.09);

}



.compare-table > div:last-child {

  border-bottom: 0;

}



.compare-table span,

.compare-table strong {

  padding: 14px 16px;

  border-right: 1px solid rgba(255,255,255,.09);

}



.compare-table span {

  color: var(--muted);

}



.compare-table strong:last-child,

.compare-table span:last-child {

  border-right: 0;

}



.compare-head {

  background: rgba(255,255,255,.08);

}



.status-pill {

  display: inline-flex;

  width: fit-content;

  margin-top: 12px;

  padding: 8px 12px;

  border-radius: 999px;

  background: rgba(135,255,194,.09);

  border: 1px solid rgba(135,255,194,.24);

  color: #d8ffe9;

  font-weight: 900;

  font-size: 13px;

}



.status-pill.danger {

  background: rgba(255,154,176,.10);

  border-color: rgba(255,154,176,.30);

  color: #ffd9e1;

}



@media (max-width: 900px) {

  .hero-split,

  .timeline {

    grid-template-columns: 1fr;

  }



  .compare-table > div {

    grid-template-columns: 1fr;

  }



  .compare-table span,

  .compare-table strong {

    border-right: 0;

    border-bottom: 1px solid rgba(255,255,255,.07);

  }

}



/* SITE_COMERCIAL_ZERO_E1_MOBILE_TOPBAR_CSS_START */



.j360-menu-toggle {

  display: none;

  min-height: 42px;

  min-width: 46px;

  align-items: center;

  justify-content: center;

  gap: 4px;

  border: 1px solid var(--border);

  border-radius: 14px;

  background: rgba(255,255,255,.06);

  color: #fff;

  font-weight: 950;

}



.j360-menu-toggle span {

  display: block;

  width: 20px;

  height: 2px;

  border-radius: 999px;

  background: currentColor;

  transition: transform .18s ease, opacity .18s ease;

}



body.j360-mobile-menu-open .j360-menu-toggle span:nth-child(1) {

  transform: translateY(6px) rotate(45deg);

}



body.j360-mobile-menu-open .j360-menu-toggle span:nth-child(2) {

  opacity: 0;

}



body.j360-mobile-menu-open .j360-menu-toggle span:nth-child(3) {

  transform: translateY(-6px) rotate(-45deg);

}



@media (max-width: 820px) {

  .j360-topbar {

    display: flex;

    flex-direction: row !important;

    flex-wrap: wrap;

    align-items: center !important;

    justify-content: space-between;

    gap: 10px;

    padding: 12px 14px;

  }



  .j360-brand {

    max-width: calc(100% - 64px);

  }



  .j360-brand strong {

    font-size: 20px;

  }



  .j360-brand span {

    font-size: 11px;

  }



  .j360-menu-toggle {

    display: inline-flex;

    flex-direction: column;

    flex: 0 0 auto;

  }



  .j360-nav {

    width: 100%;

    display: none;

    grid-template-columns: 1fr;

    gap: 8px;

    padding-top: 8px;

  }



  body.j360-mobile-menu-open .j360-nav {

    display: grid;

  }



  .j360-nav a,

  .j360-nav button {

    width: 100%;

    min-height: 44px;

    justify-content: flex-start;

    padding: 11px 14px;

    border-color: var(--border);

    background: rgba(255,255,255,.045);

    text-align: left;

  }



  .j360-nav a.primary {

    justify-content: center;

  }



  .j360-nav .j360-logout-btn {

    justify-content: center;

  }



  main {

    width: min(100% - 22px, 1180px);

    padding-top: 26px;

  }



  h1 {

    font-size: clamp(38px, 12vw, 58px);

    line-height: .92;

  }



  .hero {

    padding: 24px;

  }



  .actions {

    flex-direction: column;

  }



  .actions .btn {

    width: 100%;

  }

}



@media (max-width: 420px) {

  .j360-topbar {

    padding: 10px 12px;

  }



  .j360-brand strong {

    font-size: 18px;

  }



  .j360-menu-toggle {

    min-width: 42px;

  }



  .card,

  .panel {

    padding: 18px;

  }



  .hero {

    padding: 20px;

  }

}



/* SITE_COMERCIAL_ZERO_E1_MOBILE_TOPBAR_CSS_END */



/* SITE_COMERCIAL_ZERO_E2_BUILDER_CHECKOUT_CSS_START */



.builder-layout {

  align-items: start;

}



.builder-step {

  display: flex;

  gap: 14px;

  align-items: flex-start;

  margin: 6px 0 14px;

}



.step-number {

  flex: 0 0 auto;

  width: 42px;

  height: 42px;

  display: inline-flex;

  align-items: center;

  justify-content: center;

  border-radius: 16px;

  background: linear-gradient(135deg, var(--pink), var(--gold));

  color: #240014;

  font-weight: 950;

}



.builder-step h2 {

  margin: 0 0 4px;

  font-size: 28px;

}



.option-grid {

  display: grid;

  gap: 12px;

  margin: 10px 0 18px;

}



.option-grid-2 {

  grid-template-columns: repeat(2, minmax(0, 1fr));

}



.option-card {

  position: relative;

  display: grid;

  gap: 8px;

  min-height: 130px;

  padding: 18px;

  border: 1px solid var(--border);

  border-radius: 20px;

  background: rgba(255,255,255,.04);

  cursor: pointer;

}



.option-card input {

  position: absolute;

  opacity: 0;

  pointer-events: none;

}



.option-card span {

  font-size: 24px;

  font-weight: 950;

}



.option-card small {

  color: var(--muted);

  line-height: 1.45;

}



.option-card:has(input:checked) {

  border-color: rgba(255,211,138,.55);

  background: linear-gradient(180deg, rgba(255,211,138,.14), rgba(255,255,255,.045));

  box-shadow: 0 18px 50px rgba(0,0,0,.25);

}



.area-card-grid {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 12px;

  margin-bottom: 20px;

}



.area-card {

  min-height: 106px;

  display: grid;

  gap: 7px;

  padding: 16px;

  border: 1px solid var(--border);

  border-radius: 18px;

  background: rgba(255,255,255,.04);

  color: #fff;

  text-align: left;

}



.area-card strong {

  font-size: 17px;

}



.area-card small {

  color: var(--muted);

  line-height: 1.35;

}



.area-card.active {

  border-color: rgba(255,139,197,.65);

  background: rgba(255,139,197,.14);

}



.sticky-summary {

  position: sticky;

  top: 92px;

}



.summary-premium,

.checkout-premium {

  display: grid;

  gap: 16px;

}



.summary-total {

  padding: 20px;

  border: 1px solid rgba(255,211,138,.28);

  border-radius: 22px;

  background: linear-gradient(180deg, rgba(255,211,138,.13), rgba(255,255,255,.04));

}



.summary-total span,

.summary-total small {

  display: block;

  color: var(--muted);

  font-weight: 850;

}



.summary-total strong {

  display: block;

  margin: 8px 0;

  color: var(--gold);

  font-size: clamp(32px, 5vw, 54px);

  line-height: 1;

  letter-spacing: -.06em;

}



.builder-trust {

  margin-top: 18px;

}



.checkout-layout {

  display: grid;

  grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);

  gap: 18px;

  align-items: start;

}



.checkout-side {

  position: sticky;

  top: 92px;

}



.item-list {

  display: grid;

  gap: 10px;

}



.item-row {

  display: grid;

  grid-template-columns: minmax(0, 1fr) auto auto;

  gap: 12px;

  align-items: center;

  padding: 14px;

  border: 1px solid var(--border);

  border-radius: 16px;

  background: rgba(255,255,255,.035);

}



.item-row small {

  display: block;

  color: var(--muted);

  margin-top: 3px;

}



.item-row > span {

  color: var(--muted);

  font-weight: 900;

}



@media (max-width: 980px) {

  .checkout-layout {

    grid-template-columns: 1fr;

  }



  .sticky-summary,

  .checkout-side {

    position: static;

  }



  .area-card-grid,

  .option-grid-2 {

    grid-template-columns: 1fr;

  }

}



/* SITE_COMERCIAL_ZERO_E2_BUILDER_CHECKOUT_CSS_END */



/* SITE_COMERCIAL_ZERO_E3_AREA_COMPRADOR_CSS_START */



.buyer-hero .hero-panel {

  align-self: stretch;

}



.buyer-kpis {

  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 14px;

}



.buyer-kpis .card {

  min-height: 150px;

}



.buyer-kpis .card span {

  color: var(--muted);

  font-weight: 900;

}



.buyer-kpis .card strong {

  display: block;

  margin: 10px 0;

  font-size: clamp(30px, 4vw, 48px);

  line-height: 1;

  color: var(--gold);

  letter-spacing: -.05em;

}



.buyer-kpis .card small {

  color: var(--muted);

  line-height: 1.4;

}



.buyer-tabs {

  grid-template-columns: repeat(7, minmax(0, 1fr));

}



.buyer-toolbar {

  display: grid;

  grid-template-columns: minmax(220px, 1fr) minmax(180px, .35fr) auto;

  gap: 12px;

  align-items: center;

  margin: 18px 0;

}



.buyer-order-card {

  grid-template-columns: minmax(0, 1fr) auto auto;

  align-items: center;

}



.buyer-order-card .btn {

  min-height: 40px;

}



.order-detail-panel {

  margin-top: 20px;

  border-color: rgba(255,211,138,.28);

  background: linear-gradient(180deg, rgba(255,211,138,.10), rgba(255,255,255,.035));

}



.order-detail-head {

  display: flex;

  justify-content: space-between;

  gap: 14px;

  align-items: flex-start;

  margin-bottom: 18px;

}



.order-detail-head h2 {

  margin: 6px 0 0;

}



@media (max-width: 980px) {

  .buyer-kpis,

  .buyer-tabs,

  .buyer-toolbar,

  .buyer-order-card {

    grid-template-columns: 1fr;

  }



  .order-detail-head {

    flex-direction: column;

  }

}



/* SITE_COMERCIAL_ZERO_E3_AREA_COMPRADOR_CSS_END */



/* SITE_COMERCIAL_ZERO_E2B_PACOTES_ESPECIALIDADES_CSS_START */



.package-section {

  display: grid;

  gap: 12px;

  margin: 10px 0 26px;

}



.section-head.mini {

  margin-bottom: 0;

}



.section-head.mini h3 {

  font-size: 24px;

  margin: 6px 0 0;

}



.package-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 14px;

}



.package-card {

  display: grid;

  align-content: start;

  gap: 10px;

  padding: 20px;

  min-height: 360px;

  border: 1px solid var(--border);

  border-radius: 24px;

  background: rgba(255,255,255,.04);

  cursor: pointer;

  transition: transform .15s ease, border-color .15s ease, background .15s ease;

}



.package-card:hover {

  transform: translateY(-2px);

  border-color: rgba(255,211,138,.32);

}



.package-card.active {

  border-color: rgba(255,139,197,.72);

  background: linear-gradient(180deg, rgba(255,139,197,.16), rgba(255,255,255,.045));

  box-shadow: 0 20px 60px rgba(0,0,0,.28);

}



.package-badge {

  width: fit-content;

  padding: 7px 10px;

  border-radius: 999px;

  background: rgba(255,139,197,.14);

  border: 1px solid rgba(255,139,197,.35);

  color: #ffd8ea;

  font-weight: 950;

  font-size: 12px;

  text-transform: uppercase;

  letter-spacing: .05em;

}



.package-badge.cloud {

  background: rgba(255,211,138,.13);

  border-color: rgba(255,211,138,.35);

  color: #ffe4b0;

}



.package-card h3 {

  font-size: 25px;

}



.package-card ul {

  display: grid;

  gap: 7px;

  margin: 0;

  padding-left: 18px;

  color: rgba(255,255,255,.78);

}



.price.small {

  font-size: 34px;

  margin: 4px 0;

}



.link-button {

  width: fit-content;

  border: 0;

  background: transparent;

  color: var(--gold);

  padding: 0;

  font-weight: 950;

  text-decoration: underline;

}



.package-description {

  padding: 20px;

  margin-bottom: 24px;

  border: 1px solid rgba(255,211,138,.28);

  border-radius: 22px;

  background: linear-gradient(180deg, rgba(255,211,138,.10), rgba(255,255,255,.035));

}



.package-description .grid {

  margin-top: 14px;

}



.package-description .card strong {

  display: block;

  color: var(--gold);

  font-size: 26px;

  margin-bottom: 4px;

}



.addon-specialties-grid {

  display: grid;

  grid-template-columns: repeat(3, minmax(0, 1fr));

  gap: 12px;

  margin-bottom: 20px;

}



.addon-specialty {

  display: grid;

  grid-template-columns: auto 1fr;

  gap: 8px 12px;

  align-items: center;

  padding: 14px;

  border: 1px solid var(--border);

  border-radius: 18px;

  background: rgba(255,255,255,.04);

  cursor: pointer;

}



.addon-specialty input {

  width: 20px;

  min-height: 20px;

}



.addon-specialty span {

  font-weight: 950;

}



.addon-specialty small {

  grid-column: 2;

  color: var(--muted);

}



.addon-specialty:has(input:checked) {

  border-color: rgba(255,211,138,.48);

  background: rgba(255,211,138,.12);

}



.addon-specialty.disabled {

  opacity: .45;

  cursor: not-allowed;

}



@media (max-width: 980px) {

  .package-grid,

  .addon-specialties-grid {

    grid-template-columns: 1fr;

  }



  .package-card {

    min-height: auto;

  }

}



/* SITE_COMERCIAL_ZERO_E2B_PACOTES_ESPECIALIDADES_CSS_END */



/* SITE_COMERCIAL_ZERO_E2C_UX_ESPECIALIDADES_CSS_START */



.expandable-specialty-card {

  text-align: left;

  align-content: start;

}



.specialty-card-head {

  display: flex;

  align-items: flex-start;

  justify-content: space-between;

  gap: 12px;

  width: 100%;

}



.expand-arrow {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-width: 30px;

  height: 30px;

  border-radius: 999px;

  border: 1px solid rgba(255,255,255,.16);

  background: rgba(255,255,255,.05);

  color: var(--gold);

  font-size: 16px;

  font-weight: 900;

  transition: transform .18s ease, background .18s ease, border-color .18s ease;

}



.expandable-specialty-card.expanded .expand-arrow {

  transform: rotate(180deg);

  background: rgba(255,211,138,.12);

  border-color: rgba(255,211,138,.35);

}



.specialty-expandable {

  max-height: 0;

  overflow: hidden;

  opacity: 0;

  transition: max-height .22s ease, opacity .18s ease, margin-top .18s ease;

  margin-top: 0;

}



.expandable-specialty-card.expanded .specialty-expandable {

  max-height: 180px;

  opacity: 1;

  margin-top: 12px;

}



.specialty-expandable p {

  margin: 0;

  color: rgba(255,255,255,.80);

  line-height: 1.45;

}



.card-selectable {

  position: relative;

  grid-template-columns: 1fr;

  align-items: stretch;

  min-height: 112px;

  padding: 0;

  overflow: hidden;

}



.card-selectable input {

  position: absolute;

  opacity: 0;

  pointer-events: none;

}



.addon-specialty-body {

  display: flex;

  flex-direction: column;

  justify-content: center;

  gap: 6px;

  min-height: 112px;

  padding: 16px;

}



.addon-specialty-body span {

  font-weight: 950;

  font-size: 20px;

  line-height: 1.1;

}



.addon-specialty-body small {

  color: var(--muted);

  font-size: 15px;

}



.card-selectable::after {

  content: "";

  position: absolute;

  inset: 0;

  border-radius: 18px;

  border: 1px solid transparent;

  pointer-events: none;

  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;

}



.card-selectable:hover::after {

  border-color: rgba(255,211,138,.24);

}



.card-selectable:has(input:checked) {

  background: linear-gradient(180deg, rgba(255,211,138,.12), rgba(255,255,255,.04));

  border-color: rgba(255,211,138,.55);

  box-shadow: 0 16px 40px rgba(0,0,0,.20);

}



.card-selectable:has(input:checked)::after {

  border-color: rgba(255,211,138,.52);

}



.card-selectable.disabled {

  opacity: .48;

}



@media (max-width: 980px) {

  .specialty-card-head {

    align-items: center;

  }



  .addon-specialty-body span {

    font-size: 18px;

  }

}



/* SITE_COMERCIAL_ZERO_E2C_UX_ESPECIALIDADES_CSS_END */



/* SITE_COMERCIAL_ZERO_E2D_ESPECIALIDADES_RECOLHIVEIS_CSS_START */



.specialty-collapse-wrap {

  display: grid;

  gap: 12px;

}



.specialty-collapse-top {

  display: flex;

  justify-content: flex-end;

  align-items: center;

  margin: -4px 0 10px;

}



.specialty-collapse-toggle {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  gap: 10px;

  min-height: 42px;

  padding: 10px 14px;

  border: 1px solid rgba(255,255,255,.16);

  border-radius: 999px;

  background: rgba(255,255,255,.05);

  color: #fff;

  font-weight: 950;

}



.specialty-collapse-toggle:hover {

  border-color: rgba(255,211,138,.36);

  background: rgba(255,211,138,.08);

}



.specialty-collapse-toggle .specialty-collapse-arrow {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  width: 22px;

  height: 22px;

  border-radius: 999px;

  background: rgba(255,211,138,.13);

  color: var(--gold);

  transition: transform .18s ease;

}



.specialty-collapse-toggle[aria-expanded="true"] .specialty-collapse-arrow {

  transform: rotate(180deg);

}



.specialty-collapsible[data-specialty-open="false"] > :nth-child(n+7) {

  display: none !important;

}



.specialty-collapsible[data-specialty-open="false"] {

  position: relative;

}



.specialty-collapsible[data-specialty-open="false"]::after {

  content: "";

  pointer-events: none;

  position: absolute;

  left: 0;

  right: 0;

  bottom: 0;

  height: 34px;

  border-radius: 0 0 18px 18px;

  background: linear-gradient(180deg, rgba(7,0,8,0), rgba(7,0,8,.78));

}



.specialty-collapse-note {

  margin: 0;

  color: var(--muted);

  font-size: 14px;

}



.specialty-selected-counter {

  display: inline-flex;

  width: fit-content;

  margin-top: -4px;

  padding: 8px 11px;

  border-radius: 999px;

  background: rgba(255,139,197,.10);

  border: 1px solid rgba(255,139,197,.24);

  color: #ffd9eb;

  font-weight: 900;

  font-size: 13px;

}



@media (max-width: 700px) {

  .specialty-collapse-top {

    justify-content: stretch;

  }



  .specialty-collapse-toggle {

    width: 100%;

  }



  .specialty-collapsible[data-specialty-open="false"] > :nth-child(n+5) {

    display: none !important;

  }

}



/* SITE_COMERCIAL_ZERO_E2D_ESPECIALIDADES_RECOLHIVEIS_CSS_END */



/* SITE_COMERCIAL_ZERO_E3B_A2_CONTA_COMPRADOR_CSS_START */



.account-layout {

  display: grid;

  grid-template-columns: minmax(260px, .85fr) minmax(320px, 1fr) minmax(320px, 1fr);

  gap: 16px;

  align-items: start;

}



.account-form {

  margin-top: 10px;

}



.account-note {

  margin: 14px 0 0;

  font-size: 14px;

  color: var(--muted);

}



.account-layout .card {

  min-height: 100%;

}



@media (max-width: 1100px) {

  .account-layout {

    grid-template-columns: 1fr;

  }

}



/* SITE_COMERCIAL_ZERO_E3B_A2_CONTA_COMPRADOR_CSS_END */



/* SITE_COMERCIAL_ZERO_E4_ADMIN_COMERCIAL_CSS_START */



.admin-hero .hero-panel {

  align-self: stretch;

}



.admin-kpis {

  display: grid;

  grid-template-columns: repeat(4, minmax(0, 1fr));

  gap: 14px;

}



.admin-kpis .card {

  min-height: 150px;

}



.admin-kpis .card span {

  color: var(--muted);

  font-weight: 900;

}



.admin-kpis .card strong {

  display: block;

  margin: 10px 0;

  font-size: clamp(26px, 4vw, 44px);

  line-height: 1;

  color: var(--gold);

  letter-spacing: -.05em;

}



.admin-tabs {

  grid-template-columns: repeat(4, minmax(0, 1fr));

}



.admin-toolbar {

  display: grid;

  grid-template-columns: minmax(260px, 1fr) minmax(160px, .25fr) minmax(160px, .25fr) auto;

  gap: 12px;

  align-items: center;

  margin: 18px 0;

}



.admin-order-card {

  display: grid;

  grid-template-columns: minmax(160px, .7fr) minmax(220px, 1fr) minmax(220px, 1fr) auto auto;

  align-items: center;

  gap: 14px;

}



.admin-order-card .btn {

  min-height: 40px;

}



.admin-detail-grid {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 14px;

}



.admin-buyers-grid {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 14px;

}



.admin-detail-grid .card h3,

.admin-buyers-grid .card h3 {

  margin-bottom: 12px;

}



code {

  padding: 2px 6px;

  border-radius: 8px;

  background: rgba(255,255,255,.08);

  color: var(--gold);

}



@media (max-width: 1100px) {

  .admin-kpis,

  .admin-tabs,

  .admin-toolbar,

  .admin-order-card,

  .admin-detail-grid,

  .admin-buyers-grid {

    grid-template-columns: 1fr;

  }



  .admin-order-card {

    align-items: start;

  }

}



/* SITE_COMERCIAL_ZERO_E4_ADMIN_COMERCIAL_CSS_END */



/* SITE_COMERCIAL_ZERO_E5_A1_EDITOR_TOTAL_CSS_START */



.editor-topbar {

  display: flex;

  justify-content: space-between;

  gap: 18px;

  align-items: flex-start;

  margin-bottom: 18px;

}



.editor-actions {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

  justify-content: flex-end;

}



.editor-tabs {

  grid-template-columns: repeat(6, minmax(0, 1fr));

  margin-top: 18px;

}



.editor-grid {

  display: grid;

  grid-template-columns: repeat(2, minmax(0, 1fr));

  gap: 16px;

}



.editor-list {

  display: grid;

  gap: 16px;

}



.editor-item {

  display: grid;

  gap: 16px;

}



.editor-item-head {

  display: flex;

  justify-content: space-between;

  gap: 14px;

  align-items: flex-start;

}



.editor-actions-line {

  display: flex;

  justify-content: flex-end;

  margin: 0 0 14px;

}



.editor-json {

  min-height: 520px;

  font-family: Consolas, monospace;

  font-size: 13px;

  white-space: pre;

}



.mini-editor-card {

  display: grid;

  gap: 10px;

  margin-top: 12px;

  padding: 14px;

  border: 1px solid var(--border);

  border-radius: 16px;

  background: rgba(255,255,255,.035);

}



.btn.tiny {

  min-height: 34px;

  padding: 7px 10px;

  font-size: 13px;

  justify-self: end;

}



.file-btn {

  cursor: pointer;

}



@media (max-width: 1100px) {

  .editor-topbar {

    flex-direction: column;

  }



  .editor-actions {

    justify-content: flex-start;

  }



  .editor-tabs,

  .editor-grid {

    grid-template-columns: 1fr;

  }

}



/* SITE_COMERCIAL_ZERO_E5_A1_EDITOR_TOTAL_CSS_END */



/* SITE_COMERCIAL_ZERO_E5_A2_CONFIG_EDITAVEL_CSS_START */



.config-source-badge {

  display: inline-flex;

  width: fit-content;

  padding: 7px 10px;

  border-radius: 999px;

  background: rgba(255,211,138,.12);

  border: 1px solid rgba(255,211,138,.28);

  color: var(--gold);

  font-size: 12px;

  font-weight: 950;

}



.pricing-card .check-list {

  margin-top: 16px;

}



body[data-config-loaded="server"]::after,

body[data-config-loaded="localStorage"]::after {

  content: "config";

  position: fixed;

  right: 10px;

  bottom: 10px;

  z-index: 30;

  padding: 5px 8px;

  border-radius: 999px;

  background: rgba(0,0,0,.42);

  border: 1px solid rgba(255,255,255,.10);

  color: rgba(255,255,255,.52);

  font-size: 11px;

  pointer-events: none;

}



/* SITE_COMERCIAL_ZERO_E5_A2_CONFIG_EDITAVEL_CSS_END */



/* SITE_ZERO_I1_LINKS_FOOTER_LOGIN_START */

.site-zero-login-extra-actions,

.site-zero-static-card {

  width: min(760px, calc(100% - 32px));

  margin: 18px auto;

  padding: 22px;

  border: 1px solid rgba(255,255,255,.16);

  border-radius: 22px;

  background: rgba(255,255,255,.035);

}



.site-zero-login-extra-title {

  font-weight: 900;

  margin-bottom: 10px;

}



.site-zero-login-extra-grid,

.site-zero-static-actions {

  display: flex;

  flex-wrap: wrap;

  gap: 10px;

}



.site-zero-login-extra-grid a,

.site-zero-static-actions a,

.site-zero-static-form button {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 42px;

  padding: 10px 14px;

  border-radius: 14px;

  border: 1px solid rgba(255,255,255,.18);

  background: rgba(255,255,255,.05);

  color: inherit;

  text-decoration: none;

  font-weight: 800;

}



.site-zero-login-extra-note,

.site-zero-static-muted {

  opacity: .82;

  margin-top: 10px;

  line-height: 1.55;

}



.site-zero-static-main {

  min-height: 58vh;

  padding: 86px 20px 56px;

}



.site-zero-static-card h1 {

  font-size: clamp(34px, 6vw, 70px);

  line-height: .92;

  margin: 0 0 18px;

}



.site-zero-static-card h2 {

  margin-top: 28px;

}



.site-zero-static-card p,

.site-zero-static-card li {

  line-height: 1.65;

}



.site-zero-static-form {

  display: grid;

  gap: 12px;

  margin-top: 20px;

}



.site-zero-static-form label {

  display: grid;

  gap: 6px;

  font-weight: 800;

}



.site-zero-static-form input,

.site-zero-static-form textarea,

.site-zero-static-form select {

  width: 100%;

  border-radius: 14px;

  border: 1px solid rgba(255,255,255,.18);

  background: #0f1826;

  color: #fff;

  padding: 12px 14px;

}



.site-zero-form-message {

  margin-top: 12px;

  padding: 12px;

  border-radius: 14px;

  border: 1px solid rgba(83, 210, 149, .55);

  background: rgba(83, 210, 149, .1);

}



@media (max-width: 720px) {

  .site-zero-login-extra-grid,

  .site-zero-static-actions {

    display: grid;

  }

}

/* SITE_ZERO_I1_LINKS_FOOTER_LOGIN_END */



/* SITE_ZERO_I2_TOPBAR_FOOTER_START */



/* Topbar comercial global das páginas estáticas */

.site-topbar {

  position: sticky;

  top: 0;

  z-index: 50;

  min-height: 66px;

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 18px;

  padding: 10px clamp(16px, 3vw, 36px);

  border-bottom: 1px solid rgba(255,255,255,.12);

  background:

    linear-gradient(180deg, rgba(12, 9, 19, .98), rgba(12, 9, 19, .94));

  backdrop-filter: blur(14px);

  box-shadow: 0 10px 30px rgba(0,0,0,.22);

}



.site-topbar .brand,

.site-topbar > a.brand,

.site-topbar a.brand {

  display: grid;

  gap: 2px;

  color: #fff;

  text-decoration: none;

  min-width: 210px;

}



.site-topbar .brand strong,

.site-topbar > a.brand strong,

.site-topbar a.brand strong {

  display: block;

  font-size: clamp(18px, 2vw, 24px);

  line-height: .95;

  letter-spacing: -.04em;

  color: #ff8fc7;

}



.site-topbar .brand span,

.site-topbar > a.brand span,

.site-topbar a.brand span {

  display: block;

  max-width: 360px;

  font-size: 11px;

  line-height: 1.25;

  color: rgba(255,255,255,.72);

}



.site-topbar nav {

  display: flex;

  align-items: center;

  justify-content: flex-end;

  flex-wrap: wrap;

  gap: 8px;

}



.site-topbar nav a {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 36px;

  padding: 8px 12px;

  border-radius: 999px;

  color: rgba(255,255,255,.88);

  text-decoration: none;

  font-weight: 900;

  font-size: 13px;

  line-height: 1;

  border: 1px solid transparent;

}



.site-topbar nav a:hover {

  border-color: rgba(255,255,255,.18);

  background: rgba(255,255,255,.06);

}



.site-topbar nav a[href="/comprar/"],

.site-topbar nav a[href="/entrar/"] {

  background: linear-gradient(135deg, #ff8fc7, #ffd18a);

  color: #160816;

  border-color: transparent;

}



/* Rodapé comercial global das páginas estáticas */

.site-footer {

  margin-top: 72px;

  padding: 38px clamp(18px, 5vw, 72px) 48px;

  border-top: 1px solid rgba(255,255,255,.12);

  background: rgba(0,0,0,.28);

  display: grid;

  grid-template-columns: minmax(220px, 1.5fr) repeat(3, minmax(160px, 1fr));

  gap: 28px;

}



.site-footer h3 {

  margin: 0 0 12px;

  font-size: 18px;

  color: #fff;

  letter-spacing: -.02em;

}



.site-footer p {

  margin: 0 0 14px;

  color: rgba(255,255,255,.78);

  line-height: 1.55;

  max-width: 360px;

}



.site-footer a {

  display: flex;

  width: fit-content;

  margin: 7px 0;

  color: rgba(255,255,255,.86);

  text-decoration: none;

  font-weight: 800;

  font-size: 14px;

  line-height: 1.2;

}



.site-footer a:hover {

  color: #ff9ed0;

  text-decoration: underline;

}



/* Ajuste das páginas estáticas para não parecerem soltas */

.site-zero-static-main {

  width: 100%;

  min-height: 62vh;

  padding: clamp(56px, 8vw, 96px) 20px 40px;

  display: grid;

  place-items: start center;

}



.site-zero-static-card {

  width: min(760px, calc(100vw - 32px));

  margin: 0 auto;

  padding: clamp(22px, 4vw, 34px);

  border: 1px solid rgba(255,255,255,.16);

  border-radius: 24px;

  background:

    radial-gradient(circle at 10% 0%, rgba(255,143,199,.10), transparent 35%),

    rgba(255,255,255,.035);

  box-shadow: 0 24px 70px rgba(0,0,0,.22);

}



.site-zero-static-card .eyebrow,

.site-zero-static-card p.eyebrow {

  display: inline-flex;

  width: fit-content;

  padding: 7px 12px;

  margin: 0 0 18px;

  border-radius: 999px;

  border: 1px solid rgba(255,209,138,.45);

  background: rgba(255,209,138,.11);

  color: #ffd18a;

  font-weight: 900;

  text-transform: uppercase;

  letter-spacing: .04em;

  font-size: 11px;

}



.site-zero-static-card h1 {

  font-size: clamp(38px, 6vw, 72px);

  line-height: .9;

  letter-spacing: -.06em;

  margin: 0 0 18px;

}



.site-zero-static-card h2 {

  font-size: clamp(26px, 4vw, 44px);

  line-height: .96;

  letter-spacing: -.05em;

  margin: 28px 0 10px;

}



.site-zero-static-card p,

.site-zero-static-card li {

  color: rgba(255,255,255,.88);

  line-height: 1.65;

}



.site-zero-static-actions {

  margin-top: 18px;

}



/* Mobile */

@media (max-width: 820px) {

  .site-topbar {

    position: relative;

    align-items: flex-start;

    flex-direction: column;

    padding: 14px 16px;

  }



  .site-topbar .brand,

  .site-topbar > a.brand,

  .site-topbar a.brand {

    min-width: 0;

    width: 100%;

  }



  .site-topbar nav {

    width: 100%;

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

  }



  .site-topbar nav a {

    width: 100%;

    min-height: 40px;

  }



  .site-footer {

    grid-template-columns: 1fr;

    padding: 28px 18px 40px;

  }



  .site-footer a {

    width: 100%;

    padding: 8px 0;

  }

}



/* SITE_ZERO_I2_TOPBAR_FOOTER_END */



/* SITE_ZERO_I2_TOPBAR_FOOTER_PREMIUM_START */

:root {

  --site-zero-topbar-h: 72px;

}



.site-topbar {

  min-height: var(--site-zero-topbar-h);

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 18px;

  padding: 12px clamp(16px, 3.6vw, 44px);

  background: rgba(7, 8, 17, .96);

  border-bottom: 1px solid rgba(255, 255, 255, .08);

  position: sticky;

  top: 0;

  z-index: 50;

  backdrop-filter: blur(14px);

}



.site-topbar .brand,

.site-topbar a.brand,

.site-topbar > a:first-child {

  display: grid;

  gap: 2px;

  color: #fff;

  text-decoration: none;

  min-width: 220px;

}



.site-topbar .brand strong,

.site-topbar > a:first-child strong {

  font-size: 20px;

  line-height: 1;

  color: #ff8fc3;

  letter-spacing: -.03em;

}



.site-topbar .brand span,

.site-topbar > a:first-child span {

  font-size: 10px;

  line-height: 1.25;

  opacity: .78;

}



.site-topbar nav {

  display: flex;

  align-items: center;

  justify-content: flex-end;

  gap: 10px;

  flex-wrap: wrap;

}



.site-topbar nav a {

  color: #fff;

  text-decoration: none;

  font-weight: 900;

  font-size: 13px;

  padding: 10px 12px;

  border-radius: 999px;

  opacity: .9;

}



.site-topbar nav a:hover {

  background: rgba(255, 255, 255, .08);

  opacity: 1;

}



.site-topbar nav a[href="/comprar/"],

.site-topbar nav a[href="/entrar/"],

.site-topbar nav a[href="/area-do-usuario/"] {

  background: linear-gradient(135deg, #ff8fc3, #ffd18a);

  color: #120713;

  opacity: 1;

  padding-left: 18px;

  padding-right: 18px;

}



.site-zero-static-main {

  padding-top: clamp(52px, 8vw, 92px);

  padding-bottom: clamp(72px, 9vw, 120px);

}



.site-zero-static-card {

  box-shadow: 0 22px 80px rgba(0, 0, 0, .22);

}



.site-footer {

  display: grid;

  grid-template-columns: minmax(220px, 1.4fr) repeat(3, minmax(150px, .8fr));

  gap: clamp(24px, 5vw, 88px);

  padding: clamp(34px, 5vw, 58px) clamp(24px, 7vw, 86px);

  border-top: 1px solid rgba(255, 255, 255, .1);

  background: rgba(3, 2, 8, .92);

  color: #fff;

}



.site-footer h3 {

  margin: 0 0 12px;

  font-size: 17px;

  letter-spacing: -.02em;

}



.site-footer p {

  margin: 0;

  max-width: 280px;

  line-height: 1.55;

  opacity: .84;

}



.site-footer a {

  display: block;

  width: fit-content;

  color: #fff;

  text-decoration: none;

  font-weight: 800;

  margin: 8px 0;

  opacity: .86;

}



.site-footer a:hover {

  opacity: 1;

  color: #ff8fc3;

}



@media (max-width: 860px) {

  .site-topbar {

    align-items: flex-start;

    flex-direction: column;

  }



  .site-topbar nav {

    width: 100%;

    justify-content: flex-start;

  }



  .site-footer {

    grid-template-columns: 1fr 1fr;

  }

}



@media (max-width: 560px) {

  .site-topbar {

    position: relative;

  }



  .site-topbar nav {

    display: grid;

    grid-template-columns: 1fr 1fr;

  }



  .site-topbar nav a {

    text-align: center;

  }



  .site-footer {

    grid-template-columns: 1fr;

  }

}

/* SITE_ZERO_I2_TOPBAR_FOOTER_PREMIUM_END */



/* SITE_ZERO_J1_ADMIN_ACCESS_UI_START */

.site-zero-admin-access-panel {

  width: min(1180px, calc(100% - 32px));

  margin: 18px auto;

  padding: 14px 16px;

  border: 1px solid rgba(255, 255, 255, .14);

  border-radius: 18px;

  background: rgba(255, 255, 255, .045);

  display: flex;

  align-items: center;

  justify-content: space-between;

  gap: 14px;

}



.site-zero-admin-access-panel strong,

.site-zero-admin-access-panel span {

  display: block;

}



.site-zero-admin-access-panel span {

  opacity: .8;

  margin-top: 2px;

}



.site-zero-admin-access-actions {

  display: flex;

  gap: 10px;

  flex-wrap: wrap;

}



.site-zero-admin-access-actions button {

  border: 1px solid rgba(255, 255, 255, .16);

  border-radius: 14px;

  padding: 10px 14px;

  background: rgba(255, 255, 255, .06);

  color: #fff;

  font-weight: 900;

  cursor: pointer;

}



.site-zero-admin-access-actions button:first-child {

  background: linear-gradient(135deg, #ff8fc3, #ffd18a);

  color: #120713;

}



@media (max-width: 760px) {

  .site-zero-admin-access-panel {

    display: grid;

  }

}

/* SITE_ZERO_J1_ADMIN_ACCESS_UI_END */



/* SITE_ZERO_K1_THEMES_START */

:root {

  --site-zero-theme-accent: #ff8fc3;

  --site-zero-theme-accent-2: #ffd18a;

  --site-zero-theme-glow: 1;

}



.site-zero-seasonal-banner {

  width: min(1180px, calc(100% - 32px));

  margin: 18px auto 22px;

  padding: 18px 20px;

  border: 1px solid color-mix(in srgb, var(--site-zero-theme-accent) 38%, transparent);

  border-radius: 24px;

  background:

    radial-gradient(circle at top left, color-mix(in srgb, var(--site-zero-theme-accent) 28%, transparent), transparent 34%),

    linear-gradient(135deg, rgba(255,255,255,.07), rgba(255,255,255,.025));

  box-shadow: 0 18px 60px rgba(0,0,0,.20);

  display: grid;

  grid-template-columns: auto 1fr auto;

  align-items: center;

  gap: 16px;

}



.site-zero-seasonal-badge {

  padding: 8px 12px;

  border-radius: 999px;

  background: linear-gradient(135deg, var(--site-zero-theme-accent), var(--site-zero-theme-accent-2));

  color: #120713;

  font-weight: 950;

  font-size: 12px;

  white-space: nowrap;

}



.site-zero-seasonal-content {

  display: grid;

  gap: 4px;

}



.site-zero-seasonal-content strong {

  color: #fff;

  font-size: clamp(18px, 2.5vw, 28px);

  letter-spacing: -.03em;

}



.site-zero-seasonal-content span {

  color: rgba(255,255,255,.82);

  line-height: 1.45;

}



.site-zero-seasonal-banner a {

  display: inline-flex;

  align-items: center;

  justify-content: center;

  min-height: 42px;

  padding: 10px 15px;

  border-radius: 999px;

  text-decoration: none;

  font-weight: 950;

  background: rgba(255,255,255,.08);

  border: 1px solid rgba(255,255,255,.16);

  color: #fff;

}



body[data-site-zero-theme] .site-topbar {

  border-bottom-color: color-mix(in srgb, var(--site-zero-theme-accent) 28%, rgba(255,255,255,.08));

}



body[data-site-zero-theme] .site-topbar nav a[href="/comprar/"],

body[data-site-zero-theme] .site-topbar nav a[href="/entrar/"],

body[data-site-zero-theme] .site-topbar nav a[href="/area-do-usuario/"] {

  background: linear-gradient(135deg, var(--site-zero-theme-accent), var(--site-zero-theme-accent-2));

}



@media (max-width: 720px) {

  .site-zero-seasonal-banner {

    grid-template-columns: 1fr;

    text-align: left;

  }



  .site-zero-seasonal-badge {

    width: fit-content;

  }



  .site-zero-seasonal-banner a {

    width: 100%;

  }

}

/* SITE_ZERO_K1_THEMES_END */

/* === K5A2_CARDS_PLANOS_RESPONSIVOS_START === */
/*
K5A.2 — correção local controlada dos cards de planos.
Objetivo:
- evitar cards estreitos em /planos/, /montar-pacote/ e /comprar/;
- manter cards com largura mínima confortável em desktop;
- empilhar cards no mobile;
- preservar checkout, Worker, D1, KV e app/main.py.

Esta regra é propositalmente aplicada no fim do CSS para vencer regras antigas
como repeat(3, 1fr), minmax(160px) e larguras fixas estreitas.
*/

:root {
  --k5a2-plan-card-min: 320px;
}

main :is(
  .pricing-grid,
  .plans-grid,
  .plan-grid,
  .planos-grid,
  .pricing-cards,
  .plans-cards,
  .planos-cards,
  .package-grid,
  .packages-grid,
  .product-grid,
  .product-plans-grid,
  .commercial-plans-grid,
  [class*="pricing-grid"],
  [class*="plans-grid"],
  [class*="planos-grid"],
  [class*="plan-grid"],
  [class*="package-grid"],
  [class*="cards-grid"]
) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--k5a2-plan-card-min)), 1fr)) !important;
  align-items: stretch !important;
}

main :is(
  .pricing-card,
  .plan-card,
  .plano-card,
  .package-card,
  .product-card,
  .commercial-plan-card,
  [class*="pricing-card"],
  [class*="plan-card"],
  [class*="plano-card"],
  [class*="package-card"]
) {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
}

main :is(
  .pricing-card,
  .plan-card,
  .plano-card,
  .package-card,
  .product-card,
  .commercial-plan-card,
  [class*="pricing-card"],
  [class*="plan-card"],
  [class*="plano-card"],
  [class*="package-card"]
) :is(
  .price,
  .plan-price,
  .pricing-price,
  .package-price,
  [class*="price"],
  [class*="preco"],
  [class*="preço"],
  [class*="valor"]
) {
  white-space: normal !important;
  line-height: 1.05 !important;
  overflow-wrap: normal !important;
}

main :is(
  .pricing-card,
  .plan-card,
  .plano-card,
  .package-card,
  .product-card,
  .commercial-plan-card,
  [class*="pricing-card"],
  [class*="plan-card"],
  [class*="plano-card"],
  [class*="package-card"]
) :is(
  .annual-discount,
  .cycle-discount,
  .discount-label,
  .billing-discount,
  [class*="annual"],
  [class*="desconto"],
  [class*="discount"]
) {
  white-space: normal !important;
  overflow-wrap: break-word !important;
}

@media (min-width: 761px) and (max-width: 1100px) {
  main :is(
    .pricing-grid,
    .plans-grid,
    .plan-grid,
    .planos-grid,
    .pricing-cards,
    .plans-cards,
    .planos-cards,
    .package-grid,
    .packages-grid,
    .product-grid,
    .product-plans-grid,
    .commercial-plans-grid,
    [class*="pricing-grid"],
    [class*="plans-grid"],
    [class*="planos-grid"],
    [class*="plan-grid"],
    [class*="package-grid"],
    [class*="cards-grid"]
  ) {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  main :is(
    .pricing-grid,
    .plans-grid,
    .plan-grid,
    .planos-grid,
    .pricing-cards,
    .plans-cards,
    .planos-cards,
    .package-grid,
    .packages-grid,
    .product-grid,
    .product-plans-grid,
    .commercial-plans-grid,
    [class*="pricing-grid"],
    [class*="plans-grid"],
    [class*="planos-grid"],
    [class*="plan-grid"],
    [class*="package-grid"],
    [class*="cards-grid"]
  ) {
    grid-template-columns: 1fr !important;
  }

  main :is(
    .pricing-card,
    .plan-card,
    .plano-card,
    .package-card,
    .product-card,
    .commercial-plan-card,
    [class*="pricing-card"],
    [class*="plan-card"],
    [class*="plano-card"],
    [class*="package-card"]
  ) {
    width: 100% !important;
  }
}
/* === K5A2_CARDS_PLANOS_RESPONSIVOS_END === */

/* === K5A3B_ANTI_OVERFLOW_ADMIN_COMPRADOR_START === */
/*
K5A.3B — patch local anti-overflow para Admin Comercial e Área do Comprador.

Objetivo:
- impedir corte/estouro de nome, e-mail, CPF, telefone e dados longos;
- melhorar cards de compradores, pedidos, resumo da conta e dados comerciais;
- preservar design premium;
- não alterar Worker, D1, KV, app/main.py nem lógica de pedidos/licenças.

Aplicado ao final do CSS para vencer regras antigas sem remover nada.
*/

:root {
  --k5a3b-card-min: 320px;
}

/* Base: permite que grids/flex realmente encolham sem estourar */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"],
  [class*="pedidos"],
  [class*="commercial"],
  [class*="comercial"]
),
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"],
  [class*="pedidos"],
  [class*="commercial"],
  [class*="comercial"]
) * {
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Cards/listas de compradores, pedidos e conta */
main :is(
  .admin-order-card,
  .admin-buyer-card,
  .buyer-card,
  .buyer-account-card,
  .buyer-profile-card,
  .account-card,
  .profile-card,
  .order-card,
  .pedido-card,
  .comprador-card,
  .compradores-card,
  [class*="admin"][class*="card"],
  [class*="buyer"][class*="card"],
  [class*="comprador"][class*="card"],
  [class*="compradores"][class*="card"],
  [class*="account"][class*="card"],
  [class*="conta"][class*="card"],
  [class*="profile"][class*="card"],
  [class*="perfil"][class*="card"],
  [class*="order"][class*="card"],
  [class*="pedido"][class*="card"]
) {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* Grids dessas áreas */
main :is(
  .admin-grid,
  .buyer-grid,
  .buyer-list,
  .buyer-cards,
  .account-grid,
  .profile-grid,
  .orders-grid,
  .pedidos-grid,
  .compradores-grid,
  [class*="admin"][class*="grid"],
  [class*="buyer"][class*="grid"],
  [class*="comprador"][class*="grid"],
  [class*="compradores"][class*="grid"],
  [class*="account"][class*="grid"],
  [class*="conta"][class*="grid"],
  [class*="profile"][class*="grid"],
  [class*="perfil"][class*="grid"],
  [class*="order"][class*="grid"],
  [class*="pedido"][class*="grid"],
  [class*="cards"],
  [class*="list"]
) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, var(--k5a3b-card-min)), 1fr)) !important;
  align-items: stretch !important;
}

/* Linhas, células, labels e valores */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"],
  [class*="pedidos"],
  [class*="commercial"],
  [class*="comercial"]
) :is(
  .row,
  .field,
  .value,
  .summary-row,
  .data-row,
  .info-row,
  .table-row,
  .meta-row,
  .detail-row,
  [class*="row"],
  [class*="field"],
  [class*="value"],
  [class*="summary"],
  [class*="data"],
  [class*="info"],
  [class*="detail"],
  [class*="meta"],
  [class*="cell"],
  td,
  th,
  dd,
  dt,
  p,
  span,
  strong,
  small,
  a
) {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

/* E-mails e identificadores longos */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"],
  [class*="pedidos"]
) :is(
  [href^="mailto:"],
  [class*="email"],
  [class*="mail"],
  [class*="document"],
  [class*="cpf"],
  [class*="phone"],
  [class*="telefone"],
  [class*="whatsapp"],
  [class*="token"],
  [class*="id"],
  code
) {
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  white-space: normal !important;
}

/* Tabelas/resumos: mantém leitura sem estourar o card */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"]
) table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse;
}

main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"]
) :is(input, textarea, select) {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* Ajuste específico para cards com duas colunas label/valor */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"]
) :is(
  [class*="summary-row"],
  [class*="data-row"],
  [class*="info-row"],
  [class*="detail-row"],
  [class*="meta-row"],
  [class*="table-row"]
) {
  gap: 0.65rem !important;
}

/* Em telas menores, prioriza leitura vertical */
@media (max-width: 900px) {
  main :is(
    .admin-grid,
    .buyer-grid,
    .buyer-list,
    .buyer-cards,
    .account-grid,
    .profile-grid,
    .orders-grid,
    .pedidos-grid,
    .compradores-grid,
    [class*="admin"][class*="grid"],
    [class*="buyer"][class*="grid"],
    [class*="comprador"][class*="grid"],
    [class*="compradores"][class*="grid"],
    [class*="account"][class*="grid"],
    [class*="conta"][class*="grid"],
    [class*="profile"][class*="grid"],
    [class*="perfil"][class*="grid"],
    [class*="order"][class*="grid"],
    [class*="pedido"][class*="grid"],
    [class*="cards"],
    [class*="list"]
  ) {
    grid-template-columns: 1fr !important;
  }

  main :is(
    [class*="admin"],
    [class*="buyer"],
    [class*="comprador"],
    [class*="compradores"],
    [class*="account"],
    [class*="conta"],
    [class*="profile"],
    [class*="perfil"],
    [class*="order"],
    [class*="pedido"]
  ) :is(
    [class*="summary-row"],
    [class*="data-row"],
    [class*="info-row"],
    [class*="detail-row"],
    [class*="meta-row"],
    [class*="table-row"]
  ) {
    grid-template-columns: 1fr !important;
    align-items: start !important;
  }
}
/* === K5A3B_ANTI_OVERFLOW_ADMIN_COMPRADOR_END === */

/* === K5A3D_AJUSTE_LABELS_VALORES_START === */
/*
K5A.3D — ajuste fino após K5A.3B.

Problema corrigido:
- K5A.3B foi amplo demais e permitiu quebra feia em labels curtos:
  "No-me", "E-mail", "Tele-fone", etc.
- Agora labels ficam legíveis e valores longos quebram com segurança.

Regra:
- label curto NÃO quebra letra por letra;
- valor longo, e-mail, CPF, telefone e IDs podem quebrar;
- cards continuam sem estourar;
- sem alterar Worker, D1, KV, app/main.py ou lógica.
*/

/* Linhas de dados: label à esquerda, valor à direita */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"]
) :is(
  .row,
  .field,
  .summary-row,
  .data-row,
  .info-row,
  .detail-row,
  .meta-row,
  .table-row,
  [class*="summary-row"],
  [class*="data-row"],
  [class*="info-row"],
  [class*="detail-row"],
  [class*="meta-row"],
  [class*="table-row"]
) {
  display: grid !important;
  grid-template-columns: minmax(88px, max-content) minmax(0, 1fr) !important;
  column-gap: 0.75rem !important;
  row-gap: 0.25rem !important;
  align-items: start !important;
}

/* Primeiro item da linha = label. Não pode quebrar verticalmente. */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"]
) :is(
  .row,
  .field,
  .summary-row,
  .data-row,
  .info-row,
  .detail-row,
  .meta-row,
  .table-row,
  [class*="summary-row"],
  [class*="data-row"],
  [class*="info-row"],
  [class*="detail-row"],
  [class*="meta-row"],
  [class*="table-row"]
) > :first-child {
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  min-width: max-content !important;
}

/* Último item da linha = valor. Pode quebrar para não estourar o card. */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"]
) :is(
  .row,
  .field,
  .summary-row,
  .data-row,
  .info-row,
  .detail-row,
  .meta-row,
  .table-row,
  [class*="summary-row"],
  [class*="data-row"],
  [class*="info-row"],
  [class*="detail-row"],
  [class*="meta-row"],
  [class*="table-row"]
) > :last-child {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  text-align: right;
}

/* Labels comuns que apareceram quebrando no print */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"]
) :is(
  label,
  dt,
  th,
  .label,
  [class*="label"],
  [class*="title"],
  [class*="caption"]
) {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Valores longos conhecidos */
main :is(
  [class*="admin"],
  [class*="buyer"],
  [class*="comprador"],
  [class*="compradores"],
  [class*="account"],
  [class*="conta"],
  [class*="profile"],
  [class*="perfil"],
  [class*="order"],
  [class*="pedido"]
) :is(
  dd,
  td,
  .value,
  [class*="value"],
  [class*="email"],
  [class*="mail"],
  [class*="cpf"],
  [class*="phone"],
  [class*="telefone"],
  [class*="whatsapp"],
  [class*="document"],
  [class*="token"],
  [class*="uuid"],
  [class*="id"]
) {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: none !important;
}

/* Cards de compradores: mais espaço e menos quebra feia */
main :is(
  .admin-buyer-card,
  .buyer-card,
  .comprador-card,
  .compradores-card,
  [class*="buyer"][class*="card"],
  [class*="comprador"][class*="card"],
  [class*="compradores"][class*="card"]
) {
  min-width: min(100%, 330px) !important;
  padding-inline: clamp(1rem, 2vw, 1.35rem) !important;
}

/* Grids de compradores: cards um pouco mais largos quando há espaço */
main :is(
  .buyer-grid,
  .buyer-list,
  .buyer-cards,
  .compradores-grid,
  [class*="buyer"][class*="grid"],
  [class*="buyer"][class*="list"],
  [class*="comprador"][class*="grid"],
  [class*="compradores"][class*="grid"]
) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)) !important;
}

/* Em telas muito estreitas, label e valor podem empilhar, mas sem quebrar letra por letra */
@media (max-width: 620px) {
  main :is(
    [class*="admin"],
    [class*="buyer"],
    [class*="comprador"],
    [class*="compradores"],
    [class*="account"],
    [class*="conta"],
    [class*="profile"],
    [class*="perfil"],
    [class*="order"],
    [class*="pedido"]
  ) :is(
    .row,
    .field,
    .summary-row,
    .data-row,
    .info-row,
    .detail-row,
    .meta-row,
    .table-row,
    [class*="summary-row"],
    [class*="data-row"],
    [class*="info-row"],
    [class*="detail-row"],
    [class*="meta-row"],
    [class*="table-row"]
  ) {
    grid-template-columns: 1fr !important;
  }

  main :is(
    [class*="admin"],
    [class*="buyer"],
    [class*="comprador"],
    [class*="compradores"],
    [class*="account"],
    [class*="conta"],
    [class*="profile"],
    [class*="perfil"],
    [class*="order"],
    [class*="pedido"]
  ) :is(
    .row,
    .field,
    .summary-row,
    .data-row,
    .info-row,
    .detail-row,
    .meta-row,
    .table-row,
    [class*="summary-row"],
    [class*="data-row"],
    [class*="info-row"],
    [class*="detail-row"],
    [class*="meta-row"],
    [class*="table-row"]
  ) > :last-child {
    text-align: left !important;
  }
}
/* === K5A3D_AJUSTE_LABELS_VALORES_END === */

/* === K5A3F_COMPRADORES_METRICAS_START === */
/*
K5A.3F — ajuste fino dos cards de compradores, e-mails, datas e métricas.

Motivo:
- K5A.3D melhorou labels, mas os cards de compradores ainda ficaram estreitos.
- E-mails e datas longas ainda quebravam de forma visualmente ruim.
- Alguns cards de métrica, como Total preview, ainda ficavam apertados.

Regra:
- comprador/pedido: card mais largo e linhas internas verticais;
- label não quebra letra por letra;
- valor longo quebra, mas com mais espaço;
- métricas ganham largura mínima melhor;
- sem Worker, D1, KV, app/main.py ou deploy.
*/

/* Cards de compradores/pedidos: mais largura e leitura vertical */
main :is(
  .admin-order-card,
  .admin-buyer-card,
  .buyer-card,
  .comprador-card,
  .compradores-card,
  .order-card,
  .pedido-card,
  [class*="admin"][class*="order"][class*="card"],
  [class*="admin"][class*="buyer"][class*="card"],
  [class*="buyer"][class*="card"],
  [class*="comprador"][class*="card"],
  [class*="compradores"][class*="card"],
  [class*="order"][class*="card"],
  [class*="pedido"][class*="card"]
) {
  min-width: min(100%, 360px) !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding: clamp(1.1rem, 2vw, 1.45rem) !important;
}

/* Grids/listas de compradores: evita 3 colunas apertadas */
main :is(
  .buyer-grid,
  .buyer-list,
  .buyer-cards,
  .compradores-grid,
  .compradores-list,
  .compradores-cards,
  .orders-grid,
  .pedidos-grid,
  [class*="buyer"][class*="grid"],
  [class*="buyer"][class*="list"],
  [class*="buyer"][class*="cards"],
  [class*="comprador"][class*="grid"],
  [class*="comprador"][class*="list"],
  [class*="comprador"][class*="cards"],
  [class*="compradores"][class*="grid"],
  [class*="compradores"][class*="list"],
  [class*="compradores"][class*="cards"],
  [class*="order"][class*="grid"],
  [class*="pedido"][class*="grid"]
) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 360px), 1fr)) !important;
  gap: clamp(1rem, 2vw, 1.35rem) !important;
}

/* Dentro dos cards de compradores/pedidos: label em cima, valor embaixo */
main :is(
  .admin-order-card,
  .admin-buyer-card,
  .buyer-card,
  .comprador-card,
  .compradores-card,
  .order-card,
  .pedido-card,
  [class*="admin"][class*="order"][class*="card"],
  [class*="admin"][class*="buyer"][class*="card"],
  [class*="buyer"][class*="card"],
  [class*="comprador"][class*="card"],
  [class*="compradores"][class*="card"],
  [class*="order"][class*="card"],
  [class*="pedido"][class*="card"]
) :is(
  .row,
  .field,
  .summary-row,
  .data-row,
  .info-row,
  .detail-row,
  .meta-row,
  .table-row,
  [class*="summary-row"],
  [class*="data-row"],
  [class*="info-row"],
  [class*="detail-row"],
  [class*="meta-row"],
  [class*="table-row"],
  [class*="row"],
  [class*="field"]
) {
  display: grid !important;
  grid-template-columns: 1fr !important;
  row-gap: 0.18rem !important;
  align-items: start !important;
}

/* Label dentro de cards: fica inteiro e legível */
main :is(
  .admin-order-card,
  .admin-buyer-card,
  .buyer-card,
  .comprador-card,
  .compradores-card,
  .order-card,
  .pedido-card,
  [class*="admin"][class*="order"][class*="card"],
  [class*="admin"][class*="buyer"][class*="card"],
  [class*="buyer"][class*="card"],
  [class*="comprador"][class*="card"],
  [class*="compradores"][class*="card"],
  [class*="order"][class*="card"],
  [class*="pedido"][class*="card"]
) :is(
  .row,
  .field,
  .summary-row,
  .data-row,
  .info-row,
  .detail-row,
  .meta-row,
  .table-row,
  [class*="summary-row"],
  [class*="data-row"],
  [class*="info-row"],
  [class*="detail-row"],
  [class*="meta-row"],
  [class*="table-row"],
  [class*="row"],
  [class*="field"]
) > :first-child {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
  text-align: left !important;
  opacity: 0.95;
}

/* Valor dentro de cards: pode quebrar, mas alinhado e legível */
main :is(
  .admin-order-card,
  .admin-buyer-card,
  .buyer-card,
  .comprador-card,
  .compradores-card,
  .order-card,
  .pedido-card,
  [class*="admin"][class*="order"][class*="card"],
  [class*="admin"][class*="buyer"][class*="card"],
  [class*="buyer"][class*="card"],
  [class*="comprador"][class*="card"],
  [class*="compradores"][class*="card"],
  [class*="order"][class*="card"],
  [class*="pedido"][class*="card"]
) :is(
  .row,
  .field,
  .summary-row,
  .data-row,
  .info-row,
  .detail-row,
  .meta-row,
  .table-row,
  [class*="summary-row"],
  [class*="data-row"],
  [class*="info-row"],
  [class*="detail-row"],
  [class*="meta-row"],
  [class*="table-row"],
  [class*="row"],
  [class*="field"]
) > :last-child {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: none !important;
  text-align: left !important;
}

/* E-mails, datas ISO e textos longos em cards */
main :is(
  .admin-order-card,
  .admin-buyer-card,
  .buyer-card,
  .comprador-card,
  .compradores-card,
  .order-card,
  .pedido-card,
  [class*="admin"][class*="order"][class*="card"],
  [class*="admin"][class*="buyer"][class*="card"],
  [class*="buyer"][class*="card"],
  [class*="comprador"][class*="card"],
  [class*="compradores"][class*="card"],
  [class*="order"][class*="card"],
  [class*="pedido"][class*="card"]
) :is(
  [href^="mailto:"],
  [class*="email"],
  [class*="mail"],
  [class*="date"],
  [class*="data"],
  [class*="created"],
  [class*="time"],
  [class*="timestamp"],
  [class*="token"],
  [class*="id"],
  code,
  small,
  strong,
  span
) {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: none !important;
}

/* Cards de métricas/KPIs: mais respiro para valores monetários */
main :is(
  .metric-card,
  .metrics-card,
  .stat-card,
  .stats-card,
  .kpi-card,
  [class*="metric"][class*="card"],
  [class*="metrics"][class*="card"],
  [class*="stat"][class*="card"],
  [class*="stats"][class*="card"],
  [class*="kpi"][class*="card"]
) {
  min-width: min(100%, 240px) !important;
  overflow: hidden !important;
}

main :is(
  .metrics-grid,
  .stats-grid,
  .kpi-grid,
  [class*="metric"][class*="grid"],
  [class*="metrics"][class*="grid"],
  [class*="stat"][class*="grid"],
  [class*="stats"][class*="grid"],
  [class*="kpi"][class*="grid"]
) {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)) !important;
}

/* Valores grandes nas métricas podem quebrar, mas não estourar */
main :is(
  .metric-card,
  .metrics-card,
  .stat-card,
  .stats-card,
  .kpi-card,
  [class*="metric"][class*="card"],
  [class*="metrics"][class*="card"],
  [class*="stat"][class*="card"],
  [class*="stats"][class*="card"],
  [class*="kpi"][class*="card"]
) :is(
  strong,
  .value,
  [class*="value"],
  [class*="total"],
  [class*="amount"],
  [class*="price"],
  [class*="money"]
) {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  line-height: 1.02 !important;
}

/* Em telas médias, compradores não devem virar 3 colunas apertadas */
@media (max-width: 1180px) {
  main :is(
    .buyer-grid,
    .buyer-list,
    .buyer-cards,
    .compradores-grid,
    .compradores-list,
    .compradores-cards,
    .orders-grid,
    .pedidos-grid,
    [class*="buyer"][class*="grid"],
    [class*="buyer"][class*="list"],
    [class*="buyer"][class*="cards"],
    [class*="comprador"][class*="grid"],
    [class*="comprador"][class*="list"],
    [class*="comprador"][class*="cards"],
    [class*="compradores"][class*="grid"],
    [class*="compradores"][class*="list"],
    [class*="compradores"][class*="cards"],
    [class*="order"][class*="grid"],
    [class*="pedido"][class*="grid"]
  ) {
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 390px), 1fr)) !important;
  }
}

/* Em telas pequenas, tudo empilha */
@media (max-width: 760px) {
  main :is(
    .buyer-grid,
    .buyer-list,
    .buyer-cards,
    .compradores-grid,
    .compradores-list,
    .compradores-cards,
    .orders-grid,
    .pedidos-grid,
    .metrics-grid,
    .stats-grid,
    .kpi-grid,
    [class*="buyer"][class*="grid"],
    [class*="buyer"][class*="list"],
    [class*="buyer"][class*="cards"],
    [class*="comprador"][class*="grid"],
    [class*="comprador"][class*="list"],
    [class*="comprador"][class*="cards"],
    [class*="compradores"][class*="grid"],
    [class*="compradores"][class*="list"],
    [class*="compradores"][class*="cards"],
    [class*="order"][class*="grid"],
    [class*="pedido"][class*="grid"],
    [class*="metric"][class*="grid"],
    [class*="metrics"][class*="grid"],
    [class*="stat"][class*="grid"],
    [class*="stats"][class*="grid"],
    [class*="kpi"][class*="grid"]
  ) {
    grid-template-columns: 1fr !important;
  }
}
/* === K5A3F_COMPRADORES_METRICAS_END === */
