/* Usa a identidade existente; o ajuste e de leitura, toque e estados. */
[data-customer-ui] { overflow-wrap: break-word; }
[data-customer-ui] [hidden] { display: none !important; }
[data-customer-ui] input:not([type="radio"]):not([type="checkbox"]),
[data-customer-ui] select, [data-customer-ui] textarea { font-size: 1rem; max-width: 100%; }
[data-customer-ui] button, [data-customer-ui] summary, .customer-action {
  min-height: 44px; min-width: 44px;
}
.customer-action { display: inline-flex; align-items: center; justify-content: center; }
[data-customer-ui] .text-xs { font-size: .875rem; line-height: 1.5; }
[data-customer-ui] .text-\[11px\] { font-size: .8125rem; line-height: 1.4; }
[data-customer-ui] :focus-visible { outline: 3px solid var(--vera-purple); outline-offset: 3px; }
[data-customer-ui] button:disabled { cursor: not-allowed; }
[data-customer-ui] .app-header-inner { gap: .5rem; }
.header-help { color: inherit; font-size: .875rem; font-weight: 700; padding: .5rem; }
.customer-summary { display: grid; gap: .875rem; }
.customer-summary dt { font-size: .875rem; }
.customer-summary dd { margin-top: .2rem; font-weight: 600; overflow-wrap: anywhere; }
.customer-message { white-space: pre-wrap; overflow-wrap: anywhere; }
.customer-note { font-size: .875rem; line-height: 1.6; }
.customer-help-link { display: inline-flex; align-items: center; min-height: 44px; text-decoration: underline; text-underline-offset: 3px; }
.customer-chats { max-height: min(45vh, 360px); overflow-y: auto; }
.customer-chat { width: 100%; text-align: left; padding: .875rem 1rem; display: flex; gap: .75rem; align-items: center; }
.customer-chat-title { white-space: normal; overflow-wrap: anywhere; }
.customer-chat[aria-pressed="true"] { background: var(--vera-cream); box-shadow: inset 3px 0 0 var(--vera-purple); }
.customer-chat-mark { flex-shrink: 0; width: 1.5rem; height: 1.5rem; border: 1px solid var(--vera-line); border-radius: 50%; }
.customer-chat[aria-pressed="true"] .customer-chat-mark { background: var(--vera-purple); border: 5px solid var(--vera-lilac); }
.customer-dialog { width: min(92vw, 420px); max-height: 85vh; overflow: auto; border: 1px solid var(--vera-line); border-radius: 1rem; padding: 1.5rem; color: var(--vera-ink); background: var(--vera-cream); }
.customer-dialog::backdrop { background: rgba(43, 27, 70, .5); }
.customer-dialog-actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.25rem; }
.customer-dialog-actions button { flex: 1; padding: .75rem; border: 1px solid var(--vera-line); border-radius: .75rem; }
.customer-dialog-actions button:last-child { background: var(--vera-purple); color: white; }
.customer-help details { border: 1px solid var(--vera-line); border-radius: .875rem; background: white; margin-bottom: .75rem; }
.customer-help summary { padding: 1rem; font-weight: 600; }
.customer-help details > div { padding: 0 1rem 1rem; line-height: 1.7; }
.customer-help details > div p + p { margin-top: .75rem; }
.customer-help section { scroll-margin-top: 90px; }
.customer-help details:target { outline: 2px solid var(--vera-purple); outline-offset: 3px; }
.customer-live-region { padding: .875rem 1rem; border: 1px solid var(--vera-line); border-radius: .75rem; margin-bottom: 1rem; background: white; font-size: .9375rem; }
.customer-safe-link { overflow-wrap: anywhere; }
@media (max-width: 640px) {
  [data-customer-ui] .mobile-app-nav a { font-size: .75rem; min-height: 52px; }
  [data-customer-ui] .app-brand { gap: .375rem; min-width: 0; }
  [data-customer-ui] .app-brand span { max-width: 112px; white-space: normal; line-height: 1.2; }
  [data-customer-ui] .app-brand img { width: 30px; height: 30px; flex-shrink: 0; }
  [data-customer-ui] .header-credit { font-size: .8125rem; padding: .4rem .5rem; min-height: 44px; }
  [data-customer-ui] .app-header-inner { padding-left: 12px; padding-right: 12px; }
  .customer-summary { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  [data-customer-ui] *, [data-customer-ui] *::before, [data-customer-ui] *::after {
    scroll-behavior: auto !important; animation: none !important; transition: none !important;
  }
}

/* A navegacao administrativa conserva seu layout. */
[data-mobile-refresh="on"] { --customer-nav-height: 72px; --customer-header-height: 72px; }
[data-mobile-refresh="on"] main { line-height: 1.55; }
[data-mobile-refresh="on"] main label { line-height: 1.5; }
[data-mobile-refresh="on"] .customer-page-heading { flex-wrap: wrap; }
[data-mobile-refresh="on"] .customer-job-card-heading { flex-wrap: wrap; }
[data-mobile-refresh="on"] .customer-job-card-heading > :first-child { min-width: 0; flex: 1 1 200px; }
[data-mobile-refresh="on"] .customer-job-meta { display: grid; gap: .4rem; margin-top: .75rem; }
[data-mobile-refresh="on"] .customer-job-meta p,
[data-mobile-refresh="on"] .customer-job-summary dd { overflow-wrap: anywhere; }
[data-mobile-refresh="on"] .customer-position-number { font-size: clamp(3rem, 12vw, 4rem); font-weight: 750; line-height: 1.05; font-variant-numeric: tabular-nums; margin: .5rem 0; }
[data-mobile-refresh="on"] .customer-review-edits { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
[data-mobile-refresh="on"] .customer-review-edits button { padding: .6rem; border: 1px solid var(--vera-line); border-radius: .75rem; font-size: .875rem; }
[data-mobile-refresh="on"] .customer-alerts > summary,
[data-mobile-refresh="on"] .customer-upcoming > summary,
[data-mobile-refresh="on"] .customer-checks > summary { padding: .75rem 0; cursor: pointer; }
[data-mobile-refresh="on"] .customer-alerts { margin-bottom: 1rem; }
[data-mobile-refresh="on"] .customer-offer input { width: 20px; height: 20px; accent-color: var(--vera-purple); flex-shrink: 0; }
[data-mobile-refresh="on"] .customer-help-shortcuts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
[data-mobile-refresh="on"] .customer-help-shortcuts a { padding: 1rem; border: 1px solid var(--vera-line); border-radius: .875rem; background: white; font-weight: 600; line-height: 1.4; }
[data-mobile-refresh="on"] .customer-progress { scroll-margin-top: calc(var(--customer-header-height) + 1rem); }
[data-mobile-refresh="on"][data-customer-page^="/job/"] #pending-jobs-banner { display: none; }
@media (max-width: 640px) {
  [data-mobile-refresh="on"] .app-header-inner { min-width: 0; gap: .375rem; }
  [data-mobile-refresh="on"] .app-brand { flex: 1 1 auto; }
  [data-mobile-refresh="on"] .app-brand span { max-width: none; font-size: .875rem; }
  [data-mobile-refresh="on"] .app-brand img { width: 26px; height: 26px; }
  [data-mobile-refresh="on"] .header-help { padding: .375rem; flex-shrink: 0; }
  [data-mobile-refresh="on"] .app-header-inner form[action="/logout"] { display: none; }
  [data-mobile-refresh="on"] .header-credit { flex-shrink: 0; gap: .25rem; padding: .4rem; white-space: nowrap; }
  [data-mobile-refresh="on"] .header-credit::before { content: "Saldo"; font-size: .75rem; font-weight: 500; }
  [data-mobile-refresh="on"] .header-credit svg { display: none; }
  [data-mobile-refresh="on"] main .text-sm { font-size: .9375rem; }
  [data-mobile-refresh="on"] main label { font-size: 1rem; }
  [data-mobile-refresh="on"] .customer-page-heading > h1 { flex: 1 1 100%; }
  [data-mobile-refresh="on"] .customer-page-heading > a { width: 100%; }
  [data-mobile-refresh="on"] .customer-job-card-heading > :first-child { flex-basis: 100%; }
  [data-mobile-refresh="on"] .customer-progress { position: static; background: white; padding: .75rem 0; }
  [data-mobile-refresh="on"] .customer-chats { max-height: min(32svh, 300px); }
  [data-mobile-refresh="on"] .customer-step-actions {
    position: static; width: 100%; margin-top: 1rem;
    display: grid; grid-template-columns: auto minmax(0, 1fr); gap: .75rem;
    padding: .75rem 0 0; border-top: 1px solid var(--vera-line);
    background: white;
  }
  [data-mobile-refresh="on"] .customer-step-actions button { min-height: 48px; white-space: normal; line-height: 1.35; }
  [data-mobile-refresh="on"] .customer-step-actions-single { grid-template-columns: minmax(0, 1fr); }
  [data-mobile-refresh="on"] .customer-step-actions-single button { margin-top: 0; }
  [data-mobile-refresh="on"][data-customer-page="/dashboard"] main { padding-bottom: calc(var(--customer-nav-height) + 1.5rem); }
  [data-mobile-refresh="on"].customer-keyboard-open .mobile-app-nav { display: none; }
  [data-mobile-refresh="on"] .customer-review-edits { grid-template-columns: minmax(0, 1fr); }
  [data-mobile-refresh="on"] .customer-offer .text-right { margin-top: .5rem; text-align: left; }
  [data-mobile-refresh="on"] .customer-offer > div { flex-wrap: wrap; }
  [data-mobile-refresh="on"] .customer-offer .text-right { flex-basis: 100%; padding-left: 2rem; }
}
