/* Regras de tela compartilhadas. A impressão mantém os estilos documentais
   de style.css; PDFs são produzidos pelo renderizador histórico do servidor. */
@media screen {
  :root { --screen-gutter: clamp(12px, 2.5vw, 28px); --screen-gap: clamp(12px, 2vw, 20px); }
  html { -webkit-text-size-adjust: 100%; }
  body { min-width: 0; padding-left: env(safe-area-inset-left); padding-right: env(safe-area-inset-right); padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  main { min-width: 0; }
  main, footer { overflow-wrap: anywhere; }
  [hidden] { display: none !important; }
  h1, .document h1, .panel-head h1, .login-card h1 { font-size: clamp(1.65rem, 1.3rem + 1.6vw, 2.5rem); line-height: 1.2; margin-inline: 0; }
  h2, .section-head h2 { font-size: clamp(1.35rem, 1.1rem + 1vw, 2rem); line-height: 1.25; margin-inline: 0; }
  h3 { font-size: clamp(1.1rem, 1rem + .4vw, 1.3rem); line-height: 1.35; }
  p, li, dd, dt, label, legend, summary { overflow-wrap: anywhere; }
  img, svg, canvas { max-width: 100%; }
  img { height: auto; }
  form, fieldset, label, section, article { min-width: 0; }
  input, select, textarea { min-width: 0; max-width: 100%; font-size: 16px; }
  input:not([type=checkbox]):not([type=radio]):not([type=hidden]), select, textarea { width: 100%; }
  textarea { resize: vertical; }
  fieldset { margin-inline: 0; padding: clamp(12px, 2vw, 18px); }
  legend { max-width: 100%; padding-inline: 4px; }
  fieldset label, .terms-check, .users-management td label, .package > label { min-height: 44px; align-items: center; }
  fieldset label { max-width: 100%; margin-right: 12px; }
  /* Address labels sit above inputs; inline option labels elsewhere are unchanged. */
  fieldset[data-cep-form] label { display: block; width: 100%; margin: 6px 0; overflow-wrap: normal; word-break: normal; }
  fieldset[data-cep-form] .cep-status { grid-column: 1 / -1; order: 1; padding-top: 0; }
  fieldset[data-cep-form] .cep-status:empty { display: none; }

  input[type=checkbox], input[type=radio] { flex: none; accent-color: var(--brand-teal); }
  .button, button, summary.button { min-width: 44px; min-height: 44px; max-width: 100%; height: auto; padding: 10px 16px; white-space: normal; overflow-wrap: anywhere; line-height: 1.45; text-align: center; }
  .full { min-height: 54px; }
  .link, .small, .whatsapp, [data-copy], .pix button { min-height: 44px; }
  .ui-icon { flex: none; }
  summary { min-height: 44px; }
  .package > label a { display: flex; align-items: center; min-height: 44px; min-width: 0; }
  input[type=file]::file-selector-button { min-height: 44px; min-width: 44px; }
  .bottom-back { width: fit-content; max-width: calc(100% - 2 * var(--screen-gutter)); }
  .actions, .results, .pagination, .user-pagination, .user-tabs { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
  .actions > *, .results > *, .pagination > *, .user-pagination > * { min-width: 0; max-width: 100%; }
  .actions form { display: inline-flex; }
  .actions form button { width: 100%; }
  form > button, form > .button { margin-block: 6px; }
  .flash, .reconnect, .notice, .empty, .pending, .pickup-success { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
  .flash { width: min(1000px, calc(100% - 2 * var(--screen-gutter))); }
  .reconnect { width: min(700px, calc(100% - 2 * var(--screen-gutter))); }

  /* Cabeçalho: uma linha para marca e Menu, navegação medida pelo espaço real. */
  .site-header { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; min-height: 0; padding: 12px var(--screen-gutter); border-bottom: 5px solid var(--orange); background: var(--theme-header, var(--surface)); box-shadow: 0 5px 18px #26262612; position: relative; z-index: 10; }
  .site-header .brand { display: flex; align-items: center; flex: 0 1 220px; max-width: min(220px, calc(100% - 92px)); min-width: 0; margin: 0; text-decoration: none; }
  .site-header .brand img { display: block; width: auto; height: clamp(52px, 6vw, 80px); max-width: 100%; object-fit: contain; object-position: left center; }
  .brand-text { display: block; padding: 0; color: var(--ink); font-size: clamp(.9rem, .8rem + .4vw, 1.1rem); font-weight: 800; line-height: 1.2; }
  .brand-text strong { display: block; color: var(--orange-ink); font-size: 1.5em; text-transform: uppercase; }
  .brand-text small { display: block; color: var(--teal); font-size: .7rem; margin-top: 5px; letter-spacing: .04em; }
  .site-nav { display: flex; flex: 0 1 auto; align-items: center; justify-content: flex-end; flex-wrap: wrap; gap: 8px; min-width: 0; max-width: 100%; }
  .site-nav form { margin: 0; }
  .site-nav button, .site-nav .button { margin: 0; }
  .logged-user { display: block; max-width: 14rem; color: var(--ink); font-weight: 750; white-space: normal; overflow: visible; text-overflow: clip; overflow-wrap: anywhere; }
  .nav-toggle { display: none; flex: none; align-self: center; }
  .site-header.nav-wide .site-nav { display: flex; flex-wrap: nowrap; width: max-content; max-width: none; }
  .site-header.nav-wide .nav-toggle { display: none; }
  .site-header.nav-compact .nav-toggle { display: inline-flex; }
  .site-header.nav-compact .site-nav { display: none; width: 100%; flex: 1 0 100%; padding-top: 8px; }
  .site-header.nav-compact .site-nav.open { display: grid; grid-template-columns: minmax(0, 1fr); }
  .site-header.nav-compact .site-nav > *, .site-header.nav-compact .site-nav form, .site-header.nav-compact .site-nav button { width: 100%; max-width: 100%; }
  .site-header.nav-compact .logged-user { text-align: center; padding: 10px; }
  .site-header.nav-measuring .site-nav { display: flex !important; flex-wrap: nowrap !important; position: absolute !important; width: max-content !important; max-width: none !important; visibility: hidden !important; padding: 0 !important; }
  .site-header.nav-measuring .site-nav > *, .site-header.nav-measuring .site-nav form, .site-header.nav-measuring .site-nav button { width: auto !important; }
  .site-header.nav-measuring .logged-user { max-width: 14rem !important; }

  /* Grades fluidas: nenhum filho força a largura mínima da página. */
  .panel-card, .panel-head { width: min(1180px, calc(100% - 2 * var(--screen-gutter))); margin: 20px auto; }
  .panel-card, .form-card, .login-card, .success-card, .document { padding: clamp(16px, 2.5vw, 32px); }
  .form-card, .success-card, .document { width: min(820px, calc(100% - 2 * var(--screen-gutter))); margin: 28px auto; }
  .login-card { width: min(480px, calc(100% - 2 * var(--screen-gutter))); margin: 28px auto; }
  .home-section { width: min(1180px, 100%); padding-inline: var(--screen-gutter); margin: clamp(32px, 5vw, 64px) auto; }
  .two, .three, .details-grid, .cards, .package-grid, .steps-grid, .price-grid, .photo-grid, .settings-grid, .blog-grid, .banner-admin-grid, .tutorial-grid, .metric-grid, .alert-cards, .theme-fields { display: grid; gap: var(--screen-gap); }
  .two { grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); }
  .three, .details-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
  .cards, .package-grid, .steps-grid, .price-grid, .photo-grid, .settings-grid, .blog-grid, .banner-admin-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); }
  .tutorial-grid, .metric-grid, .alert-cards, .theme-fields { grid-template-columns: repeat(auto-fit, minmax(min(100%, 180px), 1fr)); }
  :is(.two,.three,.details-grid,.cards,.package-grid,.steps-grid,.price-grid,.photo-grid,.settings-grid,.blog-grid,.banner-admin-grid,.tutorial-grid,.metric-grid,.alert-cards,.theme-fields) > * { min-width: 0; max-width: 100%; }
  .hero { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); padding: 36px var(--screen-gutter); gap: var(--screen-gap); }
  .hero-card { display: block; }
  .info-grid { width: min(1100px, calc(100% - 2 * var(--screen-gutter))); grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); margin: 20px auto; }
  .package-grid > div { padding: 12px; }
  .details-grid p { margin-block: 0; }
  .search { display: flex; gap: 10px; flex-wrap: wrap; align-items: end; }
  .search > input, .search-field { flex: 1 1 240px; min-width: 0; }
  .metric-filters { display: flex; flex-wrap: wrap; gap: 12px; align-items: end; }
  .metric-filters label { flex: 1 1 180px; }
  .metric-filters button { flex: 0 1 auto; }
  .metric-bar, .panel-head, .location-card { gap: var(--screen-gap); flex-wrap: wrap; }
  .metric-bar > *, .panel-head > *, .location-card > * { min-width: 0; max-width: 100%; }
  .panel-head > div { flex: 1 1 300px; }
  .pix { flex: 0 1 380px; max-width: 100%; }
  .pix b, .receipt-fields, .terms-text, #delivery-recipient, #delivery-address { overflow-wrap: anywhere; word-break: normal; }
  .terms-text { max-width: 100%; white-space: pre-wrap; }
  .totals { max-width: 100%; width: 340px; }
  .totals p { flex-wrap: wrap; gap: 8px; }
  .qr-code { width: min(280px, 100%); max-width: 100%; height: auto; }
  #pix-code { min-height: 9rem; font-size: 16px; line-height: 1.5; white-space: pre-wrap; overflow-wrap: anywhere; word-break: break-all; }
  .signature { display: block; width: 100%; max-width: 700px; height: auto; touch-action: none; }
  .saved-signature { height: auto; object-fit: contain; }

  /* Tabelas mantêm colunas e rolam só dentro da região identificada. */
  .table-scroll, .users-management .table-scroll { display: block; width: 100%; max-width: 100%; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; }
  .table-scroll table { min-width: 560px; width: 100%; }
  .table-scroll th, .table-scroll td { overflow-wrap: anywhere; vertical-align: top; }
  .users-management td:last-child { min-width: 230px; }
  .users-management th:first-child, .users-management td:first-child { min-width: 136px; }
  .users-management th:nth-child(2), .users-management td:nth-child(2) { min-width: 224px; }
  .users-management th:nth-child(3), .users-management td:nth-child(3) { min-width: 160px; }
  .users-management th:nth-child(4), .users-management td:nth-child(4) { min-width: 112px; }
  .team-create summary { max-width: 100%; white-space: normal; }

  /* Indicadores com alvo de toque de 44px, mantendo o ponto visual pequeno. */
  .banner-controls { flex-wrap: wrap; }
  .banner-controls [data-slide-to], .banner-controls [data-slide-to][aria-current=true] { width: 44px; height: 44px; min-width: 44px; min-height: 44px; padding: 16px; background: transparent; }
  .banner-controls [data-slide-to]::before { content: ''; display: block; flex: none; width: 12px; height: 12px; border-radius: 50%; background: var(--line); }
  .banner-controls [data-slide-to][aria-current=true]::before { background: var(--orange); }
  .main-service-banner .banner-slide img { width: 100%; height: 100%; object-fit: contain; }

  .support-float { position: fixed; display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; min-height: 56px; padding: 0; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 50; border-radius: 50%; background: transparent; box-shadow: none; }
  .support-float img { width: 100%; height: auto; display: block; clip-path: circle(50%); filter: drop-shadow(0 3px 5px #26262626); }
  .support-float span { position: absolute; right: 64px; white-space: nowrap; padding: 8px 12px; border-radius: 8px; background: var(--footer); color: var(--footer-ink); visibility: hidden; opacity: 0; }
  .support-float:hover span, .support-float:focus-visible span { visibility: visible; opacity: 1; }
  .support-float[data-control-overlap] { visibility: hidden; pointer-events: none; }
  footer { padding: 28px var(--screen-gutter); }
}

/* Sem JS, o tablet já recebe a navegação recolhida; a medição pode expandi-la. */
@media screen and (max-width: 64rem) {
  .site-header:not(.nav-wide) .nav-toggle { display: inline-flex; }
  .site-header:not(.nav-wide) .site-nav { display: none; width: 100%; flex: 1 0 100%; }
  .site-header:not(.nav-wide) .site-nav.open { display: grid; }
}

@media screen and (max-width: 47.99rem) {
  .site-header { gap: 10px; padding-block: max(10px, env(safe-area-inset-top)) 10px; }
  .site-header .brand { flex-basis: 190px; }
  .site-header .brand img { height: 60px; }
  .two, .three, .details-grid { grid-template-columns: minmax(0, 1fr); }
  .panel-head { align-items: stretch; }
  .pix { flex-basis: 100%; margin-top: 0; }
  .actions > * { flex: 1 1 180px; }
  .actions .button, .actions button { width: 100%; }
  .search > *, .metric-filters > * { flex-basis: 100%; }
  .location-card { align-items: stretch; flex-direction: column; }
  .location-card .button { width: 100%; }
  .user-tabs a { padding: 10px; min-width: 0; }
  .team-create summary { width: 100%; }
  .users-management .table-scroll { overflow: visible; }
  .users-management .table-scroll table { min-width: 0; }
  .users-management table, .users-management tbody, .users-management tr, .users-management td { display: block; width: 100%; }
  .users-management thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
  .users-management tbody tr { margin: 16px 0; border: 1px solid var(--line); border-radius: 12px; padding: 12px; }
  .users-management .table-scroll td, .users-management td:last-child { min-width: 0; padding: 8px 0; border: 0; }
  .users-management td[data-label]::before { content: attr(data-label); display: block; color: var(--teal); font-size: .875rem; font-weight: 800; margin-bottom: 4px; }
  .support-float { width: 48px; height: 48px; min-height: 48px; right: max(12px, env(safe-area-inset-right)); bottom: max(12px, env(safe-area-inset-bottom)); }
  .support-float span { display: none; }
}

@media print {
  .nav-toggle, .support-float { display: none !important; }
}

/* Cartões: uma única moldura estável, com imagens completas de qualquer proporção. */
@media screen {
  .explanatory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--screen-gap); }
  .explanatory-grid article { display:flex; flex-direction:column; background:var(--surface,#fff); border-radius:18px; padding:12px; text-align:center; }
  .explanatory-grid article > h3 { margin:0 0 12px; }
  .explanatory-open { display:block; margin-top:auto; width:100%; color:var(--text,#262626); text-decoration:none; border-radius:12px; }
  .explanatory-open:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
  .explanatory-open picture { display:flex; align-items:center; justify-content:center; aspect-ratio:2/3; width:100%; background:var(--soft,#f2faf9); border-radius:12px; }
  .explanatory-open img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; margin:0; padding:0; }
  .explanatory-open span { display:block; padding:12px 0; text-decoration:underline; }
  .explanatory-open .enlarge-touch { display:none; }
  .explanatory-admin-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:var(--screen-gap); }
  .explanatory-admin-preview { display:block; width:100%; height:260px; object-fit:contain; margin-bottom:16px; }
  .card-lightbox { width:min(1000px,calc(100% - 24px)); max-width:calc(100% - 24px); max-height:calc(100dvh - 24px); padding:16px; border:0; border-radius:16px; color:var(--text,#262626); background:var(--surface,#fff); overflow:auto; }
  .card-lightbox::backdrop { background:#000b; }
  .card-lightbox-content { display:flex; flex-direction:column; align-items:center; gap:12px; }
  .card-lightbox [data-card-close] { align-self:flex-end; flex:none; }
  .card-lightbox h2 { font-size:1.2rem; margin:0; }
  .card-lightbox img { display:block; max-width:100%; max-height:calc(100dvh - 180px); width:auto; height:auto; object-fit:contain; }
}
@media screen and (max-width:64rem) { .explanatory-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media screen and (max-width:47.99rem) { .explanatory-grid { grid-template-columns:minmax(0,1fr); } .explanatory-admin-grid { grid-template-columns:minmax(0,1fr); } }
@media (pointer:coarse) { .explanatory-open .enlarge-desktop { display:none; } .explanatory-open .enlarge-touch { display:block; } }

@media screen {
  .site-header .header-signup { display:inline-flex; align-items:center; justify-content:center; flex:none; border:1px solid #d43f00; border-radius:12px; background:#d43f00; color:#fff; font-weight:800; white-space:nowrap; }
  .site-header .header-signup:hover { background:#c43b00; border-color:#c43b00; }
  .site-header .signup-mobile { display:none; }
  .site-header.nav-compact.has-signup { gap:8px; }
  .site-header.nav-compact.has-signup .brand { flex:1 1 80px; max-width:220px; }
  .site-header.nav-compact .signup-mobile { display:inline-flex; padding:9px 10px; font-size:14px; }
  .site-header.nav-compact .signup-mobile .ui-icon { width:18px; height:18px; margin-right:5px; }
  .site-header.nav-compact.has-signup .nav-toggle { padding:9px 10px; font-size:14px; }
  .site-header.nav-compact .site-nav .signup-desktop { display:none; }
  .site-header.nav-measuring .site-nav .signup-desktop { display:inline-flex; }
  .site-header.nav-compact.has-signup .brand-text { font-size:12px; }
  .site-header.nav-compact.has-signup .brand-text strong { font-size:clamp(13px,3.6vw,18px); white-space:nowrap; }
  .site-header.nav-compact.has-signup .brand-text small { font-size:9px; line-height:1.2; }
  #cadastro { scroll-margin-top:20px; }
}

@media screen {
  .store-marquee { width:100%; min-width:0; overflow:hidden; margin:24px 0; padding:8px 0; background:#fff; border-radius:12px; mask-image:linear-gradient(to right,transparent,#000 4%,#000 96%,transparent); }
  .store-marquee:focus-visible { outline:3px solid var(--orange); outline-offset:4px; }
  .store-track { display:flex; width:max-content; animation:stores-left 65s linear infinite; }
  .store-group { display:flex; flex:none; align-items:center; list-style:none; gap:24px; margin:0; padding:0 24px 0 0; }
  .store-group li { display:flex; align-items:center; justify-content:center; flex:none; width:160px; height:80px; padding:8px; }
  .store-group img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; }
  .store-marquee:hover .store-track, .store-marquee:focus-within .store-track { animation-play-state:paused; }
}
@keyframes stores-left { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@media (prefers-reduced-motion:reduce) {
  .store-track { animation:none; width:100%; transform:none; }
  .store-group { display:grid; width:100%; grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr)); gap:16px; padding:0; }
  .store-group li { width:100%; }
  .store-group[aria-hidden=true] { display:none; }
  .store-marquee { mask-image:none; }
}
@media screen {
  .store-logo-tiktok-shop { background:#111; border-radius:10px; }
  .store-logo-renner, .store-logo-centauro { background:#e21c2a; border-radius:10px; }
}
@media screen {
  .google-signin { display:flex; align-items:center; justify-content:center; gap:12px; background:#fff; color:#262626; border:1px solid #747775; font-weight:600; }
  .google-signin svg { flex:none; }
  .google-signin:hover { background:#f3f5f5; }
}
@media screen {
  .footer-documents { display:flex; flex-wrap:wrap; gap:8px 12px; align-items:center; justify-content:center; margin:0 0 18px; }
  .footer-documents a { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:8px; color:var(--footer-ink,#fff); text-decoration:underline; text-underline-offset:3px; }
  .footer-documents a:hover, .footer-documents a:focus-visible { color:var(--footer-ink,#fff); outline:2px solid currentColor; outline-offset:2px; }
  .privacy-document h2 { margin-top:28px; }
  .privacy-document p, .privacy-document li { line-height:1.75; }
  .privacy-document code { white-space:normal; overflow-wrap:anywhere; }
}

/* Immutable revision identifiers must fit even at 320 px. */
.contract-revision { overflow-wrap: anywhere; word-break: break-word; }

/* Consent controls retain a stable hit area and alignment on narrow screens. */
form .acceptance-check { display:flex; align-items:flex-start; gap:12px; min-height:44px; margin:20px 0; line-height:1.5; cursor:pointer; }
.acceptance-check input[type=checkbox] { appearance:none; -webkit-appearance:none; display:grid; place-content:center; flex:0 0 24px; width:24px; height:24px; padding:0; margin:0; border:2px solid #52645b; border-radius:5px; background:#fff; }
.acceptance-check input[type=checkbox]:checked { background:#167348; border-color:#167348; }
.acceptance-check input[type=checkbox]:checked::after { content:''; width:11px; height:6px; border:solid white; border-width:0 0 3px 3px; transform:rotate(-45deg); margin-top:-3px; }
.acceptance-check span { flex:1; min-width:0; }
.acceptance-form > .clear-signature { margin-top:10px; }
.email-status { margin:12px 0; overflow-wrap:anywhere; }
.email-status:empty { margin:0; }
.email-status.success { color:#116843; background:#def5e9; padding:12px; border-radius:9px; }
.email-status.error { color:#9a2416; background:#fee7e3; padding:12px; border-radius:9px; }
@media (forced-colors: active) { .acceptance-check input[type=checkbox] { appearance:auto; } }

/* Blog: one continuous reading column; icons occupy heading lines only. */
.blog-reading { max-width:860px; padding:clamp(18px,4vw,46px); background:#fff; }
.blog-reading .article-body { max-width:none; font-size:clamp(16px,1.2vw,18px); line-height:1.8; }
.blog-reading .blog-introduction { font-size:1.1rem; line-height:1.75; }
.blog-reading .blog-section { margin-top:2rem; }
.blog-reading .blog-heading { display:flex; align-items:flex-start; gap:12px; line-height:1.35; scroll-margin-top:24px; margin-bottom:18px; }
.blog-heading span { min-width:0; overflow-wrap:anywhere; }
.blog-heading-icon { display:block; flex:0 0 28px; width:28px; height:28px; margin-top:2px; object-fit:contain; }
.blog-reading .article-body ul,.blog-reading .article-body ol { padding:0 0 0 1.6em; background:transparent; border-radius:0; }
.blog-reading .article-body li { margin-block:8px; }
.blog-reading .article-body p,.blog-reading .article-body a { overflow-wrap:anywhere; }
.blog-toc { margin:24px 0; padding:16px 20px; background:var(--teal-soft); border:1px solid var(--line); border-radius:14px; }
.blog-toc summary { font-weight:800; min-height:44px; cursor:pointer; }
.blog-toc a { display:inline-block; padding-block:8px; }
.blog-toc .toc-level-3 { margin-left:1em; }
.blog-icon-library,.blog-custom-icons { margin:22px 0; padding:16px; border:1px solid var(--line); border-radius:14px; }
.blog-icon-library>summary,.blog-custom-icons>summary { cursor:pointer; font-weight:800; min-height:44px; }
.blog-icon-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,235px),1fr)); gap:10px; margin:14px 0; }
.blog-icon-choice { min-width:0; border:1px solid var(--line); border-radius:12px; padding:8px; }
.blog-icon-choice>button:first-child { display:flex; justify-content:flex-start; gap:12px; width:100%; text-align:left; background:var(--surface); padding:8px; }
.blog-icon-choice img { flex:none; width:28px; height:28px; object-fit:contain; }
.blog-icon-choice span { min-width:0; overflow-wrap:anywhere; }
.blog-icon-choice small { display:block; font-size:12px; font-weight:400; }
.blog-custom-preview { width:128px; height:128px; object-fit:contain; display:block; margin:16px 0; background:var(--teal-soft); border:1px solid var(--line); }
form .blog-option { display:flex; align-items:flex-start; gap:10px; line-height:1.5; min-height:44px; }
.blog-option input[type=checkbox] { display:inline-block; flex:none; width:22px; height:22px; margin:0; }
.blog-preview-dialog { width:calc(100% - 24px); max-width:960px; max-height:calc(100dvh - 24px); padding:0; border:1px solid var(--line); border-radius:16px; background:#fff; color:var(--ink); }
.blog-preview-dialog::backdrop { background:#26262688; }
.blog-preview-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px; padding:16px; border-bottom:1px solid var(--line); }
.blog-preview-toolbar h2 { font-size:1rem; margin:0; }
.blog-preview-dialog .blog-article { margin:16px auto; box-shadow:none; }
@media print { .blog-toc,.blog-preview-toolbar { display:none; } }

/* Optional blog covers use their natural proportions, above the title. */
.blog-article>.article-cover { width:100%; height:auto; max-height:none; object-fit:contain; margin:0 0 24px; }
.blog-cover-editor { min-width:0; margin:22px 0; padding:16px; border:1px solid var(--line); border-radius:14px; }
.blog-cover-editor .blog-cover-preview { display:block; width:100%; object-fit:contain; }
form .blog-cover-option { display:flex; align-items:flex-start; gap:10px; min-height:44px; line-height:1.5; }
.blog-cover-option input[type=checkbox] { display:inline-block; flex:none; width:22px; height:22px; margin:0; }

/* ME GUARDE Mais: shared responsive payment and credit presentation. */
.plan-panel{overflow-wrap:anywhere}.plan-logo{display:block;width:240px;max-width:100%;height:auto;object-fit:contain;margin-bottom:1rem}
.plan-balance strong{font-size:2rem}.plan-checkout{max-width:36rem;display:grid;gap:1rem}.plan-checkout fieldset{min-width:0;padding:1rem;border:1px solid var(--border,#ccc);border-radius:12px}.plan-checkout fieldset[hidden]{display:none}
.plan-checkout label:not(.plan-consent){display:grid;gap:.4rem}.plan-checkout input,.plan-checkout select,.plan-pix textarea{max-width:100%;width:100%;min-width:0;font-size:16px;box-sizing:border-box}
.plan-consent{display:flex;align-items:flex-start;gap:.7rem;line-height:1.5}.plan-consent input{width:24px;height:24px;flex:0 0 24px;accent-color:#13834b}.plan-pix{max-width:36rem}.plan-pix img{display:block;max-width:100%;height:auto;margin:1rem auto}.plan-pix textarea{overflow-wrap:anywhere;word-break:break-all}.plan-panel form{margin-bottom:1rem}

/* Public pricing uses the same server rules as billing; no flattened artwork. */
.payment-options{--offer-accent:var(--orange,#ff5100);--offer-teal:var(--teal,#008c95);--offer-soft:var(--teal-soft,#d4f7f5);overflow-wrap:anywhere}
.payment-options>h2{text-align:center;font-size:clamp(1.9rem,4.3vw,3.5rem);line-height:1.15;margin:0 0 1.5rem;color:var(--ink,#292929)}
.payment-section-label{display:flex;align-items:center;gap:.7rem;margin:1rem 0 .7rem}.payment-section-label:after{content:"";height:3px;flex:1;background:var(--offer-teal);border-radius:2px}.payment-section-label span{background:var(--offer-teal);color:#fff;padding:.25rem 1.4rem;border-radius:18px;font-size:clamp(1.05rem,2.1vw,1.6rem);letter-spacing:.04em}
.monthly-offer{display:grid;grid-template-columns:1fr 1fr;gap:1.7rem;border:3px solid var(--offer-accent);border-radius:26px;background:white;padding:1.5rem;box-shadow:0 4px 12px #29292912}.monthly-summary,.monthly-benefits{min-width:0}.monthly-summary{display:grid;align-content:start;gap:.9rem}.monthly-brand{display:block;width:100%;height:auto;max-height:180px;object-fit:contain}.monthly-brand-text{text-align:center;font-size:clamp(2rem,4vw,3rem);font-weight:900;color:var(--ink,#292929);line-height:1.15}.monthly-brand-text sup{color:var(--offer-accent)}.monthly-brand-text small{display:block;font-size:1rem;letter-spacing:.2em;margin-top:.4rem}
.monthly-price{background:#fff0e3;border-radius:20px;text-align:center;padding:.6rem}.monthly-price p{margin:0 0 .4rem;color:var(--orange-ink,#c53c00);font-weight:800}.monthly-price strong{font-size:clamp(2rem,4.8vw,4rem);line-height:1.1}.monthly-price p>span{font-size:clamp(1.15rem,2.5vw,2rem)}.monthly-saving{display:inline-flex;gap:.5rem;align-items:center;background:var(--orange-ink,#c53c00);color:#fff;border-radius:28px;padding:.4rem .8rem;font-size:clamp(.9rem,1.7vw,1.4rem)}.monthly-saving .ui-icon{width:1.7em;height:1.7em}
.monthly-includes{display:flex;align-items:center;gap:1rem;background:var(--offer-soft);padding:.8rem;border-radius:18px}.monthly-includes>.ui-icon{flex:0 0 48px;width:48px;height:48px;color:var(--offer-teal)}.monthly-includes p{margin:0;border-left:2px solid #919899;padding-left:1rem;line-height:1.4}
.monthly-benefits{border-left:2px solid #d4d6d8;padding-left:1.7rem;display:flex;flex-direction:column}.monthly-benefits h4{margin:0 0 .7rem;font-size:clamp(1.4rem,2.4vw,2rem);color:#007d85;background:var(--offer-soft);border-radius:25px;text-align:center;padding:.3rem}.monthly-benefits ul{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.65rem}.monthly-benefits li{display:flex;align-items:center;gap:1rem;font-size:clamp(1rem,1.6vw,1.3rem);font-weight:700;line-height:1.3}.monthly-benefits li>.ui-icon{flex:0 0 36px;width:36px;height:36px;color:var(--offer-teal)}.monthly-subscribe{width:100%;justify-content:center;margin-top:auto;font-size:clamp(1.25rem,2.5vw,2rem);min-height:52px;box-sizing:border-box;text-align:center}.monthly-footnote{text-align:center;font-size:.95rem;margin:.65rem 0 1rem}.payment-or{display:flex;align-items:center;gap:1rem;color:white;font-size:1.4rem;font-weight:800}.payment-or:before,.payment-or:after{content:"";flex:1;height:3px;background:var(--offer-teal)}.payment-or span{background:var(--offer-teal);padding:0 1.5rem;border-radius:24px}
.single-package-prices{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}.single-package-prices article{display:flex;align-items:center;gap:1rem;border:2px solid #cbd0d5;border-radius:20px;background:#fff;padding:1rem;min-width:0}.single-package-prices article>.ui-icon{flex:0 0 64px;width:64px;height:64px;color:var(--offer-teal);background:var(--offer-soft);border-radius:16px;padding:.5rem}.single-package-prices article>div{min-width:0;border-left:2px solid #a5a7ad;padding-left:1rem}.single-package-prices h4{margin:0;font-size:1.5rem}.single-package-prices p{margin:.2rem 0;line-height:1.4}.single-package-value{font-weight:800;color:var(--orange-ink,#c53c00)}.single-package-value strong{font-size:1.9rem}.package-limits-note{text-align:center;font-size:.95rem}.payment-at-pickup{display:flex;align-items:center;justify-content:center;gap:.7rem;text-align:center;font-size:1.15rem}.payment-at-pickup>.ui-icon{width:36px;height:36px;flex:0 0 36px;color:var(--offer-teal)}
@media(max-width:767px){.monthly-offer{grid-template-columns:1fr;padding:1rem;gap:1.1rem;border-radius:20px}.monthly-benefits{border-left:0;border-top:2px solid #d4d6d8;padding:1rem 0 0}.single-package-prices{grid-template-columns:1fr}.single-package-prices article{gap:.7rem;padding:.8rem}.single-package-prices article>.ui-icon{flex-basis:48px;width:48px;height:48px}.single-package-prices article>div{padding-left:.7rem}.monthly-includes{gap:.6rem}.monthly-includes p{padding-left:.6rem}.monthly-includes>.ui-icon{flex-basis:36px;width:36px;height:36px}.payment-section-label span{padding:.3rem .9rem}.monthly-saving{padding:.4rem .6rem}.monthly-brand{max-height:150px}}

.monthly-subscribe,.monthly-subscribe:hover,.monthly-subscribe:focus-visible{color:#fff}

.customer-area{max-width:1180px;margin:auto;padding-inline:var(--screen-gutter,12px)}.customer-area-menu{margin:1rem 0}.customer-area-menu>summary{display:none}.customer-tabs{display:flex;gap:8px;flex-wrap:wrap}.customer-tabs a{gap:6px;flex:1 1 auto}.customer-tab[hidden]{display:none!important}.customer-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.customer-metrics article{padding:1.2rem;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--brand-teal);border-radius:16px;display:grid;gap:.5rem}.customer-metrics strong{font-size:2rem;color:var(--orange-ink)}.customer-metrics h3{margin:0}.customer-area progress{width:100%;height:24px;accent-color:var(--brand-teal)}.payment-method-options{display:flex;gap:1rem;flex-wrap:wrap}.payment-method-options label{display:flex;align-items:center;gap:.5rem;min-height:44px}.payment-method-options input{width:24px;height:24px}.payment-qr{display:block;max-width:min(260px,100%);height:auto;margin:1rem auto}.customer-area .panel-card{max-width:100%}
@media(max-width:767px){.customer-area-menu>summary{display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--teal-soft);font-weight:700}.customer-tabs{display:grid;grid-template-columns:1fr;padding-top:8px}.customer-metrics{grid-template-columns:1fr}.customer-tabs a{justify-content:flex-start}}

.plan-savings table{width:100%;min-width:0;table-layout:fixed}.plan-savings th,.plan-savings td{white-space:normal;overflow-wrap:anywhere;padding:.6rem .25rem}.saving-percent{color:#14532d;background:#eaf7ec;padding:.2rem .35rem;border-radius:.4rem;font-weight:700}.plan-savings .table-scroll{max-width:100%}@media(max-width:430px){.plan-savings th,.plan-savings td{font-size:.875rem}}

.settings-hub-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:stretch}.settings-hub-grid .settings-card{display:flex;flex-direction:column;gap:10px;margin:0;padding:18px;min-width:0;border-radius:14px;text-decoration:none;color:var(--ink);height:100%;overflow-wrap:normal;word-break:normal;font-size:1rem;line-height:1.5}.settings-hub-grid .settings-card b{display:flex;align-items:flex-start;gap:8px;font-size:1.05rem;line-height:1.35}.settings-hub-grid .ui-icon{flex:none;width:24px;height:24px}.settings-hub-grid .settings-card:focus-visible,.section-tabs a:focus-visible{outline:3px solid var(--orange-ink,#b63b00);outline-offset:4px}.settings-hub-grid .settings-card:hover{transform:none}.section-tabs{margin-bottom:20px}.metrics-chart{margin-block:24px}.metrics-chart svg{display:block;width:min(300px,100%);height:auto;margin:20px auto}.chart-row{display:grid;grid-template-columns:minmax(80px,auto) minmax(0,1fr) auto;gap:10px;align-items:center;margin:8px 0}.chart-track{height:20px;background:var(--line);border-radius:5px;overflow:hidden}.chart-fill{display:block;height:100%;background:var(--orange,#ff5100)}.chart-legend{list-style:none;padding:0}.chart-legend li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:10px 0}.chart-key{display:inline-block;width:16px;height:16px;border-radius:3px;flex:none}@media(max-width:1100px){.settings-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.settings-hub-grid{grid-template-columns:minmax(0,1fr)}}
/* Abas da Área do Ponto: largura pelo conteúdo e margens alinhadas ao painel. */
.section-tabs,.payment-scope-tabs,.user-tabs{display:flex;flex-wrap:wrap;align-items:stretch;gap:8px;width:100%;margin-inline:0;padding-inline:0}
.section-tabs>.button,.payment-scope-tabs>.button,.user-tabs>a{flex:0 1 auto;width:auto;min-height:46px;margin:0;display:inline-flex;justify-content:center;align-items:center;gap:8px;white-space:normal;overflow-wrap:normal;word-break:normal}
.payment-order-table{width:100%;min-width:0;table-layout:fixed;border-collapse:collapse;margin-block:18px}.payment-order-table .order-col{width:26%}.payment-order-table .method-col{width:24%}.payment-order-table .amount-col{width:18%}.payment-order-table .active-col{width:14%}
.payment-order-table th,.payment-order-table td{padding:12px 8px;vertical-align:middle;border-bottom:1px solid var(--line);overflow-wrap:normal;word-break:normal;white-space:normal}.payment-order-table thead th{background:#e8f4fc;color:var(--ink);text-align:left}.payment-order-table thead th:nth-child(3),.payment-order-table thead th:nth-child(4),.payment-order-table td[data-label="Mínimo"],.payment-order-table td[data-label="Máximo"]{text-align:right}.payment-order-table thead th:last-child,.payment-order-table .payment-enabled{text-align:center}.payment-order-table input[inputmode=decimal]{text-align:right;margin:0;padding:10px 8px}.payment-method-name{text-align:left;font-weight:700}
.order-controls,.order-move{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.order-move .button{padding:8px 10px}.payment-grip{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:6px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--ink);cursor:grab}.payment-grip:active{cursor:grabbing}.payment-order-number{display:none;font-weight:700;min-width:18px}.order-ready .payment-order-number{display:inline}.order-ready .priority-fallback{display:none}.payment-order-table .is-dragging{opacity:.55}.payment-grip:focus-visible,.order-move button:focus-visible{outline:3px solid var(--orange-ink,#b63b00);outline-offset:2px}
.payment-switch{position:relative;display:inline-flex;justify-content:center;align-items:center;min-width:52px;min-height:44px;margin:0}.payment-switch input[type=checkbox]{position:absolute;opacity:0;width:46px;height:28px;margin:0}.payment-switch>span{width:46px;height:26px;background:#667580;border-radius:20px;pointer-events:none}.payment-switch>span:after{content:"";display:block;width:20px;height:20px;margin:3px;background:#fff;border-radius:50%;transform:translateX(0)}.payment-switch input:checked+span{background:#15803d}.payment-switch input:checked+span:after{transform:translateX(20px)}.payment-switch input:focus-visible+span{outline:3px solid var(--orange-ink,#b63b00);outline-offset:3px}
.payment-copy-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.payment-copy-grid .payment-copy-card{margin:0;min-width:0}.payment-copy-card label{display:block;margin:10px 0}.payment-copy-card textarea{min-height:120px}.payment-order-table button:disabled{opacity:.45;cursor:default}
@media(max-width:1000px){.payment-copy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:800px){.payment-order-table,.payment-order-table tbody{display:block}.payment-order-table colgroup{display:none}.payment-order-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.payment-order-table tbody{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.payment-order-table tr{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;border:1px solid var(--line);border-radius:12px;padding:14px;min-width:0}.payment-order-table th,.payment-order-table td{display:block;border:0;padding:0;min-width:0}.payment-order-table [data-label]:before{content:attr(data-label);display:block;font-size:.875rem;font-weight:600;margin-bottom:6px;text-align:left}.payment-order-table td[data-label="Ordem"],.payment-order-table th[scope=row]{grid-column:1/-1}.payment-order-table .payment-enabled{text-align:left}.payment-order-table td[data-label="Mínimo"],.payment-order-table td[data-label="Máximo"]{text-align:right}}
@media(max-width:600px){.payment-copy-grid,.payment-order-table tbody{grid-template-columns:minmax(0,1fr)}.section-tabs>.button,.payment-scope-tabs>.button,.user-tabs>a{max-width:100%}}

.section-tabs{width:min(1180px,calc(100% - 2 * var(--screen-gutter,12px)));margin:20px auto;padding-inline:calc(clamp(16px,2.5vw,32px) + 1px)}
.payment-settings .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
.payment-order-table .payment-grip,.payment-order-table .order-move{display:none}.payment-order-table .order-ready .payment-grip{display:inline-flex}.payment-order-table .order-ready .order-move{display:flex}.payment-grip svg{fill:currentColor}
@media(max-width:430px){.payment-order-table tr{grid-template-columns:minmax(0,1fr)}}
/* Shared readable controls and scoped pending-action layout; financial forms stay intact. */
body{font-size:16px;line-height:1.55}button,input,select,textarea{font-size:1rem}.button .ui-icon,button .ui-icon,.section-tabs .ui-icon{width:22px;height:22px;flex:none;vertical-align:middle}h1>.ui-icon,h2>.ui-icon{width:26px;height:26px;flex:none;vertical-align:middle}.button,button{display:inline-flex;align-items:center;justify-content:center;gap:8px}.button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--orange-ink,#b63b00);outline-offset:3px}
.actions-admin-layout{width:min(1180px,calc(100% - 2 * var(--screen-gutter,12px)));margin:20px auto}.actions-admin-layout>.panel-card,.actions-admin-layout>.form-card{width:100%;max-width:none;margin:0 0 20px}.actions-admin-layout .package-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:16px}.actions-admin-layout h1,.actions-admin-layout h2,.actions-admin-layout p,.actions-admin-layout label{word-break:normal;overflow-wrap:break-word}.actions-admin-layout h1{display:flex;align-items:center;gap:10px}.actions-admin-layout h1 .ui-icon{flex:none}.actions-admin-layout .package .button{margin:4px 4px 4px 0}.actions-admin-layout fieldset label{display:block;width:100%;margin:8px 0}.actions-admin-layout label.action-checkbox{display:flex;align-items:flex-start;gap:8px;width:100%;margin:8px 0}.actions-admin-layout fieldset label input[type=checkbox]{flex:none;margin-top:4px}.actions-admin-layout .terms-text{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.actions-admin-layout fieldset{min-width:0}.payment-grip{touch-action:none;user-select:none;-webkit-user-select:none}.payment-grip.touch-dragging{outline:3px solid var(--brand-teal)}
.actions-admin-layout input[type=checkbox]{width:22px;height:22px;min-width:22px;min-height:22px;padding:0;flex:0 0 22px;margin:3px 0 0}
input[type=checkbox],input[type=radio]{width:22px;height:22px;min-width:22px;padding:0;flex:none}
.registration-callout{background:#e8f4fc;border:1px solid #c3dfef;border-radius:18px;padding:28px;text-align:center;display:flex;justify-content:center}.registration-callout .button{margin:0}.customer-tabs{display:flex!important;flex-wrap:wrap;gap:8px}.customer-tabs>a{flex:0 1 auto;white-space:normal;word-break:normal;overflow-wrap:normal;min-height:46px}.actions,.uniform-actions{align-items:stretch;gap:8px}.actions>.button,.actions>button,.actions>form{margin:0;min-height:44px}.actions>form{display:flex}.actions>form>button{margin:0;height:100%}
.vertical-chart{display:flex;gap:12px;max-width:100%;margin-block:24px}.chart-y-axis{display:flex;flex-direction:column;justify-content:space-between;flex:none;height:220px;margin-top:24px;min-width:32px;text-align:right;font-size:14px}.chart-columns-scroll{min-width:0;flex:1;overflow-x:auto;max-width:100%;overscroll-behavior-inline:contain;padding-top:24px}.chart-columns{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(86px,1fr);gap:12px;border-bottom:1px solid var(--line);width:100%;min-width:max-content}.chart-column{min-width:86px;text-align:center}.column-plot{height:220px;position:relative;border-bottom:1px solid var(--ink);background:repeating-linear-gradient(to top,transparent 0,transparent calc(25% - 1px),var(--line) calc(25% - 1px),var(--line) 25%)}.column-bar{position:absolute;bottom:0;left:20%;width:60%;background:var(--orange);border-radius:5px 5px 0 0}.column-count{position:absolute;left:0;width:100%;font-weight:700;font-size:14px}.column-period{display:block;font-size:14px;line-height:1.4;margin-top:10px;padding-bottom:10px;white-space:nowrap}.chart-columns-scroll:focus-visible{outline:3px solid var(--orange-ink);outline-offset:3px}
@media(max-width:600px){.actions:not(.section-tabs):not(.payment-scope-tabs):not(.user-tabs):not(.public-steps){display:flex;flex-direction:column;align-items:stretch}.actions:not(.section-tabs):not(.payment-scope-tabs):not(.user-tabs)>.button,.actions:not(.section-tabs):not(.payment-scope-tabs):not(.user-tabs)>button,.actions:not(.section-tabs):not(.payment-scope-tabs):not(.user-tabs)>form{width:100%;flex:0 1 auto}.actions>form>button{width:100%}.customer-tabs>a{max-width:100%}}

/* Public header: full navigation on desktop, three actions plus a separate mobile menu. */
@media screen {
 .public-mobile-actions{display:contents}.site-header .login-mobile,.public-client-menu{display:none}
 .site-header .header-login{background:#d43f00;color:#fff;border:1px solid #d43f00;font-weight:800;white-space:nowrap}
 .site-header .header-login:hover{background:#c43b00;color:#fff}
 .public-header.nav-compact .public-mobile-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}
 .public-header.nav-compact .login-mobile{display:inline-flex}
 .public-header.nav-compact .public-client-desktop{display:none}
 .public-header.nav-compact .public-client-menu{display:inline-flex}
 .public-header.nav-compact .site-nav.open{display:grid;grid-template-columns:minmax(0,1fr);width:100%;gap:8px}
 .public-header.nav-compact .site-nav.open>a{width:100%;margin:0}
 .public-header.nav-measuring .public-client-desktop{display:inline-flex}
 .public-header.nav-measuring .public-client-menu{display:none}
}
@media screen and (max-width:47.99rem){
 .public-header .brand{flex:1 0 100%!important;max-width:220px;margin-inline:auto;justify-content:center;text-align:center}
 .public-header .brand img{object-position:center}
 .public-header.nav-compact .public-mobile-actions{width:100%;justify-content:space-between}
 .public-header.nav-compact .public-mobile-actions>a,.public-header.nav-compact .public-mobile-actions>button{flex:1 1 auto;min-width:0;min-height:44px;padding:9px 8px;font-size:14px;gap:4px;white-space:nowrap;margin:0}
 .public-header.nav-compact .public-mobile-actions .ui-icon{width:18px;height:18px;margin:0;flex:none}
}

.code-send-success{color:#116843;font-weight:600}.code-send-error{color:#9a2416;font-weight:600}
