/*
 * Portal Pai Wesley — Emerald Accessible 5.0
 * Camada visual não destrutiva. Mantém IDs, nomes de campos, rotas e integrações.
 */

:root {
  --pw-emerald-950: #063b2d;
  --pw-emerald-900: #07513c;
  --pw-emerald-800: #086b4d;
  --pw-emerald-700: #07845d;
  --pw-emerald-600: #079f6d;
  --pw-emerald-500: #12b981;
  --pw-emerald-200: #aee7d1;
  --pw-emerald-100: #daf4e9;
  --pw-emerald-50: #effaf5;
  --pw-ink: #153a30;
  --pw-ink-strong: #0d2d25;
  --pw-muted-accessible: #48675e;
  --pw-line: #c5e2d6;
  --pw-surface: #ffffff;
  --pw-surface-soft: #f5fbf8;
  --pw-gold-soft: #d7b86c;
  --pw-danger: #a52e2e;
  --pw-shadow-sm: 0 8px 24px rgba(5, 75, 52, .08);
  --pw-shadow-md: 0 20px 50px rgba(5, 75, 52, .14);
  --pw-radius-sm: 12px;
  --pw-radius-md: 18px;
  --pw-radius-lg: 26px;
  --pw-focus: 0 0 0 4px rgba(7, 159, 109, .24);
}

html,
body,
body.pw-fullpage {
  width: 100%;
  max-width: 100%;
  min-height: 100%;
  overflow-x: hidden !important;
  color: var(--pw-ink) !important;
  background:
    radial-gradient(circle at 8% 4%, rgba(18, 185, 129, .12), transparent 28rem),
    radial-gradient(circle at 94% 18%, rgba(215, 184, 108, .10), transparent 24rem),
    linear-gradient(145deg, #f7fcf9 0%, #e7f5ee 55%, #dcefe6 100%) !important;
  font-family: Inter, Outfit, "Segoe UI", Arial, sans-serif !important;
  font-size: 17px;
  line-height: 1.55;
  -webkit-text-size-adjust: 100%;
  text-rendering: optimizeLegibility;
}

*, *::before, *::after { box-sizing: border-box; }
img, video, iframe, canvas, svg { max-width: 100%; }
button, input, select, textarea { font: inherit; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }

:focus-visible {
  outline: 3px solid var(--pw-emerald-600) !important;
  outline-offset: 3px !important;
}

::selection { background: var(--pw-emerald-200); color: var(--pw-emerald-950); }

/* Fundo vivo e flashes de luz sutis */
.pw-app,
.pw-public-page,
.pw-ritual-page,
.pw-consulta-page {
  isolation: isolate;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.pw-app::before,
.pw-public-page::before,
.pw-ritual-page::before,
.pw-consulta-page::before {
  content: "";
  position: fixed;
  inset: -30%;
  z-index: -1;
  pointer-events: none;
  background: conic-gradient(from 15deg, transparent 0 35%, rgba(255,255,255,.58) 42%, transparent 48% 78%, rgba(18,185,129,.10) 84%, transparent 91%);
  animation: pw-emerald-orbit 26s linear infinite;
}

@keyframes pw-emerald-orbit { to { transform: rotate(1turn); } }
@keyframes pw-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes pw-sheen { 0%, 72% { transform: translateX(-170%) skewX(-18deg); } 100% { transform: translateX(360%) skewX(-18deg); } }
@keyframes pw-soft-pulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(18,185,129,.12); } 50% { box-shadow: 0 0 0 12px rgba(18,185,129,0); } }

.pwfx-aurora,
.ambient-particles { opacity: .35 !important; pointer-events: none !important; }

/* Cabeçalhos públicos */
.pw-header {
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
  padding: clamp(26px, 5vw, 52px) 20px 30px !important;
  background:
    radial-gradient(circle at 50% -40%, rgba(112, 255, 205, .32), transparent 55%),
    linear-gradient(135deg, var(--pw-emerald-950), var(--pw-emerald-800) 58%, #0a7658) !important;
  border-bottom: 1px solid rgba(255,255,255,.2) !important;
  box-shadow: 0 18px 46px rgba(6,59,45,.20) !important;
  color: #fff !important;
}

.pw-header::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -35%;
  width: 22%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.24), transparent);
  transform: skewX(-18deg);
  animation: pw-sheen 8s ease-in-out infinite;
  pointer-events: none;
}

.pw-header .pw-logo,
.pw-logo-container { position: relative; z-index: 1; }

.pw-header .pw-logo img,
.pw-public-logo,
.pw-ficha-logo {
  object-fit: contain !important;
  background: rgba(255,255,255,.96) !important;
  border: 3px solid rgba(255,255,255,.82) !important;
  box-shadow: 0 12px 34px rgba(0,0,0,.22), 0 0 0 7px rgba(255,255,255,.10) !important;
}

.pw-title,
.pw-header h1,
.pw-public-box h1,
.pw-ficha-header h1 {
  color: #fff !important;
  font-family: Cinzel, "Cormorant Garamond", Georgia, serif !important;
  font-weight: 700 !important;
  letter-spacing: .025em !important;
  text-shadow: 0 2px 16px rgba(0,0,0,.18);
}

.pw-subtitle,
.pw-public-subtitle,
.pw-ficha-subtitle {
  color: rgba(255,255,255,.88) !important;
  font-weight: 700 !important;
  letter-spacing: .12em !important;
}

/* Contêineres e cartões */
.pw-container {
  width: min(100% - 28px, 920px) !important;
  max-width: 920px !important;
  min-width: 0 !important;
  margin-inline: auto !important;
  padding: clamp(22px, 4vw, 44px) 0 56px !important;
}

.pw-section,
.pw-card,
.pw-form-card,
.pw-form-section,
.pw-intro-card,
.pw-review-card,
.pw-contract-section,
.pw-success,
.pw-ficha-card,
.pw-public-box,
.pw-modal-box {
  min-width: 0 !important;
  color: var(--pw-ink) !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid var(--pw-line) !important;
  border-radius: var(--pw-radius-md) !important;
  box-shadow: var(--pw-shadow-sm) !important;
}

.pw-section,
.pw-card,
.pw-form-card,
.pw-form-section,
.pw-ficha-card {
  padding: clamp(20px, 4vw, 32px) !important;
  margin-bottom: 20px !important;
  overflow: hidden !important;
  transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease !important;
}

.pw-section:hover,
.pw-card:hover,
.pw-form-card:hover,
.pw-ficha-card:hover {
  transform: translateY(-2px);
  border-color: var(--pw-emerald-200) !important;
  box-shadow: var(--pw-shadow-md) !important;
}

.pw-section-header,
.pw-card-header,
.pw-ficha-card-header {
  align-items: center !important;
  gap: 14px !important;
  padding-bottom: 16px !important;
  margin-bottom: 22px !important;
  border-bottom: 1px solid var(--pw-line) !important;
}

.pw-section-number,
.pw-card-icon,
.pw-ficha-icon,
.pw-step-dot {
  flex: 0 0 auto;
  color: #fff !important;
  background: linear-gradient(145deg, var(--pw-emerald-500), var(--pw-emerald-800)) !important;
  border-color: rgba(255,255,255,.72) !important;
  box-shadow: 0 8px 20px rgba(7,132,93,.24) !important;
}

.pw-section-title,
.pw-card-title,
.pw-form-card h3,
.pw-ficha-card h3,
.pw-contract-title,
.pw-section-title-bar h2,
.pw-page > h1 {
  color: var(--pw-ink-strong) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
}

.pw-card-subtitle,
.pw-help,
.pw-envolve-hint,
.pw-contract-info,
.pw-stat-sub,
.pw-weather-desc,
.pw-clock-city {
  color: var(--pw-muted-accessible) !important;
  font-weight: 550 !important;
}

/* Formulários mais legíveis e fáceis */
.pw-field { min-width: 0 !important; margin-bottom: 22px !important; }
.pw-grid-2, .pw-grid-3 { min-width: 0 !important; gap: 18px !important; }

.pw-label,
.pw-field label:not(.pw-radio):not(.pw-checkbox),
.pw-login-input-group label {
  display: block !important;
  color: var(--pw-ink-strong) !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  letter-spacing: .01em !important;
  margin-bottom: 8px !important;
  text-transform: none !important;
}

.pw-required { color: #a01f2d !important; font-weight: 900 !important; }

.pw-input,
.pw-select,
.pw-textarea,
.pw-form-control,
.pw-login-input,
.pw-crm-textarea,
.pw-link-input,
.pw-filters input,
.pw-filters select,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="date"],
input[type="number"],
input[type="password"],
select,
textarea {
  width: 100%;
  max-width: 100%;
  min-height: 54px !important;
  padding: 14px 16px !important;
  color: #102f27 !important;
  background: #fff !important;
  border: 2px solid #b7d9cb !important;
  border-radius: var(--pw-radius-sm) !important;
  box-shadow: inset 0 1px 2px rgba(6,59,45,.04) !important;
  font-size: 17px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}

textarea,
.pw-textarea,
.pw-crm-textarea { min-height: 128px !important; resize: vertical !important; }

.pw-input::placeholder,
.pw-textarea::placeholder,
input::placeholder,
textarea::placeholder { color: #728d84 !important; opacity: 1 !important; font-weight: 500 !important; }

.pw-input:hover,
.pw-select:hover,
.pw-textarea:hover,
input:hover,
select:hover,
textarea:hover { border-color: #74bfa2 !important; }

.pw-input:focus,
.pw-select:focus,
.pw-textarea:focus,
.pw-login-input:focus,
input:focus,
select:focus,
textarea:focus {
  outline: none !important;
  border-color: var(--pw-emerald-600) !important;
  box-shadow: var(--pw-focus) !important;
  background: #fff !important;
}

input[type="checkbox"], input[type="radio"] {
  width: 22px !important;
  height: 22px !important;
  min-height: 22px !important;
  accent-color: var(--pw-emerald-700);
  flex: 0 0 22px;
}

.pw-radio-group,
.pw-accept-box,
.pw-termo-box,
.pw-envolve-box {
  color: var(--pw-ink) !important;
  background: var(--pw-emerald-50) !important;
  border: 1px solid var(--pw-line) !important;
  border-radius: var(--pw-radius-sm) !important;
}

.pw-radio,
.pw-checkbox,
.pw-accept-text { color: var(--pw-ink-strong) !important; font-size: 16px !important; font-weight: 650 !important; }

.pw-file-box,
.pw-area-card {
  color: var(--pw-ink) !important;
  background: var(--pw-surface-soft) !important;
  border: 2px dashed #7fc4a9 !important;
  border-radius: var(--pw-radius-md) !important;
}

.pw-file-box:hover,
.pw-area-card:hover,
.pw-area-card.selected {
  background: var(--pw-emerald-50) !important;
  border-color: var(--pw-emerald-600) !important;
  box-shadow: var(--pw-focus) !important;
}

/* Progresso do preenchimento */
.pw-form-completion {
  position: sticky;
  top: 10px;
  z-index: 80;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  gap: 12px;
  width: 100%;
  margin: 0 0 20px;
  padding: 12px 16px;
  color: var(--pw-ink-strong);
  background: rgba(255,255,255,.94);
  border: 1px solid var(--pw-line);
  border-radius: 14px;
  box-shadow: 0 10px 30px rgba(6,59,45,.12);
  backdrop-filter: blur(12px);
}
.pw-form-completion strong { font-size: 14px; }
.pw-form-completion-track { height: 9px; overflow: hidden; background: #dcebe5; border-radius: 999px; }
.pw-form-completion-bar { width: 0; height: 100%; background: linear-gradient(90deg, var(--pw-emerald-500), var(--pw-emerald-800)); border-radius: inherit; transition: width .35s ease; }
.pw-form-completion-value { min-width: 42px; color: var(--pw-emerald-800); font-weight: 900; text-align: right; }

.pw-field.pw-field-ready .pw-label::after {
  content: " ✓";
  color: var(--pw-emerald-700);
  font-weight: 900;
}

/* Botões com hierarquia clara */
.pw-btn,
.pw-btn-gold,
.pw-btn-primary,
.pw-btn-filter,
.pw-btn-copy,
.pw-btn-install-big,
.pw-btn-submit,
.pw-btn-next,
.pw-login-btn,
.pw-btn-whatsapp,
.pw-btn-contract,
.pw-btn-contrato-ver {
  position: relative;
  overflow: hidden;
  min-height: 52px !important;
  padding: 13px 20px !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--pw-emerald-600), var(--pw-emerald-900)) !important;
  border: 1px solid rgba(255,255,255,.2) !important;
  border-radius: 13px !important;
  box-shadow: 0 10px 24px rgba(7,132,93,.22) !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  letter-spacing: .02em !important;
  text-decoration: none !important;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease !important;
}

.pw-btn::after,
.pw-btn-primary::after,
.pw-btn-submit::after,
.pw-btn-next::after,
.pw-login-btn::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 -45%;
  width: 28%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.38), transparent);
  transform: skewX(-18deg);
  animation: pw-sheen 7s ease-in-out infinite;
}

.pw-btn:hover,
.pw-btn-primary:hover,
.pw-btn-submit:hover,
.pw-btn-next:hover,
.pw-login-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 15px 32px rgba(7,132,93,.30) !important;
  filter: saturate(1.08) brightness(1.04);
}

.pw-btn-secondary,
.pw-btn-outline,
.pw-btn-back,
.pw-btn-logout {
  min-height: 48px !important;
  color: var(--pw-emerald-900) !important;
  background: #fff !important;
  border: 2px solid #8bc8b0 !important;
  border-radius: 12px !important;
  font-weight: 800 !important;
}

/* Portal administrativo */
.pw-app { min-height: 100vh !important; background: transparent !important; }

.pw-sidebar {
  background:
    radial-gradient(circle at 50% -5%, rgba(100,255,202,.16), transparent 18rem),
    linear-gradient(180deg, #053d2e 0%, #064d39 45%, #032f24 100%) !important;
  border-right: 1px solid rgba(255,255,255,.12) !important;
  box-shadow: 16px 0 45px rgba(6,59,45,.16) !important;
}

.pw-sidebar-header,
.pw-sidebar-footer { background: rgba(0,0,0,.08) !important; border-color: rgba(255,255,255,.13) !important; }
.pw-sidebar-logo { background: #fff !important; box-shadow: 0 10px 30px rgba(0,0,0,.26) !important; }
.pw-sidebar-header h2, .pw-sidebar-header p, .pw-user-name, .pw-user-role { color: #fff !important; }
.pw-nav-title { color: #aee7d1 !important; font-weight: 800 !important; letter-spacing: .12em !important; }
.pw-nav-item { color: #edf9f4 !important; border: 1px solid transparent !important; font-size: 15px !important; font-weight: 650 !important; }
.pw-nav-item:hover, .pw-nav-item.active {
  color: #fff !important;
  background: linear-gradient(90deg, rgba(18,185,129,.33), rgba(255,255,255,.08)) !important;
  border-color: rgba(174,231,209,.22) !important;
  transform: translateX(3px) !important;
}

.pw-main { min-width: 0 !important; max-width: 100% !important; background: transparent !important; }
.pw-page { min-width: 0 !important; width: 100% !important; max-width: 1480px !important; color: var(--pw-ink) !important; }
.pw-page.active { animation: pw-rise .48s ease both !important; }

.pw-welcome-header {
  position: relative;
  overflow: hidden;
  padding: clamp(22px, 4vw, 34px) !important;
  color: #fff !important;
  background: linear-gradient(135deg, var(--pw-emerald-900), var(--pw-emerald-700)) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: var(--pw-radius-lg) !important;
  box-shadow: var(--pw-shadow-md) !important;
}
.pw-welcome-header::after { content: ""; position: absolute; width: 220px; height: 220px; right: -70px; top: -110px; border: 32px solid rgba(255,255,255,.08); border-radius: 50%; }
.pw-welcome-text h1, .pw-welcome-sub, .pw-date-display { color: #fff !important; }

.pw-info-card,
.pw-stat-card,
.pw-action-card {
  min-width: 0 !important;
  color: var(--pw-ink) !important;
  background: rgba(255,255,255,.96) !important;
  border: 1px solid var(--pw-line) !important;
  border-radius: var(--pw-radius-md) !important;
  box-shadow: var(--pw-shadow-sm) !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.pw-info-card:hover, .pw-stat-card:hover, .pw-action-card:hover { transform: translateY(-4px) !important; border-color: #8bc8b0 !important; box-shadow: var(--pw-shadow-md) !important; }
.pw-stat-value, .pw-clock-time, .pw-weather-temp { color: var(--pw-emerald-900) !important; font-weight: 900 !important; }
.pw-stat-label, .pw-action-text, .pw-clock-label, .pw-weather-city { color: var(--pw-ink-strong) !important; font-weight: 800 !important; }

.pw-filters,
.pw-bulk-actions {
  min-width: 0 !important;
  gap: 12px !important;
  padding: 16px !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid var(--pw-line) !important;
  border-radius: 16px !important;
  box-shadow: var(--pw-shadow-sm) !important;
}

.pw-table-wrap,
.pw-table-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow-x: auto !important;
  background: #fff !important;
  border: 1px solid var(--pw-line) !important;
  border-radius: 18px !important;
  box-shadow: var(--pw-shadow-sm) !important;
  -webkit-overflow-scrolling: touch;
}
.pw-table { width: 100% !important; min-width: 720px; color: var(--pw-ink) !important; background: #fff !important; }
.pw-table thead { background: linear-gradient(135deg, var(--pw-emerald-900), var(--pw-emerald-700)) !important; }
.pw-table th { color: #fff !important; font-size: 14px !important; font-weight: 800 !important; letter-spacing: .02em !important; }
.pw-table td { color: var(--pw-ink) !important; font-size: 15px !important; font-weight: 600 !important; border-color: #e0eee8 !important; }
.pw-table tbody tr:nth-child(even) { background: #f5fbf8 !important; }
.pw-table tbody tr:hover { background: #e4f6ed !important; }

.pw-btn-action { min-height: 38px !important; padding: 8px 11px !important; border-radius: 10px !important; font-weight: 800 !important; }
.pw-btn-action.pw-btn-print { color: #fff !important; background: linear-gradient(135deg, var(--pw-emerald-600), var(--pw-emerald-900)) !important; border-color: var(--pw-emerald-700) !important; }
.pw-selected-count { color: var(--pw-emerald-900) !important; font-weight: 900 !important; }

/* Ficha individual e login em tema claro */
.pw-public-page { min-height: 100vh !important; padding: clamp(18px, 4vw, 44px) 14px !important; background: transparent !important; }
.pw-public-box { width: min(100%, 860px) !important; max-width: 860px !important; padding: clamp(22px, 5vw, 44px) !important; text-align: left; }
.pw-public-box:not(.pw-ficha-box) { max-width: 480px !important; }
.pw-logo-container, .pw-public-box:not(.pw-ficha-box) h1, .pw-public-subtitle, .pw-login-divider { text-align: center !important; }
.pw-public-box:not(.pw-ficha-box) h1 { color: var(--pw-emerald-950) !important; text-shadow: none !important; }
.pw-public-subtitle { color: var(--pw-muted-accessible) !important; }
.pw-login-divider span { color: var(--pw-emerald-800) !important; font-weight: 800 !important; }
.pw-login-divider::before, .pw-login-divider::after { background: var(--pw-line) !important; }
.pw-login-icon { color: var(--pw-emerald-700) !important; }

.pw-ficha-header {
  margin: calc(clamp(22px,5vw,44px) * -1) calc(clamp(22px,5vw,44px) * -1) 28px !important;
  padding: 30px 22px !important;
  background: linear-gradient(135deg, var(--pw-emerald-950), var(--pw-emerald-700)) !important;
  border-radius: var(--pw-radius-md) var(--pw-radius-md) 0 0 !important;
}
.pw-ficha-row { border-color: #deebe5 !important; }
.pw-ficha-label { color: var(--pw-muted-accessible) !important; font-weight: 800 !important; }
.pw-ficha-value, .pw-ficha-text, .pw-ficha-pergunta-text { color: var(--pw-ink-strong) !important; font-weight: 600 !important; }
.pw-ficha-text, .pw-ficha-pergunta, .pw-crm-textarea { background: var(--pw-surface-soft) !important; border-color: var(--pw-line) !important; }

/* Avisos e estados */
.pw-success { border-color: #79c9a9 !important; background: linear-gradient(145deg, #fff, #eaf8f1) !important; }
.pw-success-title { color: var(--pw-emerald-900) !important; }
.pw-error, .pw-alert-error { color: #7d1f1f !important; background: #fff1f1 !important; border: 1px solid #e8bcbc !important; }
.pw-invalid-hint { display: block; margin-top: 7px; color: var(--pw-danger); font-size: 14px; font-weight: 750; }
[aria-invalid="true"] { border-color: #b33b3b !important; box-shadow: 0 0 0 4px rgba(179,59,59,.14) !important; }

/* Mobile: sem vazamento lateral, botões grandes e tabelas em cartões */
@media (max-width: 900px) {
  .pw-mobile-header {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 70px !important;
    padding: max(10px, env(safe-area-inset-top)) 14px 10px !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--pw-emerald-950), var(--pw-emerald-700)) !important;
    border-bottom: 1px solid rgba(255,255,255,.18) !important;
    box-shadow: 0 9px 28px rgba(6,59,45,.20) !important;
  }
  .pw-mobile-header h2 { min-width: 0; overflow: hidden; color: #fff !important; font-size: 16px !important; text-overflow: ellipsis; white-space: nowrap; }
  .pw-mobile-header img { flex: 0 0 42px; width: 42px !important; height: 42px !important; object-fit: contain; background: #fff; border-radius: 50%; }
  .pw-mobile-menu-btn { flex: 0 0 46px; width: 46px !important; height: 46px !important; color: #fff !important; background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.28) !important; border-radius: 12px !important; }
  .pw-sidebar { width: min(88vw, 340px) !important; max-width: 340px !important; }
  .pw-main { width: 100% !important; margin-left: 0 !important; padding: 88px 14px 30px !important; }
  .pw-page { padding: 0 !important; }
  .pw-welcome-header { gap: 16px; }
  .pw-info-grid, .pw-stats-grid, .pw-actions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pw-filters, .pw-bulk-actions { align-items: stretch !important; }
  .pw-filters > *, .pw-bulk-actions > * { max-width: 100% !important; }
}

@media (max-width: 720px) {
  html, body { font-size: 16px; }
  .pw-header { padding-inline: 14px !important; }
  .pw-container { width: min(100% - 20px, 920px) !important; }
  .pw-section, .pw-card, .pw-form-card, .pw-form-section, .pw-ficha-card { padding: 19px !important; border-radius: 15px !important; }
  .pw-grid-2, .pw-grid-3 { grid-template-columns: minmax(0, 1fr) !important; }
  .pw-form-completion { top: 76px; grid-template-columns: 1fr auto; }
  .pw-form-completion strong { grid-column: 1 / -1; }
  .pw-info-grid, .pw-stats-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .pw-actions-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pw-action-card { padding: 16px 10px !important; }
  .pw-filters, .pw-bulk-actions { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; }
  .pw-btn, .pw-btn-submit, .pw-btn-next, .pw-btn-filter, .pw-btn-bulk, .pw-btn-whatsapp, .pw-btn-contract { width: 100% !important; justify-content: center !important; }

  .pw-table-wrap, .pw-table-container { overflow: visible !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
  .pw-table { display: block !important; min-width: 0 !important; background: transparent !important; }
  .pw-table thead { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; }
  .pw-table tbody, .pw-table tr, .pw-table td { display: block !important; width: 100% !important; min-width: 0 !important; }
  .pw-table tbody tr { margin-bottom: 14px !important; padding: 10px !important; overflow: hidden; background: #fff !important; border: 1px solid var(--pw-line) !important; border-radius: 15px !important; box-shadow: var(--pw-shadow-sm) !important; }
  .pw-table td { display: grid !important; grid-template-columns: minmax(92px, 38%) minmax(0, 1fr) !important; gap: 10px !important; align-items: center; padding: 10px 8px !important; border: 0 !important; border-bottom: 1px solid #e3eee9 !important; overflow-wrap: anywhere; }
  .pw-table td:last-child { border-bottom: 0 !important; }
  .pw-table td::before { content: attr(data-label); color: var(--pw-muted-accessible); font-size: 12px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
  .pw-table td:first-child { grid-template-columns: 28px 1fr !important; }
  .pw-table td:first-child::before { content: "Selecionar"; }
  .pw-table td:last-child > * { margin: 3px 3px 3px 0; }

  .pw-public-page { padding-inline: 10px !important; }
  .pw-public-box { padding: 20px !important; border-radius: 16px !important; }
  .pw-ficha-header { margin: -20px -20px 22px !important; border-radius: 16px 16px 0 0 !important; }
  .pw-ficha-row { display: block !important; }
  .pw-ficha-label { display: block !important; margin-bottom: 4px !important; }
  .pw-ficha-actions { display: grid !important; grid-template-columns: 1fr !important; }
  .pw-progress-bar { overflow-x: auto; padding-inline: 10px !important; }
  .pw-steps { min-width: 430px; }
}

@media (max-width: 380px) {
  .pw-main { padding-inline: 10px !important; }
  .pw-actions-grid { grid-template-columns: minmax(0, 1fr) !important; }
  .pw-mobile-header h2 { max-width: 145px; }
}

@media print {
  .pw-form-completion,
  .pw-mobile-header,
  .pw-sidebar,
  .ambient-particles,
  .pwfx-aurora { display: none !important; }
  html, body { background: #fff !important; color: #000 !important; overflow: visible !important; }
  .pw-public-box, .pw-ficha-card { box-shadow: none !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}
