@import url('/css/client-app.css');
@import url('/css/client-context.css');
@import url('/css/client-booking.css');

/* Uai Agendei — componentes de experiência V9 / Health.
   Esta folha é feature-only e também é o agregador estático canônico do app.
   O shell já carrega app-experience.css por último; por isso o app usa a
   mesma camada visual antes de qualquer JavaScript. */

.app-multi-summary{
  position:fixed;z-index:58;left:50%;bottom:calc(82px + env(safe-area-inset-bottom));
  transform:translate(-50%,10px);
  width:min(700px,calc(100% - 24px));padding:10px 12px 10px 14px;
  display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;
  border:1px solid #e4e5e2;border-radius:14px;background:#fff;color:#111213;
  box-shadow:0 8px 24px rgba(17,18,19,.08);
  opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease
}
.app-multi-summary.is-visible{opacity:1;pointer-events:auto;transform:translate(-50%,0)}
.app-multi-summary__meta{min-width:0}
.app-multi-summary__meta b,.app-multi-summary__meta span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.app-multi-summary__meta b{color:#111213;font-size:12px}
.app-multi-summary__meta span{margin-top:2px;color:#777c7e;font-size:10px}
.app-multi-summary .app-btn{min-width:104px}

.health-hero,.v9-hero{
  margin:0 0 20px;padding:20px;
  border:1px solid #ececea;border-radius:17px;background:#fff;color:#111213;box-shadow:none
}
.health-hero>small,.health-section__head small,.v9-hero>small,.v9-meal-day__head span{
  display:block;color:#73787a;font-size:10px;font-weight:800;letter-spacing:.08em;text-transform:uppercase
}
.health-hero h2,.v9-hero h2,.health-section__head h2{
  margin:5px 0 7px;color:#111213;font-size:clamp(22px,5vw,30px);line-height:1.08;letter-spacing:-.04em
}
.health-hero>p,.v9-hero>p{max-width:62ch;margin:0;color:#73787a;font-size:12px;line-height:1.55}
.health-kpis,.v9-kpis{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:16px}
.health-kpi,.v9-kpis>div{min-width:0;padding:12px;border:1px solid #ececea;border-radius:13px;background:#fff}
.health-kpi small,.health-kpi span,.v9-kpis small{display:block;color:#7b8082;font-size:9.5px;line-height:1.35}
.health-kpi b,.v9-kpis b{display:block;margin:4px 0 0;color:#111213;font-size:18px;line-height:1.15;letter-spacing:-.025em;overflow-wrap:anywhere}

.health-section{margin:22px 0}
.health-section__head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:12px}
.health-section__head h2{margin-bottom:0;font-size:20px}
.health-timeline,.health-blocks,.health-prs{display:grid;gap:8px}
.health-day,.health-block,.health-pr{padding:14px;border:1px solid #ececea;border-radius:14px;background:#fff;color:#111213}
.health-day>div{display:flex;align-items:center;justify-content:space-between;gap:10px}
.health-day span,.health-block>span,.health-pr span{display:block;color:#777c7e;font-size:10px}
.health-day em{font-style:normal;color:#8a5d12;font-size:10px;font-weight:800}
.health-day p,.health-block p{margin:8px 0 0;color:#4f5456;font-size:12px;line-height:1.55}
.health-block__targets{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.health-block__targets em{font-style:normal;padding:5px 8px;border:1px solid #ececea;border-radius:999px;background:#fafbf9;color:#4f5456;font-size:10px}

.health-chat{display:grid;gap:12px}
.health-thread{display:grid;gap:8px;max-height:52dvh;overflow:auto;padding:4px;overscroll-behavior:contain}
.health-message{width:min(88%,460px);padding:11px 13px;border:1px solid #e6e8e4;border-radius:15px;background:#f7f8f6;color:#111213}
.health-message.is-mine{margin-left:auto;background:#111213;color:#fff;border-color:#111213}
.health-message small{color:#777c7e;font-size:9.5px}
.health-message.is-mine small{color:rgba(255,255,255,.66)}
.health-message p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.health-compose{position:sticky;bottom:84px;padding-top:8px;background:#fff}

.v9-meal-day{margin-bottom:22px}
.v9-meal-day__head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
.v9-pref-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:18px}
.v9-toggle{display:flex;align-items:flex-start;gap:11px;padding:13px;border:1px solid #ececea;border-radius:13px;background:#fff;color:#111213}
.v9-toggle input{margin-top:3px;accent-color:var(--v2-primary,#ff5a1f)}
.v9-toggle span{display:grid;gap:3px;min-width:0}
.v9-toggle small{color:#777c7e;font-size:10px;line-height:1.4}

.v9-notification-list{display:grid;gap:8px}
.v9-notification{display:grid;grid-template-columns:8px minmax(0,1fr) auto;gap:11px;align-items:center;padding:13px 12px;border:1px solid #ececea;border-radius:13px;background:#fff;color:#111213;text-decoration:none}
.v9-notification:hover{border-color:#c8cbc6;background:#fafbf9}
.v9-notification.is-unread{border-color:var(--v2-primary,#ff5a1f)}
.v9-notification__dot{width:7px;height:7px;border-radius:50%;background:#d0d3ce}
.v9-notification.is-unread .v9-notification__dot{background:var(--v2-primary,#ff5a1f)}
.v9-notification div{min-width:0}
.v9-notification small{display:block;color:#7b8082;font-size:9.5px}
.v9-notification b{display:block;margin:3px 0;color:#111213}
.v9-notification p{margin:0;color:#73787a;font-size:11px;line-height:1.45}
.v9-notification em{font-style:normal;color:#777c7e;font-size:22px}

.v9-photo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.v9-photo-card{overflow:hidden;border:1px solid #ececea;border-radius:15px;background:#fff;color:#111213}
.v9-photo-card img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;background:#f5f5f3}
.v9-photo-card>div{padding:11px}
.v9-photo-card small{display:block;color:#7b8082;font-size:9px;letter-spacing:.05em}
.v9-photo-card p{margin:5px 0 0;color:#4f5456;font-size:11px;line-height:1.45}

.v9-workout-tabs{display:flex;gap:7px;overflow:auto;padding:2px 0 14px;scrollbar-width:none}
.v9-workout-tabs::-webkit-scrollbar{display:none}
.v9-workout-tab{white-space:nowrap;padding:9px 12px;border:1px solid #e2e4e0;border-radius:999px;background:#fff;color:#34383a;text-decoration:none}
.v9-workout-tab.is-active{background:var(--v2-primary,#ff5a1f);border-color:var(--v2-primary,#ff5a1f);color:#fff}
.v9-workout-list{display:grid;gap:10px;margin:14px 0}
.v9-workout-card{padding:16px;border:1px solid #ececea;border-radius:15px;background:#fff;color:#111213;box-shadow:none}
.v9-workout-card__head{display:flex;gap:11px;align-items:center}
.v9-workout-card__head>span{display:grid;place-items:center;width:40px;height:40px;flex:0 0 40px;border-radius:11px;background:var(--v2-primary,#ff5a1f);color:#fff;font-weight:900}
.v9-workout-card__head small{display:block;color:#7b8082;font-size:9px;letter-spacing:.07em;text-transform:uppercase}
.v9-workout-card h3{margin:2px 0 0;color:#111213;font-size:18px;letter-spacing:-.025em}
.v9-workout-card>p{color:#73787a;font-size:12px;line-height:1.5}
.v9-set-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.v9-set-grid :where(input,select){min-width:0}
.v9-workout-actions{display:flex;gap:8px;flex-wrap:wrap}
.v9-session-live{display:flex;align-items:center;gap:8px;margin-top:15px;color:#4f5456;font-size:11px}
.v9-session-live i{width:8px;height:8px;border-radius:50%;background:#24b15f}
.v9-session-live span{margin-left:auto;font-variant-numeric:tabular-nums}
.v9-finish-card{margin-top:18px}
.v9-rest-overlay{position:fixed;inset:0;z-index:90;display:grid;place-items:center;padding:24px;background:rgba(17,18,19,.76)}
.v9-rest-overlay[hidden]{display:none}
.v9-rest-overlay>div{width:min(360px,100%);padding:26px;text-align:center;border:1px solid #e3e5e1;border-radius:18px;background:#fff;color:#111213;box-shadow:0 20px 54px rgba(0,0,0,.18)}
.v9-rest-overlay small{display:block;color:#777c7e;letter-spacing:.1em}
.v9-rest-overlay b{display:block;margin:12px 0 2px;font-size:68px;line-height:1;font-variant-numeric:tabular-nums}
.v9-rest-overlay span{display:block;margin-bottom:20px;color:#73787a}
.v9-rest-overlay .app-btn{width:100%}

.app-skeleton{position:relative;overflow:hidden;border-radius:10px;background:#f2f3f1;color:transparent!important}
.app-skeleton::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(17,18,19,.05),transparent);animation:app-shimmer 1.25s infinite}
@keyframes app-shimmer{to{transform:translateX(100%)}}

@media(min-width:700px){.health-kpis,.v9-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){
  .v9-pref-grid{grid-template-columns:1fr}
  .v9-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v9-set-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .v9-workout-actions>*{flex:1 1 160px}
  .health-section__head{align-items:stretch;flex-direction:column}
  .health-section__head .app-btn{width:100%}
}
@media(max-width:560px){
  .health-kpis,.v9-kpis{grid-template-columns:1fr 1fr}
  .health-hero,.v9-hero{padding:17px}
  .health-day>div{align-items:flex-start;flex-direction:column}
  .app-multi-summary{grid-template-columns:minmax(0,1fr) auto}
  .app-multi-summary .app-btn{min-width:92px}
}
@media(max-width:390px){
  .v9-photo-grid,.health-kpis,.v9-kpis{grid-template-columns:1fr}
  .app-multi-summary__meta span{max-width:150px}
}
@media(prefers-reduced-motion:reduce){
  .app-multi-summary{transition:none!important}
  .app-skeleton::after{animation:none!important}
  .v9-rest-overlay *{scroll-behavior:auto!important}
}

/* V47 — card premium de constância (aluno e paciente) */
.streak-card{position:relative;overflow:hidden;margin:14px 0;padding:18px;border-radius:20px;background:linear-gradient(145deg,#141817 0%,#1d2522 100%);color:#fff;box-shadow:0 18px 40px -22px #0008;border:1px solid #ffffff14;--streak:var(--v2-primary,#ff5a1f)}
.streak-card::after{content:"";position:absolute;right:-60px;top:-60px;width:180px;height:180px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--streak) 25%,transparent),transparent 70%);pointer-events:none}
.streak-card__head{display:flex;align-items:center;justify-content:space-between;gap:14px}
.streak-card small{display:block;color:color-mix(in srgb,var(--streak) 55%,#fff);font-size:9.5px;font-weight:800;letter-spacing:.14em}
.streak-card h2{margin:4px 0 6px;color:#fff;font-size:21px;line-height:1.1;letter-spacing:-.03em}
.streak-card__head p{margin:0;color:#aab5b1;font-size:11.5px;line-height:1.5}
.streak-ring{flex:0 0 76px;width:76px;height:76px}
.streak-ring__track{fill:none;stroke:#ffffff1c;stroke-width:6}
.streak-ring__fill{fill:none;stroke:var(--streak);stroke-width:6;stroke-linecap:round;transition:stroke-dasharray .6s ease}
.streak-ring__n{fill:#fff;font-size:18px;font-weight:800}
.streak-ring__m{fill:#aab5b1;font-size:8.5px}
.streak-week{display:grid;grid-template-columns:repeat(7,1fr);gap:6px;margin:16px 0 0;padding:0;list-style:none}
.streak-day{display:grid;justify-items:center;gap:6px;color:#8d9894;font-size:10px;font-weight:700}
.streak-day i{display:block;width:100%;max-width:34px;height:34px;border-radius:11px;background:#ffffff0f;border:1px solid #ffffff14}
.streak-day.is-done i{background:linear-gradient(145deg,color-mix(in srgb,var(--streak) 78%,#fff),var(--streak));border-color:transparent;box-shadow:0 6px 16px -6px var(--streak)}
.streak-day.is-today{color:#fff}
.streak-day.is-today i{outline:2px solid var(--streak);outline-offset:2px}
.streak-day.is-future i{opacity:.45}
.streak-card__note{margin:14px 0 0;color:#e8ecea;font-size:12.5px;font-weight:600}
.streak-badges{display:flex;flex-wrap:wrap;gap:6px;margin-top:12px}
.streak-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:color-mix(in srgb,var(--streak) 12%,transparent);color:color-mix(in srgb,var(--streak) 40%,#fff);font-size:11px;font-weight:700;border:1px solid color-mix(in srgb,var(--streak) 20%,transparent)}
.streak-badge.is-locked{background:#ffffff0a;color:#aab5b1;border-color:#ffffff1a}
.streak-badge em{font-style:normal;font-weight:600;opacity:.8}
.streak-card__fine{margin:12px 0 0;color:#7f8b87;font-size:10px}
@media(max-width:390px){.streak-card h2{font-size:18px}.streak-ring{flex-basis:64px;width:64px;height:64px}}
@media(prefers-reduced-motion:reduce){.streak-ring__fill{transition:none}}
