/* ══════════════════════════════════════════════════════════════════
   MEDMARK · PATIENT APP — camada mobile sobre o Design System
   Herda tokens e componentes de ../styles.css. Prefixo: .pa-
   ══════════════════════════════════════════════════════════════════ */
:root{
  /* ═══════════════════════════════════════════════════════════════
     COR PRIMÁRIA — WHITE LABEL
     Troque apenas estas 2 linhas para recolorir toda a plataforma.
     (--pa-primary = hex; --pa-primary-rgb = mesmos valores em RGB p/ rgba)
     ═══════════════════════════════════════════════════════════════ */
  --pa-primary:#0E7AFF;
  --pa-primary-rgb:14,122,255;
  /* cor do texto SOBRE a primária — branco por padrão; o app.js troca p/ escuro
     automaticamente quando a primária é clara (contraste acessível) */
  --pa-on-primary:#ffffff;

  /* escala derivada automaticamente da primária — recolore o DS inteiro
     (botões, sidebar, chips, nav, tags, links, calendário, etc.) */
  --brand-blue-700:color-mix(in srgb, var(--pa-primary), #000 34%);
  --brand-blue-600:color-mix(in srgb, var(--pa-primary), #000 16%);
  --brand-blue-500:var(--pa-primary);
  --brand-blue-400:color-mix(in srgb, var(--pa-primary), #fff 16%);
  --brand-blue-300:color-mix(in srgb, var(--pa-primary), #fff 38%);
  --brand-blue-200:color-mix(in srgb, var(--pa-primary), #fff 55%);
  --brand-blue-100:color-mix(in srgb, var(--pa-primary), #fff 75%);
  --brand-blue-50:color-mix(in srgb, var(--pa-primary), #fff 90%);
  --focus:color-mix(in srgb, var(--pa-primary), transparent 80%);

  /* gradientes da camada de produto, derivados da primária */
  --pa-grad-blue:linear-gradient(150deg,var(--brand-blue-400) 0%,var(--brand-blue-500) 55%,var(--brand-blue-600) 100%);
  --pa-grad-blue-soft:linear-gradient(150deg,var(--brand-blue-50) 0%,var(--brand-blue-100) 100%);
  --pa-grad-deep:linear-gradient(160deg,var(--brand-blue-700) 0%,var(--brand-blue-500) 100%);
  --pa-phone-w:412px;
  --pa-header-h:60px;
  --pa-nav-h:74px;
  --pa-pad:20px;
}

/* ─── Backdrop + moldura do celular ─────────────────────────────── */
body.pa-body{
  min-height:100vh;margin:0;
  display:flex;align-items:center;justify-content:center;
  padding:24px;
  background:
    radial-gradient(60% 50% at 15% 10%,rgba(149,197,255,.18),transparent 60%),
    radial-gradient(50% 40% at 90% 90%,rgba(var(--pa-primary-rgb),.12),transparent 60%),
    linear-gradient(180deg,#EEF3FA 0%,#E3EBF5 100%);
  overflow-x:hidden;
}
.pa-body .bg-mesh{display:none;}

.pa-phone{
  position:relative;
  width:100%;max-width:var(--pa-phone-w);
  height:min(880px,calc(100vh - 48px));
  background:var(--surface);
  border-radius:46px;
  box-shadow:0 40px 90px rgba(15,23,42,.28),0 8px 24px rgba(15,23,42,.12);
  border:1px solid rgba(15,23,42,.06);
  padding:12px;
  display:flex;flex-direction:column;
  flex-shrink:0;
}
.pa-screen{
  position:relative;flex:1;min-height:0;
  background:var(--surface);
  border-radius:36px;
  overflow:hidden;
  display:flex;flex-direction:column;
}
/* variação tela imersiva (vídeo / fundo azul) */
.pa-screen--blue{background:var(--pa-grad-deep);}
.pa-screen--dark{background:#0B1220;}

/* status bar mock */
.pa-statusbar{
  flex-shrink:0;height:42px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 28px;font-size:13px;font-weight:600;color:var(--text);
}
.pa-statusbar__icons{display:flex;align-items:center;gap:6px;}
.pa-statusbar__icons svg{width:16px;height:16px;}
.pa-screen--blue .pa-statusbar,.pa-screen--dark .pa-statusbar{color:#fff;}

/* corpo rolável */
.pa-body-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;}
.pa-body-scroll::-webkit-scrollbar{width:0;}
.pa-pad{padding:0 var(--pa-pad);}
.pa-pad-b{padding-bottom:24px;}
/* espaço para a nav flutuante */
.pa-has-nav .pa-body-scroll{padding-bottom:calc(var(--pa-nav-h) + 24px);}

/* ─── App header (barra superior interna) ───────────────────────── */
.pa-header{
  flex-shrink:0;min-height:var(--pa-header-h);
  display:flex;align-items:center;gap:12px;
  padding:6px 16px 10px;
}
.pa-header__btn{
  width:40px;height:40px;border-radius:14px;flex-shrink:0;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--gray-100);color:var(--text);
  transition:background var(--dur-fast);
}
.pa-header__btn:hover{background:var(--gray-200);}
.pa-header__btn svg{width:20px;height:20px;}
.pa-header__title{font-size:17px;font-weight:700;letter-spacing:-.01em;}
.pa-header__sub{font-size:12px;color:var(--text-subtle);margin-top:1px;}
.pa-header__center{flex:1;text-align:center;}
.pa-header__spacer{flex:1;}
.pa-screen--blue .pa-header__btn,.pa-screen--dark .pa-header__btn{background:rgba(255,255,255,.18);color:#fff;}
.pa-screen--blue .pa-header__btn:hover{background:rgba(255,255,255,.28);}
.pa-screen--blue .pa-header__title,.pa-screen--dark .pa-header__title{color:#fff;}

/* avatar genérico */
.pa-avatar{border-radius:50%;object-fit:cover;background:var(--gray-200);flex-shrink:0;}
.pa-avatar--28{width:28px;height:28px;}
.pa-avatar--40{width:40px;height:40px;}
.pa-avatar--48{width:48px;height:48px;}
.pa-avatar--56{width:56px;height:56px;}
.pa-avatar--72{width:72px;height:72px;}
.pa-avatar--96{width:96px;height:96px;}
.pa-avatar--ring{border:3px solid #fff;box-shadow:var(--shadow-sm);}

/* ─── Saudação (home) ───────────────────────────────────────────── */
.pa-greet{display:flex;align-items:center;gap:12px;padding:12px 4px 16px;}
.pa-greet__hi{font-size:13px;color:var(--text-subtle);}
.pa-greet__name{font-size:18px;font-weight:700;letter-spacing:-.01em;}
.pa-theme{position:relative;width:42px;height:42px;border-radius:14px;flex-shrink:0;background:var(--surface);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--brand-blue-600);cursor:pointer;overflow:hidden;}
.pa-theme svg{width:20px;height:20px;}
.pa-theme .pa-theme__sol{display:none;}
html[data-pa-theme="dark"] .pa-theme .pa-theme__lua{display:none;}
html[data-pa-theme="dark"] .pa-theme .pa-theme__sol{display:block;}
.pa-theme input[type=color]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;border:0;padding:0;}
.pa-greet__bell{margin-left:0;width:42px;height:42px;border-radius:14px;background:var(--surface);border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;position:relative;color:var(--text-muted);}
.pa-greet__bell svg{width:20px;height:20px;}
.pa-greet__bell .pa-dot{position:absolute;top:5px;right:6px;width:13px;height:13px;border-radius:50%;background:var(--danger);border:2px solid var(--surface);box-shadow:0 0 0 3px rgba(220,38,38,.18);}

/* busca */
.pa-search{display:flex;align-items:center;gap:10px;height:48px;padding:0 16px;border-radius:16px;background:var(--gray-100);color:var(--text-subtle);margin:0 4px 18px;}
.pa-search svg{width:18px;height:18px;}
.pa-search input{flex:1;border:0;background:transparent;outline:0;font-size:14px;color:var(--text);}

/* ─── Section heading ───────────────────────────────────────────── */
.pa-sec{display:flex;align-items:center;justify-content:space-between;margin:22px 4px 12px;}
.pa-sec__title{font-size:16px;font-weight:700;letter-spacing:-.01em;}
.pa-sec__link{font-size:13px;font-weight:600;color:var(--brand-blue-600);}

/* ─── Tiles de ação (home) ──────────────────────────────────────── */
.pa-tiles{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:0 4px;}
.pa-tile{
  position:relative;overflow:hidden;
  border-radius:22px;padding:18px;min-height:140px;
  display:flex;flex-direction:column;justify-content:space-between;
  color:#fff;cursor:pointer;
  box-shadow:0 12px 26px rgba(var(--pa-primary-rgb),.18);
  transition:transform var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast);
}
.pa-tile:active{transform:scale(.98);}
.pa-tile--wide{grid-column:1 / -1;min-height:120px;flex-direction:row;align-items:center;gap:16px;justify-content:flex-start;}
.pa-tile--urgent{background:var(--pa-grad-blue);}
.pa-tile--brand{background:linear-gradient(150deg,#2BB6E0,#0E7AFF);box-shadow:0 12px 26px rgba(43,182,224,.20);}
.pa-tile--soft{background:linear-gradient(150deg,#1F3A5F,#0A4FC2);box-shadow:0 12px 26px rgba(var(--pa-primary-rgb),.20);}
.pa-tile__ico{width:46px;height:46px;border-radius:14px;background:rgba(255,255,255,.20);display:inline-flex;align-items:center;justify-content:center;backdrop-filter:blur(2px);}
.pa-tile__ico svg{width:24px;height:24px;color:#fff;}
.pa-tile__t{font-size:15px;font-weight:700;line-height:1.2;}
.pa-tile__d{font-size:12px;opacity:.88;line-height:1.35;margin-top:3px;}
.pa-tile__live{position:absolute;top:14px;right:14px;display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:rgba(255,255,255,.22);padding:3px 8px;border-radius:999px;}
.pa-tile__live::before{content:"";width:7px;height:7px;border-radius:50%;background:#FF5A5A;box-shadow:0 0 0 0 rgba(255,90,90,.6);animation:pa-pulse 1.6s infinite;}
.pa-tile__deco{position:absolute;right:-30px;bottom:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.10);}
@keyframes pa-pulse{0%{box-shadow:0 0 0 0 rgba(255,90,90,.6);}70%{box-shadow:0 0 0 8px rgba(255,90,90,0);}100%{box-shadow:0 0 0 0 rgba(255,90,90,0);}}

/* ─── Hero card médico (estilo referência) ──────────────────────── */
.pa-hero{
  position:relative;overflow:hidden;border-radius:24px;
  background:var(--pa-grad-blue);color:#fff;margin:0 4px;
  padding:20px;min-height:180px;display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:0 16px 32px rgba(var(--pa-primary-rgb),.22);
}
.pa-hero__img{position:absolute;right:0;bottom:0;height:100%;width:55%;object-fit:cover;object-position:top center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 38%);mask-image:linear-gradient(90deg,transparent,#000 38%);}
.pa-hero__rate{display:inline-flex;align-items:center;gap:4px;background:#fff;color:var(--text);font-size:12px;font-weight:700;padding:4px 10px;border-radius:999px;width:fit-content;}
.pa-hero__rate svg{width:13px;height:13px;color:#F5A623;fill:#F5A623;}
.pa-hero__spec{font-size:12px;opacity:.9;}
.pa-hero__name{font-size:24px;font-weight:800;line-height:1.05;letter-spacing:-.02em;max-width:60%;}
.pa-hero__cta{display:inline-flex;align-items:center;gap:6px;background:#fff;color:var(--brand-blue-600);font-size:13px;font-weight:700;padding:9px 16px;border-radius:999px;width:fit-content;}
.pa-hero__cta svg{width:15px;height:15px;}
.pa-hero__heart{position:absolute;top:18px;right:18px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;}
.pa-hero__heart svg{width:17px;height:17px;color:#fff;}

/* ─── Chips de especialidade (scroll horizontal) ────────────────── */
.pa-chips{display:flex;gap:10px;overflow-x:auto;padding:2px 4px 6px;scrollbar-width:none;}
.pa-chips::-webkit-scrollbar{display:none;}
.pa-chip{
  flex-shrink:0;display:inline-flex;align-items:center;gap:8px;
  padding:8px 14px 8px 8px;border-radius:999px;
  background:var(--surface);border:1px solid var(--border);
  font-size:13px;font-weight:600;color:var(--text);white-space:nowrap;cursor:pointer;
  transition:all var(--dur-fast);
}
.pa-chip__ico{width:30px;height:30px;border-radius:50%;background:var(--brand-blue-50);color:var(--brand-blue-600);display:inline-flex;align-items:center;justify-content:center;}
.pa-chip__ico svg{width:16px;height:16px;}
.pa-chip.is-active{background:var(--brand-blue-500);color:#fff;border-color:var(--brand-blue-500);box-shadow:0 6px 20px rgba(var(--pa-primary-rgb),.14);}
.pa-chip.is-active .pa-chip__ico{background:rgba(255,255,255,.25);color:#fff;}

/* ─── Cartão de item / médico / lista ───────────────────────────── */
.pa-card{
  background:var(--surface);border:1px solid var(--border);border-radius:18px;
  box-shadow:var(--shadow-sm);overflow:hidden;
}
.pa-card--pad{padding:16px;}
.pa-card + .pa-card{margin-top:12px;}

.pa-listrow{display:flex;align-items:center;gap:12px;padding:12px 14px;background:var(--surface);border:1px solid var(--border);border-radius:16px;cursor:pointer;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);}
.pa-listrow + .pa-listrow{margin-top:10px;}
.pa-listrow:hover{border-color:var(--brand-blue-300);box-shadow:var(--shadow-sm);}
.pa-listrow__body{flex:1;min-width:0;}
.pa-listrow__name{font-size:14px;font-weight:600;line-height:1.2;}
.pa-listrow__meta{font-size:12px;color:var(--text-subtle);margin-top:2px;display:flex;align-items:center;gap:6px;}
.pa-listrow__rate{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;color:var(--text);}
.pa-listrow__rate svg{width:13px;height:13px;color:#F5A623;fill:#F5A623;}
.pa-listrow__chev{color:var(--text-subtle);}
.pa-listrow__chev svg{width:18px;height:18px;}

/* ─── Timeline / histórico ──────────────────────────────────────── */
.pa-hist{position:relative;padding-left:8px;}
.pa-histcard{display:flex;width:100%;text-align:left;font:inherit;color:inherit;gap:12px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:16px;cursor:pointer;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);}
.pa-histcard + .pa-histcard{margin-top:12px;}
.pa-histcard:hover{border-color:var(--brand-blue-300);box-shadow:var(--shadow-sm);}
.pa-histcard__date{flex-shrink:0;align-self:flex-start;width:54px;text-align:center;border-radius:12px;background:var(--brand-blue-50);color:var(--brand-blue-700);padding:8px 0;}
.pa-histcard__day{font-size:18px;font-weight:800;line-height:1;}
.pa-histcard__mon{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:2px;}
.pa-histcard__body{flex:1;min-width:0;}
.pa-histcard__title{font-size:14px;font-weight:700;}
.pa-histcard__doc{font-size:12px;color:var(--text-subtle);margin-top:2px;}
.pa-histcard__foot{display:flex;align-items:center;gap:8px;margin-top:8px;flex-wrap:wrap;}

/* ─── Documentos (receituário / parecer) ────────────────────────── */
.pa-doc{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:16px;background:var(--surface);}
.pa-doc + .pa-doc{margin-top:10px;}
.pa-doc__ico{width:46px;height:46px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.pa-doc__ico--rx{background:rgba(var(--pa-primary-rgb),.10);color:var(--brand-blue-600);}
.pa-doc__ico--pdf{background:rgba(239,68,68,.10);color:var(--danger);}
.pa-doc__ico--note{background:rgba(22,163,74,.10);color:var(--success);}
.pa-doc__ico svg{width:22px;height:22px;}
.pa-doc__body{flex:1;min-width:0;}
.pa-doc__name{font-size:14px;font-weight:600;}
.pa-doc__meta{font-size:12px;color:var(--text-subtle);}
.pa-doc__dl{width:40px;height:40px;border-radius:12px;background:var(--brand-blue-50);color:var(--brand-blue-600);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.pa-doc__dl svg{width:18px;height:18px;}

/* bloco info chave/valor */
.pa-kv{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--border);font-size:14px;}
.pa-kv:last-child{border-bottom:0;}
.pa-kv__k{color:var(--text-subtle);}
.pa-kv__v{font-weight:600;text-align:right;}

/* ─── CTA fixo no rodapé da tela ────────────────────────────────── */
.pa-footer{flex-shrink:0;padding:14px var(--pa-pad) 18px;background:var(--surface);border-top:1px solid var(--border);}
.pa-screen--blue .pa-footer,.pa-screen--dark .pa-footer{background:transparent;border-top:0;}
.pa-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;
  height:54px;border-radius:16px;font-size:15px;font-weight:700;
  padding:0 22px;box-sizing:border-box;
  background:var(--brand-blue-500);color:#fff;
  box-shadow:0 12px 24px rgba(var(--pa-primary-rgb),.28);
  transition:background var(--dur-fast),transform var(--dur-fast);
}
.pa-btn:hover{background:var(--brand-blue-600);}
.pa-btn:active{transform:scale(.99);}
.pa-btn svg{width:19px;height:19px;}
.pa-btn--ghost{background:var(--surface);color:var(--brand-blue-600);border:1.5px solid var(--brand-blue-200);box-shadow:none;}
.pa-btn--ghost:hover{background:var(--brand-blue-50);}
.pa-btn--light{background:#fff;color:var(--brand-blue-600);}
.pa-btn--danger{background:var(--danger);box-shadow:0 12px 24px rgba(239,68,68,.28);}
.pa-btn--lg{height:56px;}
.pa-btn[disabled]{opacity:.5;pointer-events:none;}
/* Travado, e não [disabled]: continua clicável de propósito, para poder dizer
   o que falta em vez de simplesmente não responder ao toque. */
.pa-btn.is-travado{opacity:.5;filter:grayscale(.4);}
.pa-btn-row{display:flex;gap:12px;}
.pa-btn-row .pa-btn{flex:1;}

/* ─── Bottom navigation flutuante ───────────────────────────────── */
.pa-nav{
  position:absolute;left:50%;bottom:14px;transform:translateX(-50%);
  display:flex;align-items:center;gap:6px;
  padding:8px;border-radius:999px;
  background:rgba(255,255,255,.92);backdrop-filter:blur(14px);
  box-shadow:0 14px 34px rgba(15,23,42,.16),0 2px 8px rgba(15,23,42,.08);
  border:1px solid rgba(255,255,255,.6);
  z-index:5;
}
.pa-nav__item{
  width:48px;height:48px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  color:var(--text-subtle);position:relative;transition:all var(--dur-fast);
}
.pa-nav__item svg{width:22px;height:22px;}
.pa-nav__item.is-active{background:var(--brand-blue-500);color:#fff;box-shadow:0 8px 18px rgba(var(--pa-primary-rgb),.4);}
.pa-nav__item:not(.is-active):hover{color:var(--brand-blue-600);background:var(--brand-blue-50);}
.pa-nav__item--iara:not(.is-active){color:#6E5BFF;}
.pa-nav{max-width:calc(100vw - 16px);}
.pa-nav:has(.pa-nav__item:nth-child(6)){gap:4px;}
.pa-nav:has(.pa-nav__item:nth-child(6)) .pa-nav__item{width:44px;height:44px;}
.pa-nav:has(.pa-nav__item:nth-child(6)) .pa-nav__item svg{width:20px;height:20px;}
.pa-nav:has(.pa-nav__item:nth-child(7)){padding:6px;}
.pa-nav:has(.pa-nav__item:nth-child(7)) .pa-nav__item{width:42px;height:42px;}

/* botão whatsapp flutuante (home) */
.pa-fab{position:absolute;right:16px;bottom:calc(var(--pa-nav-h) + 16px);width:52px;height:52px;border-radius:50%;background:#25D366;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 10px 24px rgba(37,211,102,.4);z-index:6;}
.pa-fab svg{width:26px;height:26px;}
.pa-navrow{position:absolute;left:50%;bottom:14px;transform:translateX(-50%);display:flex;align-items:stretch;gap:8px;z-index:5;max-width:calc(100vw - 16px);}
.pa-navrow .pa-nav{position:relative;left:auto;bottom:auto;transform:none;max-width:none;}
.pa-wa{flex-shrink:0;aspect-ratio:1/1;border-radius:50%;background:#25D366;color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:0 14px 34px rgba(37,211,102,.35),0 2px 8px rgba(15,23,42,.08);transition:transform var(--dur-fast);}
.pa-wa:hover{color:#fff;transform:scale(1.04);}
.pa-wa svg{width:26px;height:26px;}
.pa-navrow:has(.pa-wa) .pa-nav:has(.pa-nav__item:nth-child(5)){gap:4px;}
.pa-navrow:has(.pa-wa) .pa-nav:has(.pa-nav__item:nth-child(5)) .pa-nav__item{width:44px;height:44px;}
.pa-navrow:has(.pa-wa) .pa-nav:has(.pa-nav__item:nth-child(6)){padding:6px;}
.pa-navrow:has(.pa-wa) .pa-nav:has(.pa-nav__item:nth-child(6)) .pa-nav__item{width:42px;height:42px;}
.pa-navrow:has(.pa-wa) .pa-nav:has(.pa-nav__item:nth-child(7)){gap:3px;}
.pa-navrow:has(.pa-wa) .pa-nav:has(.pa-nav__item:nth-child(7)) .pa-nav__item{width:40px;height:40px;}
.pa-side__item--wa svg{color:#25D366;}

/* ─── Stepper (agendamento / checkout) ──────────────────────────── */
.pa-stepper{display:flex;align-items:center;padding:6px 16px 12px;gap:0;}
.pa-stepper__step{display:flex;align-items:center;flex:1;}
.pa-stepper__step:last-child{flex:0 0 auto;}
.pa-stepper__dot{width:30px;height:30px;border-radius:50%;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;background:var(--gray-150);color:var(--text-subtle);border:2px solid transparent;transition:all var(--dur-base);}
.pa-stepper__line{flex:1;height:3px;border-radius:2px;background:var(--gray-200);margin:0 6px;}
.pa-stepper__step.is-done .pa-stepper__dot{background:var(--brand-blue-500);color:#fff;}
.pa-stepper__step.is-current .pa-stepper__dot{background:#fff;color:var(--brand-blue-600);border-color:var(--brand-blue-500);box-shadow:0 0 0 4px var(--brand-blue-50);}
.pa-stepper__step.is-done .pa-stepper__line{background:var(--brand-blue-500);}
.pa-step-label{text-align:center;font-size:12px;color:var(--text-subtle);font-weight:600;margin:-4px 16px 14px;}
.pa-step-label b{color:var(--text);}

/* grid de seleção (especialidade / plano) */
.pa-pickgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.pa-pick{
  border:1.5px solid var(--border);border-radius:16px;padding:16px;background:var(--surface);
  cursor:pointer;text-align:center;transition:all var(--dur-fast);position:relative;
}
.pa-pick:hover{border-color:var(--brand-blue-300);}
.pa-pick.is-selected{border-color:var(--brand-blue-500);background:var(--brand-blue-50);box-shadow:0 8px 20px rgba(var(--pa-primary-rgb),.14);}
.pa-pick__ico{width:48px;height:48px;border-radius:14px;background:var(--brand-blue-50);color:var(--brand-blue-600);display:inline-flex;align-items:center;justify-content:center;margin:0 auto 10px;}
.pa-pick.is-selected .pa-pick__ico{background:var(--brand-blue-500);color:#fff;}
.pa-pick__ico svg{width:24px;height:24px;}
.pa-pick__t{font-size:14px;font-weight:700;}
.pa-pick__d{font-size:11px;color:var(--text-subtle);margin-top:2px;}
.pa-pick__check{position:absolute;top:10px;right:10px;width:20px;height:20px;border-radius:50%;background:var(--brand-blue-500);color:#fff;display:none;align-items:center;justify-content:center;}
.pa-pick__check svg{width:13px;height:13px;}
.pa-pick.is-selected .pa-pick__check{display:inline-flex;}

/* ─── Calendário + horários ─────────────────────────────────────── */
.pa-cal{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:16px;}
.pa-cal__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.pa-cal__mon{font-size:15px;font-weight:700;}
.pa-cal__nav{display:flex;gap:6px;}
.pa-cal__nav button{width:32px;height:32px;border-radius:10px;background:var(--gray-100);display:inline-flex;align-items:center;justify-content:center;color:var(--text-muted);}
.pa-cal__grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center;}
.pa-cal__dow{font-size:11px;font-weight:700;color:var(--text-subtle);padding:4px 0;}
.pa-cal__day{aspect-ratio:1;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:var(--text);cursor:pointer;transition:all var(--dur-fast);}
.pa-cal__day--mut{color:var(--gray-300);}
.pa-cal__day:not(.pa-cal__day--mut):hover{background:var(--brand-blue-50);}
.pa-cal__day.is-selected{background:var(--brand-blue-500);color:#fff;box-shadow:0 6px 14px rgba(var(--pa-primary-rgb),.32);}
.pa-cal__day.has-dot{position:relative;}
.pa-cal__day.has-dot::after{content:"";position:absolute;bottom:5px;width:4px;height:4px;border-radius:50%;background:var(--brand-blue-400);}
.pa-cal__day.is-selected.has-dot::after{background:#fff;}

.pa-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;}
.pa-slot{padding:11px 0;text-align:center;border-radius:12px;border:1.5px solid var(--border);background:var(--surface);font-size:13px;font-weight:600;cursor:pointer;transition:all var(--dur-fast);}
.pa-slot:hover{border-color:var(--brand-blue-300);}
.pa-slot.is-selected{background:var(--brand-blue-500);color:#fff;border-color:var(--brand-blue-500);}
.pa-slot[disabled]{opacity:.4;text-decoration:line-through;pointer-events:none;}

/* ─── Vídeo / chamada ───────────────────────────────────────────── */
.pa-video{position:absolute;inset:0;overflow:hidden;}
.pa-video__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.pa-video__shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,18,32,.55) 0%,transparent 22%,transparent 60%,rgba(11,18,32,.7) 100%);}
.pa-video__top{position:absolute;top:0;left:0;right:0;padding:16px 18px;display:flex;align-items:center;gap:12px;color:#fff;z-index:2;}
.pa-video__name{font-size:16px;font-weight:700;}
.pa-video__timer{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;opacity:.9;}
.pa-video__timer::before{content:"";width:8px;height:8px;border-radius:50%;background:#FF5A5A;animation:pa-pulse 1.6s infinite;}
.pa-video__round{width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.2);backdrop-filter:blur(6px);display:inline-flex;align-items:center;justify-content:center;color:#fff;}
.pa-video__round svg{width:19px;height:19px;}
.pa-video__pip{position:absolute;right:16px;bottom:120px;width:96px;height:132px;border-radius:18px;overflow:hidden;border:2px solid rgba(255,255,255,.7);box-shadow:var(--shadow-lg);z-index:3;background:#1B2A44;}
.pa-video__pip img{width:100%;height:100%;object-fit:cover;}
.pa-video__controls{position:absolute;left:0;right:0;bottom:24px;display:flex;align-items:center;justify-content:center;gap:18px;z-index:3;}
.pa-vc{width:56px;height:56px;border-radius:50%;background:rgba(255,255,255,.92);color:var(--text);display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-md);transition:transform var(--dur-fast);}
.pa-vc:active{transform:scale(.92);}
.pa-vc svg{width:24px;height:24px;}
.pa-vc--off{background:rgba(255,255,255,.22);color:#fff;}
.pa-vc--end{width:66px;height:66px;background:var(--danger);color:#fff;box-shadow:0 10px 24px rgba(239,68,68,.5);}
.pa-vc--end svg{width:28px;height:28px;}

/* ─── Sala de espera (spinner + contador) ───────────────────────── */
.pa-wait{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 28px;color:#fff;}
.pa-screen:not(.pa-screen--blue) .pa-wait{color:var(--text);}
.pa-wait__ring{position:relative;width:150px;height:150px;margin-bottom:28px;}
.pa-wait__ring svg{width:100%;height:100%;transform:rotate(-90deg);}
.pa-wait__ring-track{fill:none;stroke:rgba(255,255,255,.22);stroke-width:7;}
.pa-screen:not(.pa-screen--blue) .pa-wait__ring-track{stroke:var(--gray-200);}
.pa-wait__ring-bar{fill:none;stroke:#fff;stroke-width:7;stroke-linecap:round;stroke-dasharray:408;stroke-dashoffset:120;animation:pa-rotate 1.4s linear infinite;transform-origin:center;}
.pa-screen:not(.pa-screen--blue) .pa-wait__ring-bar{stroke:var(--brand-blue-500);}
.pa-wait__avatar{position:absolute;inset:18px;border-radius:50%;object-fit:cover;}
.pa-wait__count{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
.pa-wait__count b{font-size:42px;font-weight:800;line-height:1;}
.pa-wait__count span{font-size:11px;text-transform:uppercase;letter-spacing:.08em;opacity:.85;}
.pa-wait__title{font-size:20px;font-weight:800;letter-spacing:-.01em;}
.pa-wait__sub{font-size:13px;opacity:.85;margin-top:8px;max-width:260px;line-height:1.5;}
.pa-wait__pos{margin-top:18px;display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.18);padding:8px 16px;border-radius:999px;font-size:13px;font-weight:600;}
.pa-screen:not(.pa-screen--blue) .pa-wait__pos{background:var(--brand-blue-50);color:var(--brand-blue-700);}
@keyframes pa-rotate{to{transform:rotate(360deg);}}

/* ─── Chat ──────────────────────────────────────────────────────── */
.pa-chat{display:flex;flex-direction:column;gap:14px;padding:16px var(--pa-pad);}
.pa-chat__day{align-self:center;font-size:11px;font-weight:600;color:var(--text-subtle);background:var(--gray-100);padding:4px 12px;border-radius:999px;}
.pa-msg{max-width:78%;padding:11px 14px;border-radius:18px;font-size:14px;line-height:1.45;position:relative;}
.pa-msg__time{font-size:10px;margin-top:4px;opacity:.7;}
.pa-msg--in{align-self:flex-start;background:var(--gray-100);color:var(--text);border-bottom-left-radius:6px;}
.pa-msg--out{align-self:flex-end;background:var(--brand-blue-500);color:#fff;border-bottom-right-radius:6px;}
.pa-msg--file{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--border);color:var(--text);}
.pa-msg--file .pa-msg__fico{width:38px;height:38px;border-radius:10px;background:rgba(239,68,68,.1);color:var(--danger);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.pa-msg--file svg{width:18px;height:18px;}
.pa-chat__bar{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:12px 16px;border-top:1px solid var(--border);background:var(--surface);}
.pa-chat__attach{width:42px;height:42px;border-radius:50%;background:var(--gray-100);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.pa-chat__attach svg{width:20px;height:20px;}
.pa-chat__input{flex:1;height:44px;border-radius:999px;background:var(--gray-100);border:0;outline:0;padding:0 16px;font-size:14px;}
.pa-chat__send{width:44px;height:44px;border-radius:50%;background:var(--brand-blue-500);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 6px 14px rgba(var(--pa-primary-rgb),.3);}
.pa-chat__send svg{width:20px;height:20px;}

/* mini player de vídeo dentro do chat/helpdesk */
.pa-minivideo{position:relative;margin:0 var(--pa-pad);border-radius:18px;overflow:hidden;height:170px;background:#1B2A44;}
.pa-minivideo img{width:100%;height:100%;object-fit:cover;}
.pa-minivideo__tag{position:absolute;top:10px;left:10px;display:inline-flex;align-items:center;gap:6px;background:rgba(11,18,32,.5);backdrop-filter:blur(6px);color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;}
.pa-minivideo__tag::before{content:"";width:7px;height:7px;border-radius:50%;background:#37D67A;}
.pa-minivideo__pip{position:absolute;right:10px;bottom:10px;width:52px;height:70px;border-radius:10px;object-fit:cover;border:2px solid rgba(255,255,255,.7);}

/* ─── Avaliação (estrelas) ──────────────────────────────────────── */
.pa-stars{display:flex;justify-content:center;gap:10px;margin:8px 0 6px;}
.pa-stars svg{width:40px;height:40px;color:var(--gray-200);cursor:pointer;transition:transform var(--dur-fast);}
.pa-stars svg.is-on{color:#F5A623;fill:#F5A623;}
.pa-stars svg:active{transform:scale(1.15);}
.pa-rate-tags{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;}
.pa-rate-tag{padding:8px 14px;border-radius:999px;border:1.5px solid var(--border);font-size:13px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:all var(--dur-fast);}
.pa-rate-tag.is-on,.pa-rate-tag:hover{border-color:var(--brand-blue-400);background:var(--brand-blue-50);color:var(--brand-blue-700);}

/* ─── Consentimento / camera test ───────────────────────────────── */
.pa-heroicon{width:88px;height:88px;border-radius:26px;margin:8px auto 18px;display:inline-flex;align-items:center;justify-content:center;background:var(--pa-grad-blue);color:#fff;box-shadow:0 16px 30px rgba(var(--pa-primary-rgb),.3);}
.pa-heroicon svg{width:42px;height:42px;}
.pa-check-list{display:flex;flex-direction:column;gap:12px;}
.pa-check-item{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:14px;background:var(--surface);border:1px solid var(--border);}
.pa-check-item__ico{width:24px;height:24px;border-radius:50%;background:rgba(22,163,74,.12);color:var(--success);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.pa-check-item__ico svg{width:15px;height:15px;}
.pa-check-item__ico--pending{background:var(--gray-150);color:var(--text-subtle);}
.pa-check-item__t{font-size:14px;font-weight:600;}
.pa-check-item__d{font-size:12px;color:var(--text-subtle);margin-top:2px;line-height:1.4;}

.pa-consent-box{display:flex;gap:12px;align-items:flex-start;padding:14px;border-radius:14px;background:var(--brand-blue-50);}
.pa-consent-box input{margin-top:2px;}
.pa-consent-box label{font-size:13px;line-height:1.5;color:var(--text-muted);}
.pa-consent-box a{color:var(--brand-blue-600);font-weight:600;}

/* preview de câmera */
.pa-campreview{position:relative;border-radius:20px;overflow:hidden;background:#0B1220;aspect-ratio:3/4;margin-bottom:16px;}
.pa-campreview img{width:100%;height:100%;object-fit:cover;}
.pa-campreview__badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(11,18,32,.5);color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;backdrop-filter:blur(6px);}
.pa-campreview__badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#37D67A;}
.pa-campreview__mic{position:absolute;bottom:14px;left:0;right:0;display:flex;justify-content:center;gap:4px;align-items:flex-end;height:34px;}
.pa-campreview__mic i{display:block;width:4px;border-radius:2px;background:#fff;opacity:.9;animation:pa-eq 1s ease-in-out infinite;}
.pa-campreview__mic i:nth-child(2){animation-delay:.1s}.pa-campreview__mic i:nth-child(3){animation-delay:.2s}.pa-campreview__mic i:nth-child(4){animation-delay:.3s}.pa-campreview__mic i:nth-child(5){animation-delay:.15s}.pa-campreview__mic i:nth-child(6){animation-delay:.25s}.pa-campreview__mic i:nth-child(7){animation-delay:.05s}
@keyframes pa-eq{0%,100%{height:8px}50%{height:28px}}

/* ─── Clube de benefícios ───────────────────────────────────────── */
.pa-clubhero{margin:0 4px 4px;border-radius:22px;padding:22px;background:var(--pa-grad-blue);color:#fff;position:relative;overflow:hidden;box-shadow:0 16px 32px rgba(var(--pa-primary-rgb),.22);}
.pa-clubhero__t{font-size:20px;font-weight:800;letter-spacing:-.02em;}
.pa-clubhero__d{font-size:13px;opacity:.9;margin-top:4px;max-width:80%;line-height:1.5;}
.pa-clubhero__deco{position:absolute;right:-20px;top:-20px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.12);}
.pa-clubcard{display:flex;align-items:center;gap:14px;padding:14px;border:1px solid var(--border);border-radius:18px;background:var(--surface);box-shadow:var(--shadow-sm);cursor:pointer;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);}
.pa-clubcard + .pa-clubcard{margin-top:12px;}
.pa-clubcard:hover{border-color:var(--brand-blue-300);box-shadow:var(--shadow-md);}
.pa-clublogo{width:58px;height:58px;border-radius:16px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;background:var(--gray-50);border:1px solid var(--border);overflow:hidden;}
.pa-clublogo svg{width:34px;height:34px;}
.pa-clubcard__body{flex:1;min-width:0;}
.pa-clubcard__name{font-size:15px;font-weight:700;}
.pa-clubcard__cat{font-size:12px;color:var(--text-subtle);}
.pa-clubcard__row{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted);margin-top:4px;}
.pa-clubcard__row svg{width:13px;height:13px;color:var(--text-subtle);}
.pa-disc{flex-shrink:0;text-align:center;border-radius:14px;background:var(--brand-blue-50);color:var(--brand-blue-700);padding:8px 10px;}
.pa-disc b{font-size:20px;font-weight:800;line-height:1;}
.pa-disc span{display:block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;margin-top:2px;}

/* mapa estilizado */
.pa-map{position:relative;height:180px;border-radius:18px;overflow:hidden;border:1px solid var(--border);background:
  linear-gradient(0deg,rgba(0,0,0,.02),rgba(0,0,0,.02)),
  repeating-linear-gradient(0deg,#E8EEF6 0 22px,#EFF4FA 22px 44px),
  repeating-linear-gradient(90deg,#E8EEF6 0 22px,#EFF4FA 22px 44px);}
.pa-map__road{position:absolute;background:#fff;box-shadow:0 0 0 1px rgba(15,23,42,.05);}
.pa-map__road--h{left:0;right:0;height:14px;top:46%;}
.pa-map__road--v{top:0;bottom:0;width:14px;left:38%;}
.pa-map__road--d{top:-20%;bottom:-20%;width:12px;left:70%;transform:rotate(22deg);background:#DCE6F2;}
.pa-map__pin{position:absolute;left:44%;top:38%;transform:translate(-50%,-100%);color:var(--brand-blue-600);}
.pa-map__pin svg{width:38px;height:38px;filter:drop-shadow(0 6px 8px rgba(var(--pa-primary-rgb),.35));}
.pa-map__zoom{position:absolute;right:10px;bottom:10px;display:flex;flex-direction:column;background:var(--surface);border-radius:10px;overflow:hidden;box-shadow:var(--shadow-sm);}
.pa-map__zoom button{width:32px;height:32px;color:var(--text-muted);}
.pa-map__zoom button+button{border-top:1px solid var(--border);}

/* ─── Checkout / pagamento ──────────────────────────────────────── */
.pa-summary{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;}
.pa-summary__row{display:flex;justify-content:space-between;gap:12px;padding:13px 16px;font-size:14px;border-bottom:1px solid var(--border);}
.pa-summary__row--total{font-weight:800;font-size:16px;background:var(--surface-sunken);border-bottom:0;}
.pa-summary__row .pa-mut{color:var(--text-subtle);}
.pa-paymethods{display:flex;flex-direction:column;gap:10px;}
.pa-pay{display:flex;align-items:center;gap:12px;padding:14px;border:1.5px solid var(--border);border-radius:14px;cursor:pointer;transition:all var(--dur-fast);}
.pa-pay.is-selected{border-color:var(--brand-blue-500);background:var(--brand-blue-50);}
.pa-pay__ico{width:40px;height:40px;border-radius:10px;background:var(--gray-100);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;}
.pa-pay.is-selected .pa-pay__ico{background:var(--brand-blue-500);color:#fff;}
.pa-pay__ico svg{width:20px;height:20px;}
.pa-pay__body{flex:1;}
.pa-pay__t{font-size:14px;font-weight:600;}
.pa-pay__d{font-size:12px;color:var(--text-subtle);}
.pa-pay__radio{width:20px;height:20px;border-radius:50%;border:2px solid var(--gray-300);display:inline-flex;align-items:center;justify-content:center;}
.pa-pay.is-selected .pa-pay__radio{border-color:var(--brand-blue-500);}
.pa-pay.is-selected .pa-pay__radio::after{content:"";width:10px;height:10px;border-radius:50%;background:var(--brand-blue-500);}

/* cartão de crédito visual */
.pa-creditcard{border-radius:18px;padding:20px;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--pa-primary),#000 48%),var(--brand-blue-600) 60%,var(--brand-blue-500));box-shadow:0 16px 30px rgba(var(--pa-primary-rgb),.3);position:relative;overflow:hidden;aspect-ratio:9 / 5;width:100%;max-width:420px;margin-inline:auto;display:flex;flex-direction:column;justify-content:space-between;}
.pa-creditcard__deco{position:absolute;right:-30px;top:-30px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.1);}
.pa-creditcard__chip{width:38px;height:28px;border-radius:6px;background:linear-gradient(135deg,#FFD56B,#E0A82E);margin-bottom:0;}
.pa-creditcard__num{transition:color var(--dur-fast);}
.pa-creditcard__num{font-family:var(--font-mono);font-size:18px;letter-spacing:.12em;}
.pa-creditcard__row{display:flex;justify-content:space-between;margin-top:16px;font-size:12px;}
.pa-creditcard__row span{display:block;opacity:.7;font-size:10px;text-transform:uppercase;letter-spacing:.06em;}

/* ─── Sucesso / confirmação ─────────────────────────────────────── */
.pa-success{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px 28px;}
.pa-success__badge{width:104px;height:104px;border-radius:50%;background:rgba(22,163,74,.12);color:var(--success);display:inline-flex;align-items:center;justify-content:center;margin-bottom:22px;position:relative;}
.pa-success__badge svg{width:52px;height:52px;}
.pa-success__badge::after{content:"";position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(22,163,74,.2);animation:pa-pop 2s ease-out infinite;}
@keyframes pa-pop{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.25);opacity:0}}
.pa-success__t{font-size:22px;font-weight:800;letter-spacing:-.02em;}
.pa-success__d{font-size:14px;color:var(--text-muted);margin-top:8px;max-width:280px;line-height:1.5;}
.pa-ticket{margin-top:24px;width:100%;background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-sm);overflow:hidden;}
.pa-ticket__head{padding:14px 16px;background:var(--pa-grad-blue);color:#fff;display:flex;align-items:center;gap:12px;text-align:left;}
.pa-ticket__body{padding:4px 16px;}

/* ─── Perfil ────────────────────────────────────────────────────── */
.pa-profhead{display:flex;flex-direction:column;align-items:center;text-align:center;padding:8px 0 18px;}
.pa-profhead__name{font-size:20px;font-weight:800;margin-top:12px;letter-spacing:-.01em;}
.pa-profhead__meta{font-size:13px;color:var(--text-subtle);margin-top:2px;}
.pa-profhead__edit{position:relative;}
.pa-profhead__cam{position:absolute;right:-2px;bottom:-2px;width:30px;height:30px;border-radius:50%;background:var(--brand-blue-500);color:#fff;border:3px solid var(--surface);display:inline-flex;align-items:center;justify-content:center;}
.pa-profhead__cam svg{width:15px;height:15px;}

.pa-menu{background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;}
.pa-menu__item{display:flex;align-items:center;gap:14px;padding:15px 16px;border-bottom:1px solid var(--border);cursor:pointer;transition:background var(--dur-fast);}
.pa-menu__item:last-child{border-bottom:0;}
.pa-menu__item:hover{background:var(--gray-50);}
.pa-menu__ico{width:38px;height:38px;border-radius:11px;background:var(--brand-blue-50);color:var(--brand-blue-600);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.pa-menu__ico svg{width:19px;height:19px;}
.pa-menu__ico--danger{background:rgba(239,68,68,.1);color:var(--danger);}
.pa-menu__t{flex:1;font-size:14px;font-weight:600;}
.pa-menu__chev{color:var(--text-subtle);}
.pa-menu__chev svg{width:18px;height:18px;}

/* dependentes */
.pa-dep{display:flex;align-items:center;gap:12px;padding:12px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);}
.pa-dep + .pa-dep{margin-top:10px;}
.pa-dep__body{flex:1;}
.pa-dep__name{font-size:14px;font-weight:600;}
.pa-dep__rel{font-size:12px;color:var(--text-subtle);}
.pa-dep-add{display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:1.5px dashed var(--brand-blue-200);border-radius:14px;color:var(--brand-blue-600);font-size:14px;font-weight:600;background:var(--brand-blue-50);cursor:pointer;margin-top:10px;}
.pa-dep-add svg{width:18px;height:18px;}

/* IAra card */
.pa-iara{display:flex;align-items:center;gap:14px;border-radius:20px;padding:14px;min-height:130px;background:linear-gradient(135deg,#6E5BFF,#9B7BFF);color:#fff;cursor:pointer;box-shadow:0 14px 28px rgba(110,91,255,.3);position:relative;overflow:hidden;}
.pa-iara__deco{position:absolute;right:-10px;bottom:-20px;width:90px;height:90px;border-radius:50%;background:rgba(255,255,255,.12);}
.pa-iara__photo{width:60px;height:60px;border-radius:50%;object-fit:cover;border:2.5px solid rgba(255,255,255,.7);flex-shrink:0;}
.pa-iara__t{font-size:16px;font-weight:800;display:flex;align-items:center;gap:6px;}
.pa-iara__t svg{width:16px;height:16px;}
.pa-iara__d{font-size:12px;opacity:.92;margin-top:2px;}
.pa-iara__go{margin-left:auto;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.22);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.pa-iara__go svg{width:18px;height:18px;}

/* IAra chat screen header */
.pa-iarahead{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 20px 16px;}
.pa-iarahead img{width:80px;height:80px;border-radius:50%;object-fit:cover;border:3px solid #fff;box-shadow:var(--shadow-md);}
.pa-iarahead__name{font-size:18px;font-weight:800;margin-top:10px;}
.pa-iarahead__status{font-size:12px;color:var(--success);font-weight:600;display:inline-flex;align-items:center;gap:5px;margin-top:2px;}
.pa-iarahead__status::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--success);}

/* ─── Helpers ───────────────────────────────────────────────────── */
.pa-tag{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:999px;font-size:11px;font-weight:700;}
.pa-tag--blue{background:var(--brand-blue-50);color:var(--brand-blue-700);}
.pa-tag--green{background:rgba(22,163,74,.12);color:var(--success);}
.pa-tag--gray{background:var(--gray-100);color:var(--text-muted);}
.pa-tag--amber{background:rgba(245,158,11,.14);color:#A16207;}
.pa-tag svg{width:12px;height:12px;}
.pa-divider{height:1px;background:var(--border);margin:16px 0;}
.pa-muted{color:var(--text-subtle);}
.pa-center{text-align:center;}
.pa-p{font-size:14px;color:var(--text-muted);line-height:1.55;}
.pa-h2{font-size:20px;font-weight:800;letter-spacing:-.02em;}
.pa-h3{font-size:16px;font-weight:700;margin:0 4px 10px;}
.pa-label{font-size:13px;font-weight:600;margin-bottom:6px;display:block;}
.pa-input{width:100%;height:48px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);padding:0 14px;font-size:14px;outline:0;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);}
.pa-input:focus{border-color:var(--brand-blue-300);box-shadow:0 0 0 4px var(--focus);}
.pa-field{margin-bottom:14px;}
.pa-field-row{display:flex;gap:12px;}
.pa-field-row .pa-field{flex:1;}

/* índice de telas (index.html) */
.pa-index{max-width:1100px;width:100%;}
.pa-index h1{font-size:28px;font-weight:800;letter-spacing:-.02em;margin:0 0 4px;}
.pa-index p{color:var(--text-muted);margin:0 0 28px;}
.pa-index__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;}
.pa-index__card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm);transition:transform var(--dur-fast),box-shadow var(--dur-fast);}
.pa-index__card:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);}
.pa-index__num{font:700 12px/1 var(--font-mono);color:var(--brand-blue-500);}
.pa-index__t{font-size:15px;font-weight:700;margin:8px 0 2px;}
.pa-index__d{font-size:12px;color:var(--text-subtle);}
.pa-index__group{font:600 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);margin:28px 0 12px;}

/* ─── Cards de ação na home (estilo hero com imagem + gradiente) ── */
.pa-actcards{display:flex;flex-direction:column;gap:14px;padding:0 4px;}
.pa-actcard{position:relative;overflow:hidden;border-radius:22px;padding:18px 20px;min-height:130px;display:flex;flex-direction:column;justify-content:center;color:#fff;cursor:pointer;box-shadow:0 14px 30px rgba(var(--pa-primary-rgb),.2);transition:transform var(--dur-fast);}
.pa-actcard:active{transform:scale(.99);}
.pa-actcard--urgent{background:var(--pa-grad-blue);}
.pa-actcard--brand{background:linear-gradient(150deg,var(--brand-blue-300),var(--brand-blue-600));box-shadow:0 14px 30px rgba(var(--pa-primary-rgb),.2);}
.pa-actcard--deep{background:var(--pa-grad-deep);box-shadow:0 14px 30px rgba(var(--pa-primary-rgb),.22);}
.pa-actcard--club{background:linear-gradient(140deg,#13A66B 0%,#0E9E8A 45%,#0E7AFF 130%);box-shadow:0 14px 30px rgba(16,163,74,.22);}
.pa-actcard__img{position:absolute;right:0;top:0;bottom:0;width:48%;object-fit:cover;object-position:top center;-webkit-mask-image:linear-gradient(90deg,transparent,#000 58%);mask-image:linear-gradient(90deg,transparent,#000 58%);}
.pa-actcard__live{display:inline-flex;align-items:center;gap:5px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:rgba(255,255,255,.22);padding:3px 9px;border-radius:999px;width:fit-content;margin-bottom:8px;}
.pa-actcard__live::before{content:"";width:7px;height:7px;border-radius:50%;background:#FF5A5A;animation:pa-pulse 1.6s infinite;}
.pa-actcard__t{font-size:19px;font-weight:800;letter-spacing:-.02em;max-width:64%;line-height:1.1;}
.pa-actcard__d{font-size:12px;opacity:.9;max-width:58%;line-height:1.4;margin-top:5px;}
.pa-actcard__cta{display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.92);color:var(--brand-blue-700);font-size:12px;font-weight:700;padding:7px 13px;border-radius:999px;width:fit-content;margin-top:13px;}
.pa-actcard--club .pa-actcard__cta{color:#0B7A56;}
.pa-actcard__cta svg{width:14px;height:14px;}
.pa-actcard__deco{position:absolute;right:-26px;bottom:-26px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.1);}
.pa-actcard__bigico{position:absolute;right:20px;top:50%;transform:translateY(-50%);pointer-events:none;}
.pa-actcard__bigico svg{width:88px;height:88px;color:rgba(255,255,255,.24);}
/* grid de atalhos da home: empilhado no mobile, 2 colunas no desktop */
.pa-homegrid{display:flex;flex-direction:column;gap:14px;}
.pa-homegrid > *{margin:0;}
@media (min-width:860px){
  .pa-homegrid{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch;}
}

/* ─── Popovers (notificações / perfil) ──────────────────────────── */
.pa-greet{position:relative;}
.pa-pop{position:absolute;z-index:40;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);overflow:hidden;}
.pa-pop[hidden],.pa-navpop[hidden],.pa-sidepop[hidden]{display:none;}
.pa-notif{top:52px;right:0;width:300px;max-width:calc(100vw - 44px);}
.pa-notif__head{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-weight:700;font-size:14px;}
.pa-notif__head a{font-size:12px;color:var(--brand-blue-600);font-weight:600;}
.pa-notif__list{max-height:330px;overflow-y:auto;}
.pa-notif__item{display:flex;gap:10px;padding:11px 14px;border-bottom:1px solid var(--border);align-items:flex-start;}
.pa-notif__item:last-child{border-bottom:0;}
.pa-notif__ico{width:34px;height:34px;border-radius:10px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;}
.pa-notif__ico svg{width:17px;height:17px;}
.pa-notif__body{flex:1;min-width:0;}
.pa-notif__t{font-size:13px;font-weight:600;line-height:1.3;}
.pa-notif__d{font-size:12px;color:var(--text-subtle);margin-top:1px;line-height:1.35;}
.pa-notif__time{font-size:11px;color:var(--text-subtle);margin-top:3px;}
.pa-notif__unread{width:8px;height:8px;border-radius:50%;background:var(--brand-blue-500);flex-shrink:0;margin-top:13px;}

.pa-navpop{position:absolute;bottom:62px;right:0;width:188px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;z-index:40;}
.pa-navpop a,.pa-sidepop a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-size:14px;font-weight:600;color:var(--text);}
.pa-navpop a:hover,.pa-sidepop a:hover{background:var(--gray-100);}
.pa-navpop a.is-danger,.pa-sidepop a.is-danger{color:var(--danger);}
.pa-navpop a svg,.pa-sidepop a svg{width:18px;height:18px;}
.pa-navpop hr,.pa-sidepop hr{border:0;border-top:1px solid var(--border);margin:4px 6px;}

.pa-side__user{cursor:pointer;border-radius:12px;position:relative;transition:background var(--dur-fast);}
.pa-side__user:hover{background:var(--gray-100);}
.pa-sidepop{position:absolute;bottom:60px;left:6px;right:6px;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;z-index:40;}

/* ─── Agendamento por steps + calendário disp/indisp ────────────── */
.pa-wizstep[hidden]{display:none;}
.pa-cal__day--off{color:var(--gray-300);text-decoration:line-through;pointer-events:none;}
.pa-cal-legend{display:flex;gap:18px;margin-top:14px;font-size:12px;color:var(--text-subtle);}
.pa-cal-legend span{display:inline-flex;align-items:center;gap:6px;}
.pa-cal-legend i{width:9px;height:9px;border-radius:50%;background:var(--brand-blue-400);display:inline-block;}
.pa-cal-legend i.off{background:var(--gray-300);}
/* passo 2 do agendamento: empilhado no mobile, calendário | horários no desktop */
.pa-datetime{display:flex;flex-direction:column;gap:16px;}
@media (min-width:860px){
  .pa-datetime{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;}
}

/* tag extra para tipo de consulta no histórico */
.pa-tag--violet{background:rgba(110,91,255,.12);color:#6E5BFF;}

/* próxima consulta (destaque) — home + histórico */
.pa-next{display:flex;align-items:center;gap:12px;padding:13px 14px;border-radius:18px;background:var(--brand-blue-50);border:1.5px solid var(--brand-blue-200);text-decoration:none;color:var(--text);box-shadow:0 8px 20px rgba(var(--pa-primary-rgb),.1);}
.pa-next__body{flex:1;min-width:0;}
.pa-next__label{font:700 10px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--brand-blue-700);display:flex;align-items:center;gap:6px;margin-bottom:5px;}
.pa-next__label::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brand-blue-500);box-shadow:0 0 0 0 rgba(var(--pa-primary-rgb),.5);animation:pa-pulse 1.8s infinite;}
.pa-next__doc{font-size:14px;font-weight:700;line-height:1.2;}
.pa-next__meta{font-size:12px;color:var(--text-muted);margin-top:1px;}
.pa-next__at{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:13px;font-weight:700;color:var(--brand-blue-700);}
.pa-next__at svg{width:15px;height:15px;flex-shrink:0;}
.pa-histcard--next{border:1.5px solid var(--brand-blue-500);background:var(--brand-blue-50);}
.pa-histcard--next .pa-histcard__date{background:var(--brand-blue-500);color:#fff;}

/* ─── Contraste automático: texto sobre a cor primária ──────────────
   quando a primária é clara, --pa-on-primary vira escuro (definido no app.js) */
.pa-btn:not(.pa-btn--ghost):not(.pa-btn--light):not(.pa-btn--danger),
.pa-actcard:not(.pa-actcard--club),
.pa-hero,.pa-clubhero,.pa-rechero,
.pa-chip.is-active,
.pa-slot.is-selected,
.pa-cal__day.is-selected,
.pa-stepper__step.is-done .pa-stepper__dot,
.pa-carteira__chip,
.pa-pay.is-selected .pa-pay__ico,
.pa-histcard--next .pa-histcard__date{color:var(--pa-on-primary);}

/* ─── Cancelar atendimento (header) ─────────────────────────────── */
.pa-cancel{margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border-radius:999px;background:var(--gray-100);color:var(--text-muted);font-size:13px;font-weight:600;flex-shrink:0;transition:background var(--dur-fast),color var(--dur-fast);}
.pa-cancel:hover{background:rgba(239,68,68,.1);color:var(--danger);}
.pa-cancel svg{width:15px;height:15px;}
.pa-screen--blue .pa-cancel,.pa-screen--dark .pa-cancel{background:rgba(255,255,255,.18);color:#fff;}
.pa-screen--blue .pa-cancel:hover{background:rgba(255,255,255,.28);}

/* ─── Caixa de texto rolável (TCLE) ─────────────────────────────── */
.pa-scrollbox{border:1px solid var(--border);border-radius:16px;background:var(--surface);padding:16px 18px;max-height:46vh;overflow-y:auto;font-size:13px;line-height:1.65;color:var(--text-muted);}
.pa-scrollbox h4{margin:0 0 10px;font-size:14px;font-weight:700;color:var(--text);}
.pa-scrollbox strong{color:var(--text);font-weight:700;display:block;margin:14px 0 4px;}
.pa-scrollbox .pa-sign{height:1px;background:var(--border-strong);margin:18px 0 4px;}

/* ─── Recomendações (layout distinto: hero + lista) ─────────────── */
.pa-rechero{border-radius:22px;padding:22px;background:var(--pa-grad-blue);color:#fff;position:relative;overflow:hidden;box-shadow:0 16px 32px rgba(var(--pa-primary-rgb),.22);margin-bottom:8px;}
.pa-rechero__deco{position:absolute;right:-24px;top:-24px;width:130px;height:130px;border-radius:50%;background:rgba(255,255,255,.12);}
.pa-rechero__ico{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.2);display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;}
.pa-rechero__ico svg{width:26px;height:26px;}
.pa-rechero__t{font-size:20px;font-weight:800;letter-spacing:-.02em;line-height:1.15;}
.pa-rechero__d{font-size:13px;opacity:.92;margin-top:6px;line-height:1.5;}
.pa-reclist{display:flex;flex-direction:column;gap:0;background:var(--surface);border:1px solid var(--border);border-radius:18px;overflow:hidden;}
.pa-recitem{display:flex;align-items:center;gap:14px;padding:15px 16px;border-bottom:1px solid var(--border);}
.pa-recitem:last-child{border-bottom:0;}
.pa-recitem__num{font:800 13px/1 var(--font-mono);color:var(--text-subtle);width:18px;flex-shrink:0;}
.pa-recitem__ico{width:42px;height:42px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.pa-recitem__ico svg{width:21px;height:21px;}
.pa-recitem__t{font-size:14px;font-weight:600;}
.pa-recitem__d{font-size:12px;color:var(--text-subtle);margin-top:1px;}

/* ─── Teste de dispositivos (câmera/microfone) ──────────────────── */
.pa-camframe{position:relative;border-radius:18px;overflow:hidden;background:#0B1220;aspect-ratio:4/3;margin-bottom:14px;}
.pa-camframe img{width:100%;height:100%;object-fit:cover;}
.pa-camframe__badge{position:absolute;top:12px;left:12px;display:inline-flex;align-items:center;gap:6px;background:rgba(11,18,32,.5);color:#fff;font-size:11px;font-weight:600;padding:5px 10px;border-radius:999px;backdrop-filter:blur(6px);}
.pa-camframe__badge::before{content:"";width:7px;height:7px;border-radius:50%;background:#37D67A;}
.pa-micbar{display:flex;align-items:center;gap:10px;margin-bottom:16px;}
.pa-micbar > svg{width:18px;height:18px;color:var(--text-muted);flex-shrink:0;}
.pa-meter{flex:1;height:10px;border-radius:6px;background:var(--gray-200);overflow:hidden;}
.pa-meter__fill{height:100%;border-radius:6px;width:0;background:linear-gradient(90deg,#16A34A 0%,#A3E635 60%,#F59E0B 100%);transition:width .15s linear;}
.pa-selectrow{display:flex;gap:12px;}
.pa-selectrow .pa-field{flex:1;margin-bottom:0;}
.pa-select{width:100%;height:48px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);padding:0 14px;font-size:14px;color:var(--text);outline:0;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23999' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;}
.pa-select:focus{border-color:var(--brand-blue-300);box-shadow:0 0 0 4px var(--focus);}

/* ─── Sala de chamada (helpdesk / médico) ───────────────────────── */
.pa-callstatus{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 4px 12px;font-size:13px;}
.pa-online{display:inline-flex;align-items:center;gap:7px;color:var(--success);font-weight:700;}
.pa-online::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--success);box-shadow:0 0 0 0 rgba(22,163,74,.5);animation:pa-pulse 1.8s infinite;}
.pa-callstatus__who{color:var(--text-muted);}
.pa-callstatus__who b{color:var(--text);}
.pa-callstage{position:relative;border-radius:18px;overflow:hidden;background:#1B2A44;aspect-ratio:4/3;}
.pa-callstage__bg{width:100%;height:100%;object-fit:cover;}
.pa-callstage__pip{position:absolute;left:12px;bottom:64px;width:78px;height:100px;border-radius:12px;object-fit:cover;border:2px solid rgba(255,255,255,.75);box-shadow:var(--shadow-md);}
.pa-callbar{position:absolute;left:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center;gap:14px;padding:12px;background:rgba(11,18,32,.6);backdrop-filter:blur(6px);}
.pa-callbar button,.pa-callbar a{width:42px;height:42px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:rgba(255,255,255,.22);transition:transform var(--dur-fast);}
.pa-callbar button:active,.pa-callbar a:active{transform:scale(.92);}
.pa-callbar .is-cam{background:#16A34A;}
.pa-callbar .is-end{background:var(--danger);}
.pa-callbar svg{width:20px;height:20px;}

/* anexos + upload */
.pa-attach-list{display:flex;flex-direction:column;gap:4px;}
.pa-attach{display:flex;align-items:center;gap:10px;padding:8px 0;font-size:14px;}
.pa-attach__ico{width:34px;height:34px;border-radius:9px;background:var(--brand-blue-50);color:var(--brand-blue-600);display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;}
.pa-attach__ico svg{width:17px;height:17px;}
.pa-attach__name{font-weight:600;}
.pa-attach__del{margin-left:auto;display:inline-flex;align-items:center;gap:4px;color:var(--danger);font-size:12px;font-weight:600;cursor:pointer;}
.pa-attach__del svg{width:13px;height:13px;}
/* dropzone de upload (robusto) */
.pa-upload{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-align:center;border:1.5px dashed var(--brand-blue-200);border-radius:16px;padding:20px 16px;background:var(--brand-blue-50);cursor:pointer;color:var(--text-muted);}
.pa-upload:hover{border-color:var(--brand-blue-400);}
.pa-upload__ico{width:44px;height:44px;border-radius:12px;background:#fff;border:1px solid var(--border);display:inline-flex;align-items:center;justify-content:center;color:var(--brand-blue-600);margin-bottom:6px;}
.pa-upload__ico svg{width:22px;height:22px;}
.pa-upload strong{color:var(--brand-blue-700);font-weight:700;}
.pa-upload small{font-size:12px;color:var(--text-subtle);margin-top:2px;}

/* ─── Resumo / consulta finalizada ──────────────────────────────── */
.pa-cardhead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--border);}
.pa-cardhead__t{font-size:16px;font-weight:700;}
.pa-cardhead .pa-btn{width:auto;height:38px;padding:0 18px;font-size:13px;box-shadow:none;}
.pa-sumlist{display:flex;flex-direction:column;}
.pa-sumitem{display:flex;align-items:center;gap:10px;font-size:14px;padding:8px 0;}
.pa-sumitem > svg{width:18px;height:18px;color:var(--success);flex-shrink:0;}
.pa-sumitem b{font-weight:600;}
.pa-block-t{font-size:13px;font-weight:700;color:var(--text);margin:4px 0 6px;}
.pa-ul{margin:4px 0 0;padding-left:20px;font-size:14px;color:var(--text-muted);line-height:1.6;}
.pa-ul li{margin:3px 0;}
.pa-ul--alpha{list-style:lower-alpha;}

/* ─── Sidebar desktop (injetada via app.js; oculta no mobile) ────── */
.pa-side{display:none;flex-direction:column;width:250px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:18px 14px 14px;}
.pa-side__brand{display:flex;align-items:center;padding:6px 10px 18px;}
.pa-side__brand img{height:42px;width:auto;max-width:170px;object-fit:contain;}
.pa-side__nav{display:flex;flex-direction:column;gap:4px;}
.pa-side__sectlabel{font:600 11px/1 var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-subtle);padding:8px 14px 4px;}
.pa-side__item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:13px;color:var(--text-muted);font-size:14px;font-weight:600;transition:background var(--dur-fast),color var(--dur-fast);}
.pa-side__item svg{width:20px;height:20px;}
.pa-side__item:hover{background:var(--gray-100);color:var(--text);}
.pa-side__item.is-active{background:var(--brand-blue-50);color:var(--brand-blue-700);}
.pa-side__item.is-active svg{color:var(--brand-blue-600);}
.pa-side__iara{margin-top:14px;display:flex;align-items:center;gap:10px;padding:13px 14px;border-radius:14px;background:linear-gradient(135deg,#6E5BFF,#9B7BFF);color:#fff;font-weight:700;font-size:13px;box-shadow:0 10px 22px rgba(110,91,255,.28);}
.pa-side__iara svg{width:18px;height:18px;}
.pa-side__user{margin-top:auto;display:flex;align-items:center;gap:10px;padding:12px 10px 4px;border-top:1px solid var(--border);}
.pa-side__user img{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.pa-side__user b{font-size:13px;font-weight:700;display:block;line-height:1.2;}
.pa-side__user small{font-size:11px;color:var(--text-subtle);}

/* ─── Responsivo: app full-bleed no mobile/tablet (sem moldura) ──── */
@media (max-width:859px){
  html:not(:has(.pa-totem)):has(.pa-nav){height:100vh;height:100dvh;overflow:hidden;}
  body.pa-body{padding:0;margin:0;align-items:stretch;}
  body.pa-body:not(.pa-totem):has(.pa-nav){min-height:0;height:100vh;height:100dvh;overflow:hidden;}
  .pa-phone{max-width:none;width:100%;height:100vh;height:100dvh;border-radius:0;padding:0;border:0;box-shadow:none;margin:0;}
  .pa-screen{border-radius:0;}
  .pa-has-nav .pa-nav{position:relative;left:auto;bottom:auto;transform:none;flex-shrink:0;align-self:center;margin:8px auto calc(12px + env(safe-area-inset-bottom));}
  .pa-has-nav .pa-navrow{position:relative;left:auto;bottom:auto;transform:none;flex-shrink:0;align-self:center;margin:8px auto calc(12px + env(safe-area-inset-bottom));}
  .pa-has-nav .pa-navrow .pa-nav{margin:0;}
  .pa-has-nav .pa-body-scroll{padding-bottom:24px;}
  /* carteirinha: sem proporção fixa no mobile p/ não cortar conteúdo */
  .pa-carteira{aspect-ratio:auto;max-width:none;}
}

/* ─── Desktop: app de browser (sem moldura de celular) ──────────── */
@media (min-width:860px){
  body.pa-body{padding:28px;align-items:center;}
  /* janela do app = content largo com max-height; vira layout em 2 colunas */
  .pa-phone{
    max-width:1180px;width:calc(100vw - 56px);
    height:min(900px,calc(100vh - 56px));
    padding:0;border-radius:24px;
    border:1px solid var(--border);
    box-shadow:0 30px 70px rgba(15,23,42,.16),0 6px 18px rgba(15,23,42,.08);
    flex-direction:row;overflow:hidden;
  }
  .pa-side{display:flex;}
  .pa-screen{border-radius:0;flex:1;min-width:0;}
  .pa-screen--blue,.pa-screen--dark{border-radius:0;}

  .pa-greet{padding-top:24px;align-items:center;}
  .pa-greet .pa-avatar--48{width:42px;height:42px;}

  /* esconde cromo de celular */
  .pa-statusbar{display:none;}
  .pa-nav{display:none;}
  .pa-navrow{display:none;}
  .pa-fab{right:24px;bottom:24px;}

  /* conteúdo numa coluna confortável centralizada (gutter mínimo 32px) */
  .pa-has-nav .pa-body-scroll{padding-bottom:28px;}
  .pa-body-scroll,.pa-body-scroll.pa-pad,.pa-pad{padding-left:max(32px,calc((100% - 760px) / 2));padding-right:max(32px,calc((100% - 760px) / 2));}
  .pa-header{padding-bottom:14px;padding-left:max(32px,calc((100% - 760px) / 2));padding-right:max(32px,calc((100% - 760px) / 2));}
  .pa-footer{padding-left:max(32px,calc((100% - 760px) / 2));padding-right:max(32px,calc((100% - 760px) / 2));}
  .pa-chat,.pa-chat__bar{padding-left:max(32px,calc((100% - 760px) / 2));padding-right:max(32px,calc((100% - 760px) / 2));}
  .pa-minivideo{margin-left:max(32px,calc((100% - 760px) / 2));margin-right:max(32px,calc((100% - 760px) / 2));}


  /* hero/tiles aproveitam melhor a largura */
  .pa-tiles{gap:16px;}
}


/* ─── Carteirinha digital ───────────────────────────────────────── */
.pa-carteira{position:relative;overflow:hidden;border-radius:22px;padding:20px;color:var(--text);background:var(--surface);border:2px solid var(--brand-blue-500);box-shadow:0 16px 34px rgba(var(--pa-primary-rgb),.18);width:100%;max-width:520px;margin-inline:auto;display:flex;flex-direction:column;gap:16px;}
.pa-carteira__deco{position:absolute;right:-44px;top:-44px;width:170px;height:170px;border-radius:50%;background:rgba(var(--pa-primary-rgb),.06);}
.pa-carteira__deco2{position:absolute;left:-30px;bottom:-50px;width:130px;height:130px;border-radius:50%;background:rgba(var(--pa-primary-rgb),.05);}
.pa-carteira__top{display:flex;align-items:center;justify-content:space-between;gap:12px;position:relative;}
.pa-carteira__brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:15px;letter-spacing:-.01em;color:var(--text);}
.pa-carteira__brand img{height:48px;width:auto;max-width:180px;object-fit:contain;}
.pa-brand-logo--dark{display:none;}
html[data-pa-theme="dark"] .pa-brand-logo--light{display:none;}
html[data-pa-theme="dark"] .pa-brand-logo--dark{display:inline-block;}
.pa-carteira__chip{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;background:var(--brand-blue-500);color:#fff;padding:4px 10px;border-radius:999px;}
.pa-carteira__person{display:flex;align-items:center;gap:14px;margin:0;position:relative;}
.pa-carteira__photo{width:62px;height:62px;border-radius:16px;object-fit:cover;border:2px solid var(--brand-blue-100);flex-shrink:0;}
.pa-carteira__name{font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--text);}
.pa-carteira__plan{font-size:12px;color:var(--text-muted);margin-top:3px;display:inline-flex;align-items:center;gap:6px;}
.pa-carteira__plan i{color:var(--brand-blue-600);}
.pa-carteira__grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;position:relative;}
.pa-carteira__lbl{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--text-subtle);}
.pa-carteira__val{font-size:13px;font-weight:700;font-family:var(--font-mono);margin-top:2px;color:var(--text);}
.pa-carteira__foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:16px;padding-top:14px;border-top:1px solid var(--border);position:relative;}
.pa-carteira__codebox{background:var(--surface-sunken);border:1px solid var(--border);border-radius:8px;padding:7px 10px;}
.pa-carteira__barcode{height:34px;width:138px;background:repeating-linear-gradient(90deg,#0B1220 0 2px,transparent 2px 4px,#0B1220 4px 5px,transparent 5px 8px,#0B1220 8px 11px,transparent 11px 13px);border-radius:2px;}
.pa-carteira__qr{width:46px;height:46px;border-radius:8px;background:var(--brand-blue-50);display:inline-flex;align-items:center;justify-content:center;color:var(--brand-blue-600);}
.pa-carteira__qr svg{width:30px;height:30px;}

/* ─── Editor de foto do perfil ──────────────────────────────────── */
.pa-photoedit{display:flex;align-items:center;gap:16px;padding:4px 4px 18px;}
.pa-photoedit__info{display:flex;flex-direction:column;gap:6px;}
.pa-photoedit__hint{font-size:12px;color:var(--text-subtle);}
.pa-photoedit .pa-btn{width:auto;height:40px;padding:0 16px;font-size:13px;box-shadow:none;}

.pa-cropov{position:fixed;inset:0;z-index:3000;background:rgba(15,23,42,.6);display:flex;align-items:center;justify-content:center;padding:20px;}
.pa-cropov__panel{width:100%;max-width:420px;background:var(--surface);border-radius:20px;padding:20px;box-shadow:var(--shadow-lg);display:flex;flex-direction:column;gap:14px;}
.pa-cropov__title{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--text);}
.pa-cropov__stage{width:100%;max-height:55vh;background:var(--gray-100);border-radius:14px;overflow:hidden;padding:12px;}
.pa-cropov__stage img{display:block;max-width:100%;}
.pa-cropov__tools{display:flex;gap:8px;justify-content:center;}
.pa-cropov__tool{width:40px;height:40px;border-radius:10px;border:1.5px solid var(--brand-blue-200);background:var(--surface);color:var(--brand-blue-600);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;}
.pa-cropov__tool:hover{background:var(--brand-blue-50);}
.pa-cropov__tool svg{width:18px;height:18px;}
.pa-cropov__status{font-size:13px;min-height:18px;text-align:center;color:var(--text-muted);}
.pa-cropov__actions{display:flex;gap:12px;}
.pa-cropov__actions .pa-btn{flex:1;}
.pa-cropov__stage .cropper-view-box,.pa-cropov__stage .cropper-face{border-radius:50%;}
.pa-cropov__stage .cropper-point{width:14px;height:14px;background:#fff;border:2px solid var(--brand-blue-500);border-radius:50%;opacity:1;box-shadow:0 1px 4px rgba(15,23,42,.35);}
.pa-cropov__stage .cropper-point.point-n{top:-7px;margin-left:-7px;}
.pa-cropov__stage .cropper-point.point-s{bottom:-7px;margin-left:-7px;}
.pa-cropov__stage .cropper-point.point-e{right:-7px;margin-top:-7px;}
.pa-cropov__stage .cropper-point.point-w{left:-7px;margin-top:-7px;}
.pa-cropov__stage .cropper-point.point-ne{top:-7px;right:-7px;}
.pa-cropov__stage .cropper-point.point-nw{top:-7px;left:-7px;}
.pa-cropov__stage .cropper-point.point-se{bottom:-7px;right:-7px;width:14px;height:14px;}
.pa-cropov__stage .cropper-point.point-sw{bottom:-7px;left:-7px;}

/* ─── Ajustes finais ────────────────────────────────────────────── */
/* status bar mock removida (mobile + desktop) — é um app de browser */
.pa-statusbar{display:none;}
/* garante que o atributo [hidden] esconda botões/itens do wizard (display:flex sobrepõe o UA) */
.pa-btn[hidden],.pa-wizstep[hidden],[hidden]{display:none !important;}
.pa-header{padding-top:12px;}
/* enquadramento das pessoas nos cards de ação (não cortar a cabeça) */
.pa-actcard__img{object-position:center top;}
@media (min-width:860px){
  .pa-actcard{min-height:178px;}
  .pa-iara{min-height:178px;}
  .pa-actcard__img{width:70%;object-position:center 12%;}
}

/* ─── Login / Acesso ────────────────────────────────────────────── */
/* layout dividido: painel de imagem + box branco do formulário */
.pa-auth{position:relative;min-height:100%;display:flex;flex-direction:column;}

/* painel da imagem (topo no mobile, lateral esquerda no desktop) */
.pa-auth__media{position:relative;flex-shrink:0;height:200px;overflow:hidden;background:var(--brand-blue-600);}
.pa-auth__media img{width:100%;height:100%;object-fit:cover;object-position:center 20%;display:block;}

/* painel do formulário */
.pa-auth__panel{flex:1;min-height:0;display:flex;flex-direction:column;background:var(--pa-grad-blue-soft);overflow-y:auto;}
.pa-auth__top{position:absolute;top:0;right:0;z-index:3;display:flex;justify-content:flex-end;padding:14px 16px;}
.pa-auth__body{flex:1;min-height:0;display:flex;flex-direction:column;padding:18px var(--pa-pad) 28px;}
.pa-auth__box{width:100%;max-width:400px;margin:auto;background:var(--surface);border:1px solid var(--border);border-radius:24px;box-shadow:0 20px 50px rgba(15,23,42,.10);padding:30px 26px;}
.pa-auth__brand{display:flex;justify-content:center;margin-bottom:18px;}
.pa-auth__brand img{height:28px;width:auto;}
.pa-auth__title{font-size:23px;font-weight:800;letter-spacing:-.02em;text-align:center;color:var(--text);}
.pa-auth__sub{font-size:14px;color:var(--text-muted);text-align:center;margin:6px 0 24px;line-height:1.5;}

/* input com ícone à esquerda + ação à direita */
.pa-inputwrap{position:relative;display:flex;align-items:center;}
.pa-inputwrap__ico{position:absolute;left:14px;display:inline-flex;color:var(--text-subtle);pointer-events:none;}
.pa-inputwrap__ico svg{width:18px;height:18px;}
.pa-inputwrap .pa-input{padding-left:42px;}
.pa-inputwrap--pass .pa-input{padding-right:46px;}
.pa-passbtn{position:absolute;right:6px;width:36px;height:36px;border:0;background:transparent;border-radius:10px;color:var(--text-subtle);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--dur-fast),color var(--dur-fast);}
.pa-passbtn:hover{background:var(--gray-100);color:var(--text-muted);}
.pa-passbtn svg{width:18px;height:18px;}

/* linha "lembrar / esqueci a senha" */
.pa-auth__row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:2px 0 20px;}
.pa-auth__remember{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-muted);cursor:pointer;}
.pa-auth__link{font-size:13px;font-weight:600;color:var(--brand-blue-600);}
.pa-auth__link:hover{color:var(--brand-blue-700);}

/* separador "ou" */
.pa-or{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--text-subtle);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;}
.pa-or::before,.pa-or::after{content:"";flex:1;height:1px;background:var(--border);}

/* botão social (provedores) */
.pa-social{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:50px;border-radius:14px;border:1.5px solid var(--border);background:var(--surface);font-size:14px;font-weight:700;color:var(--text);cursor:pointer;transition:border-color var(--dur-fast),background var(--dur-fast),box-shadow var(--dur-fast);}
.pa-social:hover{border-color:var(--border-strong);background:var(--gray-50);}
.pa-social img,.pa-social svg{width:20px;height:20px;}
.pa-social + .pa-social{margin-top:10px;}
.pa-social:active{transform:scale(.99);}
/* variação WhatsApp */
.pa-social--wa{background:#25D366;border-color:#25D366;color:#fff;box-shadow:0 12px 24px rgba(37,211,102,.28);}
.pa-social--wa:hover{background:#1FB855;border-color:#1FB855;}

/* rodapé "criar conta" */
.pa-auth__foot{text-align:center;font-size:14px;color:var(--text-muted);margin-top:24px;}
.pa-auth__foot a{font-weight:700;color:var(--brand-blue-600);}
.pa-auth__foot a:hover{color:var(--brand-blue-700);}

/* desktop: 2 colunas — imagem à esquerda, box do formulário à direita */
@media (min-width:860px){
  .pa-auth{flex-direction:row;}
  .pa-auth__media{height:auto;flex:1.05;}
  .pa-auth__media img{object-position:center 16%;}
  .pa-auth__panel{flex:1;}
  .pa-auth__top{padding:18px 22px;}
  .pa-auth__body{padding:16px 24px 28px;}
}

.pa-side__brandtext{font-weight:800;font-size:18px;letter-spacing:-.02em;color:var(--text);}

html[data-pa-theme="dark"]{
  --gray-0:#10151D;--gray-50:#141A23;--gray-100:#1A212C;--gray-150:#1F2733;
  --gray-200:#27303D;--gray-300:#3A4453;--gray-400:#4A5566;--gray-500:#8A94A3;
  --gray-700:#B4BCC9;--gray-900:#EAEEF4;
  --bg:#0C111A;--bg-elevated:#141A23;--bg-soft:#10151D;
  --surface:#141A23;--surface-raised:#1A212C;--surface-sunken:#10151D;
  --text:#EAEEF4;--text-muted:#B4BCC9;--text-subtle:#8A94A3;
  --border:rgba(255,255,255,.10);--border-strong:rgba(255,255,255,.20);
  --table-stripe:rgba(255,255,255,.02);
  --brand-blue-50:color-mix(in srgb,var(--pa-primary) 15%,#0C111A);
  --brand-blue-100:color-mix(in srgb,var(--pa-primary) 26%,#0C111A);
  --brand-blue-200:color-mix(in srgb,var(--pa-primary) 42%,#0C111A);
  --brand-blue-300:color-mix(in srgb,var(--pa-primary),#fff 22%);
  --brand-blue-400:color-mix(in srgb,var(--pa-primary),#fff 12%);
  --brand-blue-500:var(--pa-primary);
  --brand-blue-600:color-mix(in srgb,var(--pa-primary),#fff 26%);
  --brand-blue-700:color-mix(in srgb,var(--pa-primary),#fff 46%);
}
html[data-pa-theme="dark"] body.pa-body{
  background:
    radial-gradient(60% 50% at 15% 10%,rgba(var(--pa-primary-rgb),.12),transparent 60%),
    radial-gradient(50% 40% at 90% 90%,rgba(var(--pa-primary-rgb),.08),transparent 60%),
    linear-gradient(180deg,#070A10 0%,#0C111A 100%);
}
html[data-pa-theme="dark"] .pa-phone{border-color:rgba(255,255,255,.08);box-shadow:0 30px 70px rgba(0,0,0,.55),0 6px 18px rgba(0,0,0,.4);}
html[data-pa-theme="dark"] .pa-nav{background:rgba(20,26,35,.92);border-color:rgba(255,255,255,.08);box-shadow:0 14px 34px rgba(0,0,0,.5);}
html[data-pa-theme="dark"] .pa-actcard__cta{color:#0B1220;}

html[data-pa-theme="dark"] .pa-carteira{
  --gray-0:#FFFFFF;--gray-50:#FAFAFA;--gray-100:#F5F5F5;--gray-150:#F2F2F2;--gray-200:#E8E8E8;--gray-300:#D4D4D4;--gray-500:#999999;--gray-700:#4A4A4A;--gray-900:#1B1C1D;
  --bg-elevated:#FFFFFF;--bg-soft:#F7F8FB;
  --surface:#FFFFFF;--surface-raised:#FFFFFF;--surface-sunken:#F7F8FB;
  --text:#1B1C1D;--text-muted:#4A4A4A;--text-subtle:#999999;
  --border:rgba(15,23,42,0.08);--border-strong:rgba(15,23,42,0.16);
  --brand-blue-700:color-mix(in srgb,var(--pa-primary),#000 34%);
  --brand-blue-600:color-mix(in srgb,var(--pa-primary),#000 16%);
  --brand-blue-500:var(--pa-primary);
  --brand-blue-400:color-mix(in srgb,var(--pa-primary),#fff 16%);
  --brand-blue-300:color-mix(in srgb,var(--pa-primary),#fff 38%);
  --brand-blue-200:color-mix(in srgb,var(--pa-primary),#fff 55%);
  --brand-blue-100:color-mix(in srgb,var(--pa-primary),#fff 75%);
  --brand-blue-50:color-mix(in srgb,var(--pa-primary),#fff 90%);
  background:#FFFFFF;color:var(--text);
}
html[data-pa-theme="dark"] .pa-actcard--club .pa-actcard__cta{color:#0B7A56;}
html[data-pa-theme="dark"] .pa-next__when{background:var(--surface-raised);border-color:var(--border-strong);}
html[data-pa-theme="dark"] .pa-stepper__step.is-current .pa-stepper__dot{background:var(--surface-raised);}
html[data-pa-theme="dark"] .pa-btn--light{background:var(--surface-raised);color:var(--brand-blue-300);}
html[data-pa-theme="dark"] .ds-banner--info{background:var(--brand-blue-50);color:var(--brand-blue-700);border:1px solid var(--brand-blue-100);}
html[data-pa-theme="dark"] .ds-banner--success{background:rgba(34,197,94,.12);color:#86EFAC;}
html[data-pa-theme="dark"] .ds-banner--warn{background:rgba(245,158,11,.14);color:#FCD34D;}
html[data-pa-theme="dark"] .ds-banner--danger{background:rgba(239,68,68,.14);color:#FCA5A5;}
html[data-pa-theme="dark"] .pa-select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23889' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");}

.pa-actcard,.pa-iara{transition:transform .22s var(--ease-out),box-shadow .22s var(--ease-out);}
.pa-actcard:hover{transform:translateY(-3px) scale(1.015);}
.pa-iara:hover{transform:translateY(-3px) scale(1.015);box-shadow:0 22px 40px rgba(110,91,255,.40);}
.pa-actcard--urgent:hover,.pa-actcard--brand:hover,.pa-actcard--deep:hover{box-shadow:0 22px 42px rgba(var(--pa-primary-rgb),.30);}
.pa-actcard--club:hover{box-shadow:0 22px 42px rgba(16,163,74,.28);}
.pa-actcard:not(.pa-actcard--club),.pa-actcard:not(.pa-actcard--club):hover,.pa-actcard:not(.pa-actcard--club):focus{color:var(--pa-on-primary);text-decoration:none;}
.pa-actcard--club,.pa-actcard--club:hover,.pa-actcard--club:focus,.pa-iara,.pa-iara:hover,.pa-iara:focus{color:#fff;text-decoration:none;}
.pa-actcard:hover .pa-actcard__t,.pa-actcard:hover .pa-actcard__d,.pa-actcard:hover .pa-actcard__live,.pa-iara:hover .pa-iara__t,.pa-iara:hover .pa-iara__d{color:inherit;}

.pa-side__iara{transition:transform .18s var(--ease-out),box-shadow .18s var(--ease-out);}
.pa-side__iara,.pa-side__iara:hover,.pa-side__iara:focus,.pa-side__iara:visited{color:#fff;text-decoration:none;}
.pa-side__iara:hover{transform:scale(1.03);}

/* Pets */
.pa-pet-grid{display:flex;flex-direction:column;gap:10px;align-items:stretch;}
.pa-pet-grid .pa-card + .pa-card{margin-top:0;}
.pa-pet-card{display:flex;align-items:stretch;gap:12px;padding:14px;height:100%;box-sizing:border-box;text-decoration:none;color:inherit;transition:transform .15s var(--ease-out),box-shadow .15s var(--ease-out);}
.pa-pet-card:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);color:inherit;text-decoration:none;}
button.pa-pet-card{width:100%;font:inherit;color:inherit;text-align:left;cursor:pointer;}
.pa-pet-card__avatar,.pa-petcard__avatar,.pa-vacthead__avatar{width:52px;height:52px;align-self:center;border-radius:16px;background:var(--gray-150);color:var(--text-subtle);display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:20px;overflow:hidden;flex-shrink:0;}
.pa-pet-card__avatar img,.pa-petcard__avatar img,.pa-vacthead__avatar img{width:100%;height:100%;object-fit:cover;}
.pa-pet-card__body{flex:1;min-width:0;display:flex;flex-direction:column;}
.pa-pet-card__name{font-size:15px;font-weight:700;}
.pa-pet-card__meta{font-size:12.5px;color:var(--text-subtle);margin-top:2px;}
.pa-pet-card__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:8px;min-height:27px;}
.pa-pet-card__chevron{color:var(--text-subtle);flex-shrink:0;align-self:center;}
.pa-pet-card__chevron svg{width:18px;height:18px;}
.pa-pet-empty{text-align:center;}
.pa-pet-empty svg{width:30px;height:30px;color:var(--text-subtle);display:block;margin:0 auto 8px;}

.pa-petcard{padding:16px;}
.pa-petcard__top{display:flex;align-items:center;gap:14px;}
.pa-petcard__avatar{width:64px;height:64px;font-size:24px;}
.pa-petcard__name{font-size:18px;font-weight:700;}
.pa-petcard__meta{font-size:13px;color:var(--text-subtle);margin-top:2px;}
.pa-petcard__edit{margin-left:auto;align-self:flex-start;display:inline-flex;align-items:center;gap:6px;height:34px;padding:0 12px;border-radius:12px;background:var(--gray-100);color:var(--text);font-size:13px;font-weight:600;flex-shrink:0;transition:background var(--dur-fast);}
.pa-petcard__edit:hover{background:var(--gray-150);}
.pa-petcard__edit svg{width:15px;height:15px;}
.pa-petcard__facts{margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.pa-petcard__stats{display:flex;gap:8px;margin-top:16px;}
.pa-petstat{flex:1;text-align:center;padding:10px 6px;border-radius:14px;background:var(--gray-100);}
.pa-petstat__v{display:block;font-size:15px;font-weight:700;}
.pa-petstat__k{display:block;font-size:11.5px;color:var(--text-subtle);margin-top:2px;}

.pa-petalert{margin-top:14px;border-color:rgba(245,158,11,.4);background:rgba(245,158,11,.06);}
.pa-petalert__head{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;margin-bottom:8px;color:#b45309;}
.pa-petalert__head svg{width:16px;height:16px;}

.pa-petchart{position:relative;color:var(--brand-blue-500);}
.pa-petchart__svg{width:100%;height:120px;display:block;}
.pa-petchart__axis,.pa-petchart__range{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-subtle);margin-top:6px;}
.pa-petchart__range{margin-top:2px;}
.pa-petweigh{margin-top:14px;padding-top:14px;border-top:1px solid var(--border);}

.pa-vaclist{display:flex;flex-direction:column;gap:10px;}
.pa-vacitem__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;}
.pa-vacitem__name{font-size:15px;font-weight:700;}
.pa-vacitem__del{margin-top:10px;background:none;border:0;padding:0;font-size:12.5px;color:var(--danger);cursor:pointer;}
.pa-vacthead{display:flex;align-items:center;gap:14px;}

.pa-petcheck{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;}
.pa-petcheck input{width:18px;height:18px;}
.pa-peterror{font-size:13px;color:var(--danger);margin:8px 0;min-height:18px;}
.pa-input--area{height:auto;padding:12px 14px;line-height:1.45;resize:vertical;}
.pa-input--file{height:auto;padding:12px 14px;}

.pa-petsheet{position:fixed;inset:0;z-index:1200;}
.pa-petsheet__backdrop{position:absolute;inset:0;background:rgba(15,23,42,.45);}
.pa-petsheet__panel{position:absolute;left:0;right:0;bottom:0;max-height:92vh;overflow-y:auto;background:var(--surface);border-radius:22px 22px 0 0;padding:18px 16px calc(18px + env(safe-area-inset-bottom));}
.pa-petsheet__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;}
.pa-petsheet__x{background:none;border:0;padding:6px;color:var(--text-subtle);cursor:pointer;}
@media (min-width:720px){
  .pa-petsheet__panel{left:50%;bottom:auto;top:50%;transform:translate(-50%,-50%);width:min(560px,92vw);border-radius:22px;}
  .pa-pet-grid{display:grid;grid-template-columns:repeat(2,1fr);align-items:stretch;}
}
.pa-petpick{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 6px;-webkit-overflow-scrolling:touch;}
.pa-petpick__item{flex:0 0 auto;display:flex;align-items:center;gap:10px;padding:10px 14px 10px 10px;border-radius:16px;border:1.5px solid var(--border);background:var(--surface);cursor:pointer;text-align:left;transition:border-color var(--dur-fast),box-shadow var(--dur-fast);}
.pa-petpick__item.is-on{border-color:var(--pa-primary);box-shadow:0 0 0 4px var(--focus);}
.pa-petpick__avatar{width:40px;height:40px;border-radius:13px;background:var(--gray-150);color:var(--text-subtle);display:inline-flex;align-items:center;justify-content:center;font-weight:700;overflow:hidden;flex-shrink:0;}
.pa-petpick__avatar img{width:100%;height:100%;object-fit:cover;}
.pa-petpick__body{display:flex;flex-direction:column;}
.pa-petpick__name{font-size:14px;font-weight:700;}
.pa-petpick__meta{font-size:12px;color:var(--text-subtle);}
