/* ═══════════════════════════════════════════════════════════════════════════
   NUTRI+ MULHER — Estilos das features de COMUNIDADE/PERFIL/PROGRESSO
   Todas as classes têm prefixo .nm- para evitar colisão com styles.css.
   VERSION-MARKER: nm-v2026051906 (bump quando alterar este arquivo)
   ═══════════════════════════════════════════════════════════════════════════ */

/* ─── STORIES BAR (Dia a Dia, topo do Início) ─────────────────────────── */
.nm-stories-section{
  width:100%; max-width:100%;
  margin:0 0 14px 0;
  background:#fff;
  border-radius:16px;
  border:1.5px solid #f0e0ea;
  box-shadow:0 1px 8px rgba(144,96,208,0.05);
  overflow:hidden;
}

/* ─── DIA A DIA DELICADO (versão mais discreta, fallback v1) ─────────── */
.nm-stories-section.nm-stories-delicate{
  background:linear-gradient(180deg,#fffafd,#fdf7fc);
  border:1px solid #f4e6ee;
  border-radius:20px;
  box-shadow:0 1px 3px rgba(224,90,138,0.04);
}
.nm-stories-section.nm-stories-delicate .nm-stories-header{ padding:8px 12px 4px; }
.nm-stories-section.nm-stories-delicate .nm-stories-title{
  font-size:12.5px; font-weight:700; color:#c44877; opacity:0.92;
}
.nm-stories-section.nm-stories-delicate .nm-stories-rail{
  gap:10px; padding:6px 10px 10px;
}
.nm-stories-section.nm-stories-delicate .nm-story-item{ width:56px; }
.nm-stories-section.nm-stories-delicate .nm-story-ring{
  width:52px; height:52px; padding:2px;
}
.nm-stories-section.nm-stories-delicate .nm-story-add .nm-story-ring{
  border:1.5px dashed #e9c8de;
}
.nm-stories-section.nm-stories-delicate .nm-story-add-icon{ font-size:22px; }
.nm-stories-section.nm-stories-delicate .nm-story-name{
  font-size:10px; color:#888; font-weight:600; max-width:56px;
}
.nm-stories-section.nm-stories-delicate .nm-stories-empty{
  padding:8px 12px 6px; font-size:11px; color:#b09cab; font-weight:500;
}

/* ─── CARD: CONVIDE UMA AMIGA ────────────────────────────────────────── */
.nm-invite-card{
  display:flex; align-items:center; gap:12px;
  background:linear-gradient(135deg,#fdf0f5 0%,#f8edfb 50%,#efe2f7 100%);
  border:1px solid #f4d0e0;
  border-radius:18px;
  padding:12px 12px 12px 14px;
  margin-bottom:16px;
  box-shadow:0 2px 8px rgba(224,90,138,0.07);
  cursor:pointer;
  transition:transform .2s ease, box-shadow .25s ease;
  -webkit-tap-highlight-color:rgba(224,90,138,0.14);
}
.nm-invite-card:hover{
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(224,90,138,0.14);
}
.nm-invite-card:active{ transform:scale(0.985); }
.nm-invite-card:focus-visible{
  outline:none; box-shadow:0 0 0 3px rgba(224,90,138,0.25);
}
.nm-invite-icon{
  font-size:26px; flex-shrink:0;
  filter:drop-shadow(0 1px 2px rgba(224,90,138,0.18));
}
.nm-invite-body{ flex:1; min-width:0; }
.nm-invite-title{
  font-size:13.5px; font-weight:800; color:#993556;
  letter-spacing:-0.005em; margin-bottom:2px;
}
.nm-invite-sub{
  font-size:11.5px; font-weight:600; color:#7d6e85; line-height:1.4;
}
.nm-invite-sub strong{ color:#993556; font-weight:800; }
.nm-invite-btn{
  flex-shrink:0;
  background:linear-gradient(135deg,#e05a8a,#9060d0);
  color:#fff; border:none; border-radius:999px;
  padding:8px 14px;
  font-family:'Nunito',sans-serif;
  font-size:12px; font-weight:800; cursor:pointer;
  white-space:nowrap;
  box-shadow:0 3px 10px rgba(144,96,208,0.25);
  transition:transform .15s ease, box-shadow .2s ease;
}
.nm-invite-btn:hover{
  transform:translateY(-1px);
  box-shadow:0 5px 14px rgba(144,96,208,0.35);
}
.nm-invite-btn:active{ transform:scale(0.96); }

@media (max-width:360px){
  .nm-invite-card{ padding:11px 10px; gap:10px; }
  .nm-invite-icon{ font-size:22px; }
  .nm-invite-title{ font-size:13px; }
  .nm-invite-sub{ font-size:11px; }
  .nm-invite-btn{ padding:7px 12px; font-size:11.5px; }
}
.nm-stories-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:10px 14px 6px;
}
.nm-stories-title{
  font-size:13px; font-weight:800; color:#e05a8a;
  display:flex; align-items:center; gap:6px;
}
.nm-stories-hint{ font-size:10.5px; font-weight:600; color:#bbb; }
.nm-stories-rail{
  display:flex; gap:12px;
  padding:8px 14px 14px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.nm-stories-rail::-webkit-scrollbar{ display:none; }
.nm-story-item{
  flex:0 0 auto; width:64px;
  display:flex; flex-direction:column; align-items:center; gap:5px;
  cursor:pointer;
  scroll-snap-align:start;
}
.nm-story-ring{
  width:60px; height:60px; border-radius:50%;
  padding:2.5px;
  background:linear-gradient(135deg,#e05a8a,#9060d0);
  display:flex; align-items:center; justify-content:center;
  transition:transform .15s;
}
.nm-story-ring.nm-seen{ background:#d8d8d8; }
.nm-story-item:active .nm-story-ring{ transform:scale(0.95); }
.nm-story-avatar{
  width:100%; height:100%; border-radius:50%;
  background:#fff; padding:2px; box-sizing:border-box;
  background-size:cover; background-position:center;
  background-color:#f5eeff;
  display:flex; align-items:center; justify-content:center;
  color:#9060d0; font-weight:800; font-size:18px;
}
.nm-story-avatar img{ width:100%; height:100%; border-radius:50%; object-fit:cover; }
.nm-story-name{
  font-size:10.5px; font-weight:700; color:#666;
  max-width:64px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  text-align:center;
}
.nm-story-name-tap{
  cursor:pointer;
  padding:1px 6px;
  border-radius:8px;
  transition:background .15s, color .15s;
  -webkit-tap-highlight-color:rgba(144,96,208,0.18);
}
.nm-story-name-tap:hover{
  background:rgba(144,96,208,0.10);
  color:#9060d0;
}
.nm-story-name-tap:active{ transform:scale(0.95); }
.nm-story-add .nm-story-ring{
  background:#fff;
  border:2px dashed #d8c0e8;
  color:#9060d0; font-weight:800;
}
.nm-story-add .nm-story-avatar{
  background:#fafafa; color:#9060d0;
}
.nm-story-add-icon{ font-size:26px; line-height:1; }
.nm-stories-empty{
  padding:18px 14px; text-align:center;
  font-size:12px; font-weight:600; color:#999; line-height:1.5;
}

/* ─── STORY VIEWER (modal fullscreen) ─────────────────────────────────── */
.nm-modal-overlay{
  position:fixed; inset:0; z-index:99000;
  background:rgba(0,0,0,0.7);
  display:none; align-items:center; justify-content:center;
}
.nm-modal-overlay.nm-show{ display:flex; }
/* Perfil público precisa ficar ACIMA do story viewer (z 99001)
   pra quando abrir a partir do viewer não ficar escondido atrás. */
#nm-public-profile-overlay{ z-index:99010; }
.nm-story-viewer{
  position:fixed; inset:0; z-index:99001;
  background:#000;
  display:none; flex-direction:column;
}
.nm-story-viewer.nm-show{ display:flex; }
.nm-story-progress-bar{
  display:flex; gap:4px;
  padding:10px 12px 6px;
  position:relative; z-index:5;
}
.nm-story-progress-seg{
  flex:1; height:3px; background:rgba(255,255,255,0.3);
  border-radius:3px; overflow:hidden;
}
.nm-story-progress-fill{
  height:100%; width:0%;
  background:#fff;
  transition:width .1s linear;
}
.nm-story-progress-fill.nm-done{ width:100%; }
.nm-story-header{
  display:flex; align-items:center; gap:10px;
  padding:6px 14px 10px; color:#fff;
  position:relative; z-index:5; /* acima das tap-zones (z-index 3) */
}
/* Toda a área avatar+nome+chevron é um único botão grande clicável */
.nm-story-header-tap{
  flex:1; min-width:0;
  display:flex; align-items:center; gap:10px;
  cursor:pointer;
  padding:6px 10px 6px 6px;
  border-radius:50px;
  background:rgba(255,255,255,0.06);
  border:1px solid rgba(255,255,255,0.12);
  transition:background .15s, transform .12s;
  -webkit-tap-highlight-color:rgba(255,255,255,0.18);
}
.nm-story-header-tap:hover{ background:rgba(255,255,255,0.14); }
.nm-story-header-tap:active{ transform:scale(0.98); background:rgba(255,255,255,0.22); }
.nm-story-header-avatar{
  width:34px; height:34px; border-radius:50%;
  background:#fff; background-size:cover; background-position:center;
  flex-shrink:0;
}
.nm-story-header-info{ flex:1; min-width:0; }
.nm-story-header-name{
  font-size:13px; font-weight:800;
  display:flex; align-items:center; gap:4px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.nm-story-header-name > span:first-child{
  overflow:hidden; text-overflow:ellipsis; min-width:0;
}
.nm-story-header-chev{
  font-size:18px; opacity:0.85; line-height:1;
  flex-shrink:0;
}
.nm-story-header-time{ font-size:11px; opacity:0.8; }
.nm-story-close{
  background:none; border:none; color:#fff;
  font-size:24px; cursor:pointer; padding:4px 10px; line-height:1;
}
.nm-story-menu-btn{
  background:none; border:none; color:#fff;
  font-size:18px; cursor:pointer; padding:4px 10px;
}
.nm-story-media-wrap{
  flex:1; position:relative; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:#000;
}
.nm-story-media-wrap img,
.nm-story-media-wrap video{
  max-width:100%; max-height:100%;
  width:100%; height:100%; object-fit:contain;
}
.nm-story-tap-zone{
  position:absolute; top:0; bottom:0; width:33%;
  z-index:3;
}
.nm-story-tap-zone.nm-left{ left:0; }
.nm-story-tap-zone.nm-right{ right:0; }
.nm-story-arrow{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%;
  background:rgba(0,0,0,0.45);
  color:#fff;
  border:none;
  font-size:30px; line-height:1; font-weight:700;
  cursor:pointer;
  z-index:4;
  display:flex; align-items:center; justify-content:center;
  backdrop-filter:blur(6px);
  -webkit-backdrop-filter:blur(6px);
  transition:background .15s, transform .12s;
  padding:0 0 4px;
}
.nm-story-arrow:hover{ background:rgba(0,0,0,0.65); }
.nm-story-arrow:active{ transform:translateY(-50%) scale(0.92); }
.nm-story-arrow-left{ left:10px; }
.nm-story-arrow-right{ right:10px; }
@media (max-width:480px){
  .nm-story-arrow{
    width:36px; height:36px; font-size:24px;
    background:rgba(0,0,0,0.35);
  }
}
.nm-story-caption{
  position:absolute; bottom:90px; left:14px; right:14px;
  z-index:2;
  color:#fff; font-size:14px; font-weight:600;
  background:rgba(0,0,0,0.4); padding:10px 14px;
  border-radius:14px;
  text-shadow:0 1px 4px rgba(0,0,0,0.7);
}
.nm-story-footer{
  padding:12px 14px 18px;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,0.6));
  position:relative; z-index:5; /* acima das tap-zones (z-index 3) pra reações receberem clique */
}
.nm-reaction-row{
  display:flex; gap:8px; justify-content:center;
}
.nm-reaction-btn{
  flex:1; max-width:80px;
  background:rgba(255,255,255,0.15);
  border:1.5px solid rgba(255,255,255,0.3);
  border-radius:50px;
  padding:8px 4px;
  color:#fff; font-family:'Nunito',sans-serif;
  font-size:11px; font-weight:800; cursor:pointer;
  display:flex; flex-direction:column; align-items:center; gap:2px;
  transition:all .15s;
}
.nm-reaction-btn:active{ transform:scale(0.92); }
.nm-reaction-btn.nm-active{
  background:linear-gradient(135deg,#e05a8a,#9060d0);
  border-color:#fff;
}
.nm-reaction-emoji{ font-size:22px; line-height:1; }

/* ─── INSIGHTS BUTTON (owner: quem viu/reagiu) ─────────────────────────── */
.nm-insights-btn{
  display:flex; align-items:center; justify-content:center; gap:10px;
  width:100%; background:rgba(255,255,255,0.15);
  border:1.5px solid rgba(255,255,255,0.35); border-radius:50px;
  padding:10px 18px; color:#fff;
  font-family:'Nunito',sans-serif; font-size:13px; font-weight:800;
  cursor:pointer; transition:background .15s;
}
.nm-insights-btn:active{ background:rgba(255,255,255,0.25); }
.nm-insights-stat{ font-size:15px; font-weight:800; }
.nm-insights-divider{ opacity:0.5; }
.nm-insights-label{ font-size:11px; font-weight:700; opacity:0.8; }

/* ─── INSIGHTS SHEET (drawer com lista de views + reações) ─────────────── */
.nm-insights-sheet{
  position:fixed; left:0; right:0; bottom:0; z-index:99010;
  background:#fff; border-radius:22px 22px 0 0;
  padding:0 0 env(safe-area-inset-bottom,0);
  display:none; flex-direction:column;
  max-height:75vh;
  box-shadow:0 -8px 40px rgba(0,0,0,0.35);
  animation:nm-slide-up .25s ease;
}
.nm-insights-sheet.nm-show{ display:flex !important; }
.nm-insights-handle{
  width:36px; height:4px; border-radius:2px;
  background:#ddd; margin:12px auto 0; cursor:pointer; flex-shrink:0;
}
.nm-insights-header-row{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px 10px; border-bottom:1px solid #f0e8f5; flex-shrink:0;
}
.nm-insights-title{
  font-size:16px; font-weight:800; color:#333;
}
.nm-insights-close{
  background:none; border:none; font-size:18px; color:#aaa;
  cursor:pointer; padding:4px 8px; line-height:1;
}
.nm-insights-list{
  overflow-y:auto; padding:0 18px 20px; flex:1;
}
.nm-insights-row{
  display:flex; align-items:center; gap:12px;
  padding:11px 0; border-bottom:1px solid #f5f0f8;
}
.nm-insights-row:last-child{ border-bottom:none; }
.nm-insights-av{
  width:42px; height:42px; border-radius:50%; flex-shrink:0;
  background:linear-gradient(135deg,#e05a8a,#9060d0);
  color:#fff; display:flex; align-items:center; justify-content:center;
  font-weight:800; font-size:16px;
  background-size:cover; background-position:center;
}
.nm-insights-name{ flex:1; font-size:14px; font-weight:700; color:#333; }
.nm-insights-react{ font-size:24px; line-height:1; }
.nm-insights-no-react{ font-size:12px; color:#ccc; }

/* ─── MENU DE AÇÕES NO STORY (Denunciar / Bloquear) ────────────────────── */
.nm-action-sheet{
  position:fixed; left:0; right:0; bottom:0; z-index:99005;
  background:#fff;
  border-radius:20px 20px 0 0;
  padding:18px 18px 30px;
  display:none;
  box-shadow:0 -8px 30px rgba(0,0,0,0.3);
  animation:nm-slide-up .25s ease;
}
.nm-action-sheet.nm-show{ display:block; }
@keyframes nm-slide-up{ from{transform:translateY(100%)} to{transform:translateY(0)} }
.nm-action-btn{
  display:block; width:100%;
  background:#fff; border:1.5px solid #f0e0ea;
  border-radius:14px;
  padding:14px;
  font-family:'Nunito',sans-serif; font-size:14px; font-weight:700;
  color:#333; text-align:left; cursor:pointer;
  margin-bottom:8px;
}
.nm-action-btn.nm-danger{ color:#c0392b; border-color:#f0c0c0; }
.nm-action-btn-cancel{
  background:#f5f5f5; border-color:#e0e0e0;
  text-align:center; color:#666;
}

/* ─── STORY COMPOSER (postar) ──────────────────────────────────────────── */
.nm-composer{
  position:fixed; inset:0; z-index:99002;
  background:#fff;
  display:none; flex-direction:column;
}
.nm-composer.nm-show{ display:flex; }
.nm-composer-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid #f0e0ea;
}
.nm-composer-title{ font-size:16px; font-weight:800; color:#333; }
.nm-composer-body{ flex:1; padding:18px 16px; overflow-y:auto; }
.nm-composer-preview{
  width:100%; aspect-ratio:9/16; max-height:60vh;
  border-radius:16px; background:#f8f5fc;
  border:2px dashed #d8c0e8;
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
  margin-bottom:14px;
}
.nm-composer-preview img,
.nm-composer-preview video{
  width:100%; height:100%; object-fit:cover; border-radius:14px;
}
.nm-composer-placeholder{
  text-align:center; color:#9060d0; font-size:13px; font-weight:700;
}
.nm-composer-caption{
  width:100%; box-sizing:border-box;
  border:1.5px solid #d8c0e8; border-radius:14px;
  padding:12px;
  font-family:'Nunito',sans-serif; font-size:14px;
  resize:vertical; min-height:60px;
  margin-bottom:14px;
}
.nm-composer-pick-row{ display:flex; gap:10px; margin-bottom:14px; }
.nm-composer-pick-btn{
  flex:1; background:#fff;
  border:1.5px solid #d8c0e8; border-radius:14px;
  padding:14px; cursor:pointer;
  font-family:'Nunito',sans-serif; font-size:13px; font-weight:800;
  color:#9060d0;
}
.nm-composer-pick-btn.nm-pick-capture{
  background:linear-gradient(135deg,#e05a8a,#9060d0);
  color:#fff;
  border-color:transparent;
  box-shadow:0 4px 14px rgba(144,96,208,0.25);
}
.nm-composer-progress{
  display:none;
  margin:10px 0 6px;
  font-size:12px; font-weight:700; color:#9060d0;
  text-align:center;
}
.nm-composer-progress.nm-show{ display:block; }
.nm-composer-progress-bar{
  height:6px; background:#f0e0ea; border-radius:6px;
  overflow:hidden; margin-top:6px;
}
.nm-composer-progress-fill{
  height:100%; width:0%;
  background:linear-gradient(90deg,#e05a8a,#9060d0);
  transition:width .25s ease;
}
.nm-composer-post-btn{
  width:100%; background:linear-gradient(135deg,#e05a8a,#9060d0);
  color:#fff; border:none; border-radius:50px;
  padding:15px;
  font-family:'Nunito',sans-serif; font-size:15px; font-weight:800;
  cursor:pointer;
}
.nm-composer-post-btn:disabled{ opacity:0.45; cursor:not-allowed; }

/* ─── PERFIL PÚBLICO (modal) ──────────────────────────────────────────── */
.nm-public-profile{
  background:#fff; border-radius:20px;
  max-width:380px; width:90%;
  padding:24px;
  text-align:center;
  position:relative;
}
.nm-public-avatar{
  width:96px; height:96px; border-radius:50%;
  margin:0 auto 14px;
  background:#f5eeff;
  background-size:cover; background-position:center;
  border:3px solid #9060d0;
  display:flex; align-items:center; justify-content:center;
  font-size:38px; color:#9060d0; font-weight:800;
}
.nm-public-avatar-tap{
  cursor:pointer;
  transition:transform .15s, box-shadow .15s;
  -webkit-tap-highlight-color:rgba(144,96,208,0.18);
}
.nm-public-avatar-tap:hover{
  transform:scale(1.04);
  box-shadow:0 6px 20px rgba(144,96,208,0.35);
}
.nm-public-avatar-tap:active{ transform:scale(0.97); }
.nm-public-name{
  font-size:18px; font-weight:800; color:#333;
  margin-bottom:6px;
}
.nm-public-phase{
  display:inline-block;
  background:#f5eeff; color:#9060d0;
  border-radius:50px; padding:4px 14px;
  font-size:12px; font-weight:800;
  margin-bottom:14px;
}
.nm-public-stats{
  display:flex; align-items:center; justify-content:center;
  gap:18px; margin-bottom:14px;
}
.nm-stat{ text-align:center; }
.nm-stat-num{
  font-size:18px; font-weight:800; color:#333; line-height:1;
}
.nm-stat-lbl{
  font-size:11px; font-weight:700; color:#999;
  margin-top:3px; text-transform:uppercase; letter-spacing:.5px;
}
.nm-stat-sep{
  width:1px; height:30px; background:#e8d8f4;
}
.nm-follow-btn{
  width:100%;
  background:linear-gradient(135deg,#e05a8a,#9060d0);
  color:#fff; border:none; border-radius:50px;
  padding:11px;
  font-family:'Nunito',sans-serif; font-size:14px; font-weight:800;
  cursor:pointer;
  margin-bottom:14px;
  transition:all .2s;
}
.nm-follow-btn:active{ transform:scale(0.97); }
.nm-follow-btn.nm-following{
  background:#fff;
  color:#9060d0;
  border:1.5px solid #9060d0;
}
.nm-follow-btn:disabled{ opacity:0.55; cursor:wait; }
.nm-public-bio{
  font-size:13px; color:#666; font-weight:600;
  line-height:1.6;
  background:#fafafa; border-radius:14px;
  padding:14px;
  margin-bottom:18px;
  white-space:pre-wrap;
  word-break:break-word;
}
.nm-public-bio.nm-empty{ color:#bbb; font-style:italic; }
.nm-public-actions{ display:flex; gap:10px; }
.nm-public-actions button{
  flex:1; border:1.5px solid #e0e0e0; background:#fff;
  border-radius:50px; padding:10px;
  font-family:'Nunito',sans-serif; font-size:13px; font-weight:700;
  cursor:pointer;
}
.nm-public-actions .nm-danger{ color:#c0392b; border-color:#f0c0c0; }

/* ─── BLOCO DE AVATAR + BIO (aba Conta) ───────────────────────────────── */
.nm-conta-identity{
  width:100%;
  background:linear-gradient(135deg,#fdf8ff,#fff5fa);
  border:1.5px solid #e8d8f4;
  border-radius:18px;
  padding:20px 16px;
  margin-bottom:14px;
  text-align:center;
}
.nm-avatar-wrap{ position:relative; display:inline-block; margin-bottom:12px; }
.nm-avatar-img{
  width:96px; height:96px; border-radius:50%;
  background:#f5eeff;
  background-size:cover; background-position:center;
  border:3px solid #fff;
  box-shadow:0 4px 16px rgba(144,96,208,0.18);
  display:flex; align-items:center; justify-content:center;
  font-size:36px; color:#9060d0; font-weight:800;
  cursor:pointer;
}
.nm-avatar-edit{
  position:absolute; bottom:0; right:0;
  width:32px; height:32px; border-radius:50%;
  background:linear-gradient(135deg,#e05a8a,#9060d0);
  color:#fff; border:2.5px solid #fff;
  font-size:14px;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer;
}
.nm-avatar-uploading{
  position:absolute; inset:0; border-radius:50%;
  background:rgba(255,255,255,0.7);
  display:none; align-items:center; justify-content:center;
  font-size:11px; font-weight:800; color:#9060d0;
}
.nm-avatar-uploading.nm-show{ display:flex; }
.nm-bio-block{ text-align:left; margin-top:10px; }
.nm-bio-block label{
  display:block;
  font-size:12px; font-weight:800; color:#9060d0;
  margin-bottom:6px;
}
.nm-bio-textarea{
  width:100%; box-sizing:border-box;
  border:1.5px solid #d8c0e8; border-radius:14px;
  padding:12px;
  font-family:'Nunito',sans-serif; font-size:14px;
  resize:vertical; min-height:70px;
  background:#fff;
  outline:none;
}
.nm-bio-counter{
  font-size:11px; font-weight:600; color:#bbb;
  text-align:right; margin-top:4px;
}
.nm-bio-save{
  margin-top:10px; width:100%;
  background:linear-gradient(135deg,#e05a8a,#9060d0);
  color:#fff; border:none; border-radius:50px;
  padding:11px;
  font-family:'Nunito',sans-serif; font-size:13px; font-weight:800;
  cursor:pointer;
}
.nm-bio-save:disabled{ opacity:0.5; cursor:not-allowed; }
.nm-bio-msg{
  text-align:center; font-size:12px; font-weight:700;
  margin-top:8px; display:none;
}

/* ─── MODAL DE FOTO DE PROGRESSO ──────────────────────────────────────── */
.nm-progress-modal{
  background:#fff; border-radius:22px;
  max-width:400px; width:92%;
  padding:24px 20px;
  max-height:90vh; overflow-y:auto;
}
.nm-progress-title{
  font-size:17px; font-weight:800; color:#e05a8a;
  text-align:center; margin-bottom:6px;
}
.nm-progress-sub{
  font-size:13px; font-weight:600; color:#888;
  text-align:center; margin-bottom:16px; line-height:1.5;
}
.nm-photo-guide{
  background:#f8f5fc; border:1.5px solid #e8d8f4;
  border-radius:14px;
  padding:14px;
  margin-bottom:16px;
}
.nm-photo-guide-title{
  font-size:12px; font-weight:800; color:#9060d0;
  margin-bottom:8px;
}
.nm-photo-guide ul{
  margin:0; padding-left:20px;
  font-size:12.5px; font-weight:600; color:#666;
  line-height:1.7;
}
.nm-progress-preview{
  width:100%; aspect-ratio:3/4;
  border-radius:14px; background:#fafafa;
  border:2px dashed #d8c0e8;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:14px;
  overflow:hidden;
}
.nm-progress-preview img{ width:100%; height:100%; object-fit:cover; }
.nm-progress-btns{ display:flex; gap:10px; }
.nm-progress-btns button{
  flex:1; border:none; border-radius:50px;
  padding:12px;
  font-family:'Nunito',sans-serif; font-size:13px; font-weight:800;
  cursor:pointer;
}
.nm-progress-skip{ background:#f5f5f5; color:#666; }
.nm-progress-save{ background:linear-gradient(135deg,#e05a8a,#9060d0); color:#fff; }
.nm-progress-save:disabled{ opacity:0.5; cursor:not-allowed; }

/* ─── MODAL DE TERMOS DE USO (primeira postagem) ──────────────────────── */
.nm-terms-modal{
  background:#fff; border-radius:22px;
  max-width:400px; width:92%;
  padding:24px 20px;
  max-height:88vh; overflow-y:auto;
}
.nm-terms-title{
  font-size:18px; font-weight:800; color:#9060d0;
  text-align:center; margin-bottom:12px;
}
.nm-terms-body{
  font-size:13px; font-weight:600; color:#555;
  line-height:1.7;
  background:#fafafa; border-radius:14px;
  padding:14px;
  margin-bottom:14px;
  max-height:280px; overflow-y:auto;
}
.nm-terms-body ul{ padding-left:18px; margin:8px 0; }
.nm-terms-body li{ margin-bottom:6px; }
.nm-terms-check{
  display:flex; align-items:flex-start; gap:8px;
  margin-bottom:14px;
  font-size:13px; font-weight:700; color:#333;
  cursor:pointer;
}
.nm-terms-check input{ margin-top:2px; }
.nm-terms-btns{ display:flex; gap:10px; }
.nm-terms-btns button{
  flex:1; border:none; border-radius:50px;
  padding:12px;
  font-family:'Nunito',sans-serif; font-size:13px; font-weight:800;
  cursor:pointer;
}
.nm-terms-cancel{ background:#f5f5f5; color:#666; }
.nm-terms-accept{ background:linear-gradient(135deg,#e05a8a,#9060d0); color:#fff; }
.nm-terms-accept:disabled{ opacity:0.4; cursor:not-allowed; }

/* ─── GALERIA DE FOTOS DE PROGRESSO (abaixo de #peso-chart-card) ─────── */
.card.nm-progress-strip{
  padding:14px;
  background:#fff;
  border:1.5px solid #f0e0ea;
  margin-bottom:14px;
}
.nm-progress-strip-header{
  display:flex; align-items:center; justify-content:space-between;
  margin-bottom:10px;
}
.nm-progress-strip-title{
  font-size:14px; font-weight:800; color:#e05a8a;
}
.nm-progress-strip-hint{
  font-size:11px; font-weight:700; color:#bbb;
}
.nm-progress-strip-rail{
  display:flex; gap:14px;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:4px 2px 6px;
}
.nm-progress-strip-rail::-webkit-scrollbar{ display:none; }
.nm-progress-item{
  flex:0 0 auto;
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.nm-progress-thumb{
  width:60px; height:60px; border-radius:50%;
  background-size:cover; background-position:center;
  background-color:#f5eeff;
  border:2.5px solid #fff;
  box-shadow:0 2px 8px rgba(144,96,208,0.18);
  cursor:pointer;
  transition:transform .15s, box-shadow .15s;
  -webkit-tap-highlight-color:rgba(144,96,208,0.18);
}
.nm-progress-thumb:hover{
  transform:scale(1.07);
  box-shadow:0 4px 14px rgba(144,96,208,0.32);
}
.nm-progress-thumb:active{ transform:scale(0.95); }
.nm-progress-thumb-label{
  font-size:11px; font-weight:800; color:#9060d0;
  text-align:center; line-height:1;
  white-space:nowrap;
}
.nm-progress-strip-empty{
  font-size:12px; font-weight:600; color:#bbb;
  text-align:center; padding:14px 8px;
}
/* Viewer fullscreen das fotos de progresso */
.nm-progress-view{
  position:fixed; inset:0; z-index:99002;
  background:rgba(0,0,0,0.92);
  display:none; flex-direction:column;
}
.nm-progress-view.nm-show{ display:flex; }
.nm-progress-view-header{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 18px; color:#fff;
}
.nm-progress-view-title{
  font-size:15px; font-weight:800;
}
.nm-progress-view-sub{
  font-size:12px; font-weight:600; opacity:0.75; margin-top:2px;
}
.nm-progress-view-close{
  background:none; border:none; color:#fff;
  font-size:24px; cursor:pointer; padding:4px 10px;
}
.nm-progress-view-body{
  flex:1; display:flex; align-items:center; justify-content:center;
  padding:8px 12px;
  overflow:hidden;
}
.nm-progress-view-body img{
  max-width:100%; max-height:100%; object-fit:contain;
  border-radius:14px;
}
.nm-progress-view-footer{
  display:flex; gap:10px; padding:12px 16px 22px;
}
.nm-progress-view-footer button{
  flex:1; border:none; border-radius:50px;
  padding:12px;
  font-family:'Nunito',sans-serif; font-size:13px; font-weight:800;
  cursor:pointer;
}
.nm-progress-view-del{
  background:rgba(255,255,255,0.08);
  color:#fff;
  border:1.5px solid rgba(255,90,90,0.6) !important;
}
.nm-progress-view-cls{
  background:#fff; color:#333;
}
.nm-progress-view-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:42px; height:42px; border-radius:50%;
  background:rgba(255,255,255,0.12); color:#fff; border:none;
  font-size:28px; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  z-index:2;
}
.nm-progress-view-nav-left{ left:12px; }
.nm-progress-view-nav-right{ right:12px; }
.nm-progress-view-nav:hover{ background:rgba(255,255,255,0.22); }
.nm-progress-view-nav:disabled{ opacity:0.25; cursor:default; }

/* ─── CARD DE HIDRATAÇÃO COMPACTO NO DIÁRIO ──────────────────────────── */
.nm-diario-hidrat-wrap{
  margin-bottom:14px;
}
/* Card compacto: reduz padding e organiza header */
.card.nm-hidrat-compact{
  padding:12px 14px !important;
  background:linear-gradient(135deg,#f4faff,#eaf3fb) !important;
  border:1.5px solid #d0e4f0 !important;
}
.nm-hidrat-header{
  display:flex; align-items:center; gap:10px;
  margin-bottom:10px; cursor:pointer;
  user-select:none;
}
.nm-hidrat-toggle{
  font-size:14px; color:#2a8ad4; font-weight:800;
  transition: transform 0.15s;
}
.nm-hidrat-toggle.nm-open{ transform: rotate(180deg); }

/* ─── TOAST DE STORIES (nmToast) ────────────────────────────────────── */
.nm-toast{
  position:fixed;
  bottom:88px; /* acima da barra de navegação */
  left:50%;
  transform:translateX(-50%);
  z-index:99999; /* acima do story-viewer (99001) */
  padding:10px 22px;
  border-radius:24px;
  color:#fff;
  font-size:14px;
  font-weight:700;
  white-space:nowrap;
  pointer-events:none;
  opacity:0;
  transition:opacity 0.25s ease;
  box-shadow:0 4px 16px rgba(0,0,0,0.25);
}
.nm-toast.nm-show{ opacity:1; }
