/* =========================================================================
   Mente e Corpo — Gold Luxury Editorial
   Fundo: dourado quente | Texto: verde-petróleo #192D30 | Fonte: Fraunces
   ========================================================================= */

/* ── Grain texture overlay ── */
body::before{
  content:''; position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  opacity: 0.028; mix-blend-mode: multiply;
}

/* ── Global transitions ── */
@keyframes mec-fade-in{
  from{ opacity:0; transform:translateY(12px); }
  to{ opacity:1; transform:translateY(0); }
}
@keyframes mec-glow-pulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(25,45,48,0); }
  50%{ box-shadow:0 0 18px 2px rgba(25,45,48,0.10); }
}

/* ── Root variables — WARM CREAM + GOLD ACCENTS ── */
:root{
  --bg:       #FFFDF8;
  --bg2:      #FBF8F0;
  --surface:  #F7F3E8;
  --surface2: #F0ECDF;
  --line:     #E8E2D0;
  --line2:    #D8D0BC;
  --ink:      #1A3A3A;
  --ink-soft: #2E5454;
  --ink-faint:#6A8A8A;
  --gold:     #1A3A3A;
  --gold-soft:#2A4A4A;
  --gold-pale:#3A5A5A;
  --accent:   #D4AF37;
  --accent-soft:#C49B2A;
  --accent-glow:#D4AF37;
  --radius:   8px;
  --radius-sm:4px;
}

/* ── Dark mode ── */
:root[data-theme="dark"] body{
  background-image:none;
}
:root[data-theme="dark"]{
  --bg:       #111B1C;
  --bg2:      #162324;
  --surface:  #1A2E30;
  --surface2: #1E3638;
  --line:     #264042;
  --line2:    #2E4A4E;
  --ink:      #E8E4DA;
  --ink-soft: #C8C4BA;
  --ink-faint:#8A8A7A;
  --gold:     #D4AF37;
  --gold-soft:#C49B2A;
  --gold-pale:#A88520;
  --accent:   #D4AF37;
  --accent-soft:#C49B2A;
  --accent-glow:#D4AF37;
}

/* ── Reset & base ── */
*, *::before, *::after{ box-sizing:border-box; }
html{ background: var(--bg); }
body{ margin:0; background:var(--bg); color:var(--ink);
  background-image:radial-gradient(ellipse at 80% 0%, rgba(212,175,55,0.04) 0%, transparent 50%),
                    radial-gradient(ellipse at 20% 100%, rgba(212,175,55,0.03) 0%, transparent 50%);
  font-family:'Plus Jakarta Sans','Mulish',sans-serif;
  font-size:15px; line-height:1.65;
  -webkit-font-smoothing:antialiased; }
a{ color:var(--accent); transition:color .15s; }
a:hover{ color:var(--accent-soft); }
strong{ color:var(--ink); font-weight:600; }
input,textarea,button,select{ font-family:inherit; }
::selection{ background:rgba(25,45,48,0.18); color:var(--ink); }

/* ── Flash messages ── */
.mec-flash{
  max-width:900px; margin:0 auto; padding:14px 24px;
  font-size:13px; border-bottom:1px solid var(--line);
  animation:mec-fade-in .35s ease-out;
  display:flex; align-items:center; gap:10px;
}
.mec-flash::before{ font-size:15px; flex-shrink:0; }
.mec-flash-error{ background:rgba(200,60,60,0.08); color:#8B1A1A; }
.mec-flash-error::before{ content:'⚠'; }
.mec-flash-success{ background:rgba(25,45,48,0.06); color:var(--ink); }
.mec-flash-success::before{ content:'✓'; }

/* ═══════════════════════════════════════════════════════════════════════════
   APP SHELL — sidebar + bottom nav
   ═══════════════════════════════════════════════════════════════════════════ */
.mec-shell{ display:flex; min-height:100vh; background:var(--bg); position:relative; z-index:1; }

/* sidebar — verde-petróleo escuro para contraste */
.mec-sidebar{
  position:sticky; top:0; height:100vh; flex:0 0 auto;
  width:150px; background:#0F2828; border-right:1px solid rgba(15,40,40,0.2);
  display:flex; flex-direction:column; align-items:center;
  padding:24px 0 20px; transition:width .28s cubic-bezier(.4,0,.2,1);
}
.mec-shell.mec-sidebar-expanded .mec-sidebar{
  width:240px; align-items:stretch; padding:24px 14px 20px;
}
.mec-sidebar-toggle{
  position:absolute; top:58px; right:-11px; z-index:60;
  width:22px; height:22px; border-radius:50%;
  background:var(--surface2); border:1px solid var(--line2);
  cursor:pointer; display:flex; align-items:center; justify-content:center;
  color:var(--gold); transition:background .15s;
}
.mec-sidebar-toggle:hover{ background:var(--line2); }
.mec-sidebar-toggle svg{ width:11px; height:11px; transition:transform .28s; }
.mec-shell.mec-sidebar-expanded .mec-sidebar-toggle svg{ transform:rotate(180deg); }

.mec-sidebar-logo{
  width:100%; max-width:200px; border-radius:8px; margin-bottom:28px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
  background:transparent; text-decoration:none; overflow:visible;
  padding:4px;
}
.mec-sidebar-logo img{ width:100%; height:auto; object-fit:contain; }
.mec-shell.mec-sidebar-expanded .mec-sidebar-logo{ align-self:center; max-width:200px; }

.mec-sidebar-nav{
  display:flex; flex-direction:column; gap:2px; width:100%;
  padding:0 8px; flex:1 1 auto;
  overflow-y:auto; overflow-x:hidden;
  scrollbar-width:thin; scrollbar-color:rgba(255,255,255,0.15) transparent;
}
.mec-sidebar-nav::-webkit-scrollbar{ width:3px; }
.mec-sidebar-nav::-webkit-scrollbar-thumb{ background:rgba(255,255,255,0.15); border-radius:3px; }
.mec-sidebar-nav::-webkit-scrollbar-track{ background:transparent; }
.mec-shell.mec-sidebar-expanded .mec-sidebar-nav{ padding:0; }

.mec-sidebar-item{
  display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:10px 4px; border-radius:8px; cursor:pointer;
  color:rgba(247,237,218,0.4); background:transparent; border:none;
  text-decoration:none; transition:color .15s, background .15s;
  width:100%;
}
.mec-shell.mec-sidebar-expanded .mec-sidebar-item{
  flex-direction:row; justify-content:flex-start; gap:11px; padding:10px 12px;
}
.mec-sidebar-item svg{ width:20px; height:20px; flex-shrink:0; }
.mec-sidebar-item span{ font-size:11px; font-weight:600; line-height:1; white-space:nowrap; }
.mec-shell.mec-sidebar-expanded .mec-sidebar-item span{ font-size:13px; }
.mec-sidebar-item:hover{ color:var(--accent-glow); background:rgba(218,165,32,0.10); transform:scale(1.02); }
.mec-sidebar-item.active{ color:var(--accent-glow); background:rgba(218,165,32,0.14); }
.mec-sidebar-item.active span{
  background:linear-gradient(135deg, #F6E5C7, var(--accent-glow));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.mec-sidebar-item.active svg{ filter:drop-shadow(0 0 4px rgba(218,165,32,0.4)); }

/* view toggle (ADM / Mentorada) */
.mec-view-toggle{
  margin-top:4px; border:1px solid rgba(218,165,32,0.3) !important;
  color:var(--accent-glow) !important; background:rgba(218,165,32,0.08) !important;
}
.mec-view-toggle:hover{ background:rgba(218,165,32,0.18) !important; }
.mec-bottom-item.mec-view-toggle{ border:1px solid rgba(218,165,32,0.3); border-radius:8px; }

/* mobile header */
.mec-mobile-header{
  display:none; position:fixed; top:0; left:0; right:0; z-index:50;
  align-items:center; justify-content:center;
  background:rgba(15,40,40,0.96); backdrop-filter:blur(12px);
  border-bottom:1px solid rgba(15,40,40,0.2);
  padding:14px 16px; padding-top:max(14px, env(safe-area-inset-top));
}
.mec-mobile-title{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:600;
  font-size:15px; color:#F7EDDA;
}

/* bottom nav */
.mec-bottom-nav{
  display:none; position:fixed; bottom:0; left:0; right:0; z-index:50;
  background:rgba(15,40,40,0.96); backdrop-filter:blur(12px);
  border-top:1px solid rgba(15,40,40,0.2);
  padding-bottom:env(safe-area-inset-bottom,0px);
}
.mec-bottom-nav-row{ display:flex; align-items:center; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.mec-bottom-nav-row::-webkit-scrollbar{ display:none; }
.mec-bottom-item{
  flex:0 0 auto; display:flex; flex-direction:column; align-items:center; gap:4px;
  padding:10px 10px; background:transparent; border:none; color:rgba(247,237,218,0.4);
  text-decoration:none; transition:color .15s, transform .15s;
  position:relative; min-width:56px;
}
.mec-bottom-item svg{ width:17px; height:17px; }
.mec-bottom-item span{ font-size:9px; font-weight:600; }
.mec-bottom-item.active{ color:var(--accent-glow); }
.mec-bottom-item.active svg{ filter:drop-shadow(0 0 4px rgba(218,165,32,0.4)); }

.mec-shell-main{ flex:1 1 auto; min-width:0; position:relative; }
.mec-shell-main::after{
  content:''; position:fixed; top:50%; left:50%; width:420px; height:260px;
  transform:translate(-50%,-50%); pointer-events:none; z-index:0; opacity:0.04;
  background: url("data:image/svg+xml,%3Csvg width='680' height='420' viewBox='0 0 680 420' xmlns='http://www.w3.org/2000/svg'%3E%3Cdefs%3E%3ClinearGradient id='g1' x1='0%25' y1='0%25' x2='100%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23F6E5C7'/%3E%3Cstop offset='40%25' stop-color='%23CE911C'/%3E%3Cstop offset='100%25' stop-color='%238B5E1A'/%3E%3C/linearGradient%3E%3ClinearGradient id='g2' x1='100%25' y1='0%25' x2='0%25' y2='100%25'%3E%3Cstop offset='0%25' stop-color='%23F6E5C7'/%3E%3Cstop offset='40%25' stop-color='%23E9C77D'/%3E%3Cstop offset='100%25' stop-color='%23CE911C'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cg transform='translate(340,185)'%3E%3Cpath d='M-8,-8 C-30,-55 -95,-65 -110,-30 C-125,5 -95,40 -60,35 C-35,30 -18,10 -8,-8 Z' fill='none' stroke='url(%23g1)' stroke-width='1.4' opacity='0.7'/%3E%3Cpath d='M-12,2 C-65,-20 -90,-8 -95,20 C-100,48 -75,65 -50,58 C-28,52 -18,28 -12,2 Z' fill='none' stroke='url(%23g1)' stroke-width='1.4' opacity='0.7'/%3E%3Cpath d='M-8,10 C-30,55 -85,68 -100,38 C-115,8 -88,-22 -60,-18 C-36,-14 -18,0 -8,10 Z' fill='none' stroke='url(%23g1)' stroke-width='1.4' opacity='0.7'/%3E%3Cpath d='M8,-8 C30,-55 95,-65 110,-30 C125,5 95,40 60,35 C35,30 18,10 8,-8 Z' fill='none' stroke='url(%23g2)' stroke-width='1.4' opacity='0.7'/%3E%3Cpath d='M12,2 C65,-20 90,-8 95,20 C100,48 75,65 50,58 C28,52 18,28 12,2 Z' fill='none' stroke='url(%23g2)' stroke-width='1.4' opacity='0.7'/%3E%3Cpath d='M8,10 C30,55 85,68 100,38 C115,8 88,-22 60,-18 C36,-14 18,0 8,10 Z' fill='none' stroke='url(%23g2)' stroke-width='1.4' opacity='0.7'/%3E%3Cpath d='M0,0 C-15,-35 -55,-52 -82,-38 C-108,-24 -108,24 -82,38 C-55,52 -15,35 0,0 Z' fill='%23CE911C' fill-opacity='0.08' stroke='url(%23g1)' stroke-width='2'/%3E%3Cpath d='M0,0 C15,-35 55,-52 82,-38 C108,-24 108,24 82,38 C55,52 15,35 0,0 Z' fill='%23CE911C' fill-opacity='0.08' stroke='url(%23g2)' stroke-width='2'/%3E%3Cpath d='M0,0 C-8,-18 -28,-42 -55,-42 C-90,-42 -112,-20 -112,0 C-112,20 -90,42 -55,42 C-28,42 -8,18 0,0' fill='none' stroke='url(%23g1)' stroke-width='2.8' stroke-linecap='round'/%3E%3Cpath d='M0,0 C8,-18 28,-42 55,-42 C90,-42 112,-20 112,0 C112,20 90,42 55,42 C28,42 8,18 0,0' fill='none' stroke='url(%23g2)' stroke-width='2.8' stroke-linecap='round'/%3E%3Ccircle cx='0' cy='0' r='5' fill='%23CE911C'/%3E%3Ccircle cx='0' cy='0' r='2.5' fill='%23F6E5C7'/%3E%3C/g%3E%3C/svg%3E") no-repeat center center;
  background-size: contain;
}

/* ── smaller laptops (short viewport): compact + scroll ── */
@media(max-height:780px) and (min-width:861px){
  .mec-sidebar{ padding:8px 0 6px; }
  .mec-sidebar-logo{ margin-bottom:8px; max-width:70px; }
  .mec-sidebar-nav{ gap:0; }
  .mec-sidebar-item{ padding:5px 4px; gap:1px; }
  .mec-sidebar-item svg{ width:14px; height:14px; }
  .mec-sidebar-item span{ font-size:8px; }
}

@media(max-width:860px){
  .mec-sidebar{ display:none; }
  .mec-mobile-header{ display:flex; }
  .mec-bottom-nav{ display:block; }
  .mec-shell-main{ padding-top:56px; padding-bottom:110px; }
  .mec-footer-bar{ display:none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   MEMBER WRAP
   ═══════════════════════════════════════════════════════════════════════════ */
.mec-wrap{
  max-width:780px; width:100%; margin:0 auto;
  padding:0 0 120px; box-sizing:border-box;
  color:var(--ink); position:relative; z-index:1;
}
.mec-wrap *{ box-sizing:border-box; }
.mec-wrap h1,.mec-wrap h2,.mec-wrap h3,.mec-wrap .mec-display{
  font-family:'Fraunces',serif; font-weight:440;
  letter-spacing:-0.02em; color:var(--ink); margin:0;
}

/* ── palette variants ── */
.mec-palette-feminino{
  --accent:#D4AF37; --accent-soft:#C49B2A; --accent-glow:#D4AF37;
  --track-bg:#FFFCF5; --track-surface:#F9F3E8; --track-surface2:#F2EBDC;
  --track-line:#E8DFC8; --track-highlight:linear-gradient(135deg,#D4AF37,#E8C84A);
  --track-badge-bg:rgba(212,175,55,0.10); --track-badge-color:#B8962E;
  --track-card-border:rgba(212,175,55,0.15);
}
.mec-palette-masculino{
  --accent:#2C5F5F; --accent-soft:#1E4A4A; --accent-glow:#3A7A7A;
  --track-bg:#F5F8F8; --track-surface:#EBF0F0; --track-surface2:#E0E8E8;
  --track-line:#C8D4D4; --track-highlight:linear-gradient(135deg,#2C5F5F,#3A7A7A);
  --track-badge-bg:rgba(44,95,95,0.10); --track-badge-color:#2C5F5F;
  --track-card-border:rgba(44,95,95,0.12);
}

/* apply track colors to content area */
.mec-palette-feminino .mec-top,
.mec-palette-masculino .mec-top{ border-bottom-color:var(--track-line); }

.mec-palette-feminino .mec-today-card,
.mec-palette-masculino .mec-today-card{ background:var(--track-surface2); border-bottom-color:var(--track-line); }
.mec-palette-feminino .mec-today-card::before,
.mec-palette-masculino .mec-today-card::before{ background:var(--track-highlight); }

.mec-palette-feminino .mec-onboarding,
.mec-palette-masculino .mec-onboarding{ background:var(--track-surface); border-left-color:var(--accent); }

.mec-palette-feminino .mec-tag,
.mec-palette-masculino .mec-tag{ color:var(--accent); background:var(--track-badge-bg); }

.mec-palette-feminino .mec-new-badge,
.mec-palette-masculino .mec-new-badge{ color:var(--accent); background:var(--track-badge-bg); }

.mec-palette-feminino .mec-law-card,
.mec-palette-masculino .mec-law-card{ background:var(--track-surface); border-color:var(--track-card-border); }
.mec-palette-feminino .mec-law-card:hover,
.mec-palette-masculino .mec-law-card:hover{ border-color:var(--accent); }

.mec-palette-feminino .mec-session,
.mec-palette-masculino .mec-session{ border-bottom-color:var(--track-line); }

.mec-palette-feminino .mec-session-num.done,
.mec-palette-masculino .mec-session-num.done{ background:var(--accent); }

.mec-palette-feminino .mec-path-node.done,
.mec-palette-masculino .mec-path-node.done{ background:var(--accent); }

.mec-palette-feminino .mec-download-btn,
.mec-palette-masculino .mec-download-btn{ background:var(--accent); }
.mec-palette-feminino .mec-download-btn:hover,
.mec-palette-masculino .mec-download-btn:hover{ background:var(--accent-soft); }

.mec-palette-feminino .mec-brand-eyebrow,
.mec-palette-masculino .mec-brand-eyebrow{ color:var(--accent); }
.mec-palette-feminino .mec-brand-eyebrow::before,
.mec-palette-masculino .mec-brand-eyebrow::before{ background:var(--accent); }

.mec-palette-feminino .mec-streak,
.mec-palette-masculino .mec-streak{ color:var(--accent); border-color:var(--track-card-border); }

.mec-palette-feminino .mec-analysis-card,
.mec-palette-masculino .mec-analysis-card{ background:var(--track-surface); }

.mec-palette-feminino .mec-reply-notice,
.mec-palette-masculino .mec-reply-notice{ border-left-color:var(--accent); }

.mec-palette-feminino .mec-footer-wa,
.mec-palette-masculino .mec-footer-wa{ background:var(--accent); }
.mec-palette-feminino .mec-footer-wa:hover,
.mec-palette-masculino .mec-footer-wa:hover{ background:var(--accent-soft); }

/* ── divider ── */
.mec-divider{
  display:block; height:1px; margin:0;
  background:linear-gradient(90deg, transparent, #D4AF37 20%, #E8C84A 50%, #D4AF37 80%, transparent);
  opacity:0.35;
}

/* ── top header ── */
.mec-top{
  padding:40px 24px 28px;
  border-bottom:1px solid var(--line);
  position:relative;
}
.mec-top::after{
  content:'✦'; position:absolute; bottom:-8px; left:24px;
  font-size:14px; color:#D4AF37; opacity:0.4;
  background:var(--bg); padding:0 8px;
}
.mec-brand-eyebrow{
  font-size:10.5px; letter-spacing:.22em; text-transform:uppercase;
  color:var(--gold); font-weight:700; margin:0 0 12px;
  display:flex; align-items:center; gap:8px;
}
.mec-brand-eyebrow::before{
  content:''; width:20px; height:1px; background:var(--gold); display:inline-block;
}
.mec-top h1{ font-size:34px; line-height:1.1; max-width:500px; font-style:italic; }
.mec-program-sub{ margin:10px 0 0; font-size:13.5px; color:var(--ink-soft); max-width:440px; }
.mec-welcome{ margin-top:18px; font-size:12.5px; color:var(--ink-faint); }
.mec-welcome a{ color:var(--ink-soft); text-decoration:none; }
.mec-welcome a:hover{ color:var(--gold-soft); }
.mec-streak{
  display:inline-flex; align-items:center; gap:5px; margin-left:10px;
  border:1px solid rgba(25,45,48,0.2); border-radius:999px;
  padding:2px 12px; font-size:11px; color:var(--gold-soft); font-weight:600;
}
/* ── streak shortcut (home) ── */
.mec-streak-shortcut{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:14px 24px; border-bottom:1px solid var(--line);
  text-decoration:none; color:var(--ink);
  background:linear-gradient(135deg, rgba(212,175,55,0.06), transparent 60%);
  transition:background .2s;
}
.mec-streak-shortcut:hover{ background:linear-gradient(135deg, rgba(212,175,55,0.12), transparent 60%); }
.mec-streak-fire{
  font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-weight:700;
  color:var(--accent);
}
.mec-streak-shortcut-sub{
  font-size:11.5px; color:var(--ink-faint); white-space:nowrap;
}

.mec-streak-calendar{
  padding:16px 24px 8px; max-width:600px;
}
.mec-streak-header{
  display:flex; justify-content:space-between; align-items:baseline; margin-bottom:10px;
}
.mec-streak-title{
  font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-weight:700; color:var(--gold,#CE911C);
}
.mec-streak-sub{
  font-size:11px; color:var(--ink,#1A1A1A); opacity:0.45;
}
.mec-streak-grid{
  display:grid; grid-template-columns:repeat(7,1fr); gap:3px;
}
.mec-streak-cell{
  aspect-ratio:1; border-radius:3px; display:flex; align-items:center; justify-content:center;
  transition:background .2s;
}
.mec-streak-cell.level-0{ background:var(--surface2,#EBEDF0); }
.mec-streak-cell.level-1{ background:rgba(212,175,55,0.25); }
.mec-streak-cell.level-2{ background:rgba(212,175,55,0.45); }
.mec-streak-cell.level-3{ background:rgba(180,145,30,0.7); }
.mec-streak-cell.level-4{ background:var(--gold,#CE911C); box-shadow:0 0 4px rgba(212,175,55,0.3); }
.mec-streak-day{
  font-size:10px; font-weight:600; color:var(--ink,#1A1A1A); opacity:0.4;
}
.mec-streak-cell.level-3 .mec-streak-day,
.mec-streak-cell.level-4 .mec-streak-day{
  color:#fff; opacity:0.9;
}
.mec-streak-legend{
  display:flex; align-items:center; gap:3px; margin-top:8px; justify-content:flex-end;
}
.mec-streak-legend-label{
  font-size:10px; color:var(--ink-faint); margin:0 4px;
}
.mec-theme-toggle{
  background:none; border:none; cursor:pointer; color:var(--ink-faint);
  padding:6px 12px; width:100%; text-align:left;
}
.mec-theme-toggle .mec-icon-moon{ display:none; }
:root[data-theme="dark"] .mec-theme-toggle .mec-icon-sun{ display:none; }
:root[data-theme="dark"] .mec-theme-toggle .mec-icon-moon{ display:inline; }
.mec-mini-player{
  position:fixed; bottom:0; left:0; right:0; z-index:9999;
  background:var(--bg2,#1A2E30); border-top:1px solid rgba(206,145,28,0.25);
  padding:8px 16px; display:flex; align-items:center;
}
.mec-mini-inner{
  display:flex; align-items:center; gap:10px; width:100%; max-width:700px; margin:0 auto;
}
.mec-mini-btn{
  background:var(--gold,#CE911C); border:none; color:#fff; width:32px; height:32px;
  border-radius:50%; cursor:pointer; font-size:14px; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
}
.mec-mini-info{ flex:1; min-width:0; display:flex; flex-direction:column; gap:3px; }
.mec-mini-title{
  font-size:11px; font-weight:600; color:var(--gold,#CE911C);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.mec-mini-seek{
  width:100%; height:4px; -webkit-appearance:none; appearance:none;
  background:rgba(255,255,255,0.15); border-radius:2px; outline:none; cursor:pointer;
}
.mec-mini-seek::-webkit-slider-thumb{
  -webkit-appearance:none; width:12px; height:12px; border-radius:50%;
  background:var(--gold,#CE911C); cursor:pointer;
}
.mec-mini-time{ font-size:10px; color:rgba(255,255,255,0.6); white-space:nowrap; flex-shrink:0; }
.mec-mini-close{
  background:none; border:none; color:rgba(255,255,255,0.5); cursor:pointer;
  font-size:16px; padding:4px; flex-shrink:0;
}
.mec-mini-close:hover{ color:#fff; }
.mec-group-photo{
  width:100%; max-height:320px; object-fit:cover; object-position:center 15%;
  border-radius:var(--radius); margin:22px 0 0;
  display:block; filter:brightness(0.92) contrast(1.02);
  transition:filter .4s;
}
.mec-group-photo:hover{ filter:brightness(0.95) contrast(1.02); }

/* ── track logo no topo ── */
.mec-track-logo{
  display:flex; justify-content:flex-start;
  margin-bottom:20px;
}
.mec-track-logo img{
  height:72px; width:auto; object-fit:contain;
  border-radius:8px; background:rgba(255,255,255,0.85); padding:8px 14px;
  box-shadow:0 2px 10px rgba(25,45,48,0.08);
}

/* ── novo badge ── */
.mec-new-badge{
  display:inline-flex; align-items:center; gap:4px;
  font-size:9px; font-weight:700; letter-spacing:.08em;
  color:var(--gold); text-transform:uppercase;
  background:rgba(25,45,48,0.08); border-radius:999px;
  padding:2px 8px; margin-left:8px; vertical-align:middle;
}

/* ── onboarding / reply notice ── */
.mec-onboarding{
  background:var(--surface); border:none; border-left:2px solid var(--gold);
  padding:18px 24px; margin:0;
  animation:mec-fade-in .5s ease-out;
}
.mec-onboarding p{ font-size:13.5px; color:var(--ink-soft); margin:7px 0 0; max-width:520px; }

.mec-checkin-card{
  background:linear-gradient(135deg, rgba(212,175,55,0.06), transparent 60%);
  border-left:3px solid var(--gold); padding:20px 24px; margin:0;
  animation:mec-fade-in .5s ease-out;
}
.mec-checkin-field{ margin-bottom:14px; }
.mec-checkin-field label{
  display:block; font-family:'Plus Jakarta Sans',sans-serif; font-size:13px;
  font-weight:600; color:var(--ink); margin-bottom:5px;
}
.mec-checkin-field textarea{
  width:100%; box-sizing:border-box; padding:10px 12px; border:1px solid var(--line);
  border-radius:8px; background:var(--bg); color:var(--ink);
  font-family:'Mulish',sans-serif; font-size:13.5px; resize:vertical;
  transition:border-color .2s;
}
.mec-checkin-field textarea:focus{ outline:none; border-color:var(--gold); }
.mec-checkin-card .mec-save-btn{ margin-top:4px; }
.mec-checkin-status{ margin-left:10px; }

.mec-audio-comments{ margin-top:18px; border-top:1px solid var(--line); padding-top:14px; }
.mec-audio-comments-header{ font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-weight:600; color:var(--ink); margin-bottom:10px; }
.mec-audio-comments-list{ max-height:260px; overflow-y:auto; margin-bottom:12px; }
.mec-audio-comment{ padding:8px 12px; margin-bottom:6px; border-radius:8px; background:var(--surface); display:flex; gap:10px; align-items:flex-start; }
.mec-comment-avatar{ width:28px; height:28px; border-radius:50%; object-fit:cover; flex-shrink:0; }
.mec-comment-avatar-placeholder{
  display:flex; align-items:center; justify-content:center;
  width:28px; height:28px; border-radius:50%; flex-shrink:0;
  background:var(--gold); color:#fff; font-size:12px; font-weight:700;
  font-family:'Plus Jakarta Sans',sans-serif;
}
.mec-comment-body{ flex:1; min-width:0; }
.mec-audio-comment.mine{ background:rgba(212,175,55,0.08); }
.mec-comment-meta{ font-size:11px; color:var(--ink-soft); margin-bottom:3px; display:flex; align-items:center; gap:6px; }
.mec-comment-meta strong{ color:var(--ink); font-size:12px; }
.mec-audio-comment p{ margin:0; font-size:13.5px; color:var(--ink); line-height:1.5; }
.mec-comment-badge{ font-size:9px; padding:1px 6px; border-radius:4px; font-weight:600; text-transform:uppercase; }
.mec-comment-badge.trilha{ background:rgba(212,175,55,0.15); color:var(--gold); }
.mec-comment-badge.mentor{ background:rgba(180,60,60,0.12); color:#b43c3c; }
.mec-audio-comment-text{
  width:100%; box-sizing:border-box; padding:8px 12px; border:1px solid var(--line);
  border-radius:8px; background:var(--bg); color:var(--ink);
  font-family:'Mulish',sans-serif; font-size:13px; resize:vertical;
}
.mec-audio-comment-text:focus{ outline:none; border-color:var(--gold); }
.mec-audio-comment-actions{ display:flex; gap:8px; align-items:center; margin-top:8px; }
.mec-audio-comment-vis{
  flex:1; padding:6px 10px; border:1px solid var(--line); border-radius:6px;
  background:var(--bg); color:var(--ink); font-size:12px;
  font-family:'Mulish',sans-serif;
}
.mec-audio-comment-actions .mec-save-btn{ padding:6px 16px; font-size:12px; }

.mec-audio-reactions{ display:flex; gap:4px; flex-wrap:wrap; margin-bottom:10px; }
.mec-reaction-btn{
  background:var(--surface); border:1px solid var(--line); border-radius:999px;
  padding:4px 10px; font-size:16px; cursor:pointer; transition:all .15s;
  line-height:1;
}
.mec-reaction-btn:hover{ background:var(--surface2); border-color:var(--gold); transform:scale(1.15); }
.mec-reaction-btn:active{ transform:scale(0.95); }
.mec-reaction-btn .mec-reaction-count{
  font-size:11px; font-family:'Mulish',sans-serif; color:var(--ink-soft);
  margin-left:2px; vertical-align:middle;
}
.mec-comment-delete{
  background:none; border:none; color:var(--ink-faint); cursor:pointer;
  font-size:11px; margin-left:auto; padding:0 2px; opacity:0.5; transition:all .15s;
}
.mec-comment-delete:hover{ opacity:1; color:#b43c3c; }
.mec-reaction-btn.active{ background:rgba(212,175,55,0.15); border-color:var(--gold); }

.mec-mentor-inbox{ background:rgba(180,60,60,0.06); border-left:3px solid #b43c3c; padding:18px 24px; margin:0 0 6px; }
.mec-mentor-inbox .mec-tag{ color:#b43c3c; }
.mec-mentor-inbox-item{ padding:8px 0; border-bottom:1px solid var(--line); }
.mec-mentor-inbox-item:last-child{ border-bottom:none; }
.mec-mentor-inbox-item p{ margin:4px 0 0; font-size:13.5px; color:var(--ink); }

.mec-reply-notice{
  background:rgba(25,45,48,0.04); border-left:2px solid var(--gold);
  padding:18px 24px; margin:0;
}
.mec-reply-item p{ font-size:13.5px; margin:4px 0; }
.mec-reply-item + .mec-reply-item{ margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.mec-reply-text{ color:var(--ink-soft); white-space:pre-line; }
.mec-btn-mark-seen{
  margin-top:10px; background:transparent; border:1px solid var(--line2);
  color:var(--ink-faint); border-radius:999px; padding:6px 14px;
  font-family:inherit; font-size:11.5px; cursor:pointer;
  transition:all .15s;
}
.mec-btn-mark-seen:hover{ border-color:var(--gold); color:var(--gold-soft); background:rgba(25,45,48,0.05); }

/* ── host card ── */
.mec-host-card{
  border-bottom:1px solid var(--line); padding:22px 24px;
  display:flex; gap:16px; align-items:flex-start; background:transparent;
  transition:background .25s;
}
.mec-host-card:hover{ background:rgba(25,45,48,0.03); }
.mec-host-card img{
  width:50px; height:50px; border-radius:var(--radius); object-fit:cover;
  flex:0 0 auto; filter:grayscale(0.1);
  transition:transform .3s, filter .3s;
}
.mec-host-card:hover img{ transform:scale(1.06); filter:grayscale(0); }
.mec-host-info h2{
  font-size:15px; font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700; margin-bottom:2px;
}
.mec-host-role{ font-size:11.5px; color:var(--ink-faint); margin-bottom:8px; }
.mec-host-msg{ font-size:13px; color:var(--ink-soft); max-width:480px; }
.mec-host-links{ margin-top:10px; display:flex; gap:14px; flex-wrap:wrap; }
.mec-host-links a{ font-size:11.5px; text-decoration:none; color:var(--ink-faint); }
.mec-host-links a:hover{ color:var(--gold-soft); }
.mec-whatsapp-link{
  display:inline-flex; align-items:center; gap:6px; margin-top:12px;
  background:transparent; color:var(--ink) !important; border:1px solid var(--line2);
  border-radius:999px; padding:8px 18px; font-size:12px; font-weight:600;
  text-decoration:none; transition:all .2s;
}
.mec-whatsapp-link:hover{ border-color:#2BA84A; color:#6fd98a !important; background:rgba(43,168,74,0.06); transform:translateY(-1px); }

/* ── analysis card ── */
.mec-analysis-card{
  background:var(--surface); border-bottom:1px solid var(--line);
  padding:24px;
}
.mec-analysis-text{ font-size:13.5px; color:var(--ink-soft); margin-top:6px; white-space:pre-line; max-width:540px; }

/* ── analysis card ── */
.mec-analysis-card{ max-width:800px; }
.mec-analysis-layout{ display:flex; gap:24px; align-items:flex-start; }
.mec-analysis-chart{ flex:0 0 280px; display:flex; justify-content:center; align-items:center; }
.mec-analysis-chart canvas{ max-width:100%; }
@media(max-width:680px){
  .mec-analysis-layout{ flex-direction:column; align-items:center; }
  .mec-analysis-chart{ flex:none; }
}
.mec-analysis-body{ font-size:13.5px; color:var(--ink-soft); line-height:1.7; }
.mec-analysis-body h4{
  font-family:'Plus Jakarta Sans',sans-serif; font-size:13px; font-weight:700;
  color:var(--accent); text-transform:uppercase; letter-spacing:.08em;
  margin:20px 0 8px; padding-bottom:4px; border-bottom:1px solid var(--line);
}
.mec-analysis-body h4:first-child{ margin-top:8px; }
.mec-analysis-body ul{ list-style:none; padding:0; margin:0 0 8px; }
.mec-analysis-body li{ padding:3px 0; font-size:13px; display:flex; justify-content:space-between; align-items:center; }
.mec-analysis-body li span.label{ color:var(--ink); font-weight:500; }
.mec-analysis-body li span.value{ font-weight:700; color:var(--ink); font-variant-numeric:tabular-nums; }
.mec-analysis-body .bar-wrap{
  flex:0 0 100px; height:6px; background:var(--surface2); border-radius:3px; margin-left:12px; overflow:hidden;
}
.mec-analysis-body .bar-fill{ height:100%; border-radius:3px; background:var(--accent); }
.mec-analysis-body .highlight-box{
  background:var(--surface2); border-radius:var(--radius-sm); padding:12px 14px;
  margin:8px 0; border-left:3px solid var(--accent);
}
.mec-analysis-body .highlight-box strong{ color:var(--ink); }
.mec-analysis-body .highlight-box p{ margin:4px 0 0; font-size:12.5px; }
.mec-download-btn{
  display:inline-flex; align-items:center; gap:7px; margin-top:14px;
  background:var(--gold); color:#F7EDDA !important; border-radius:var(--radius-sm);
  padding:10px 20px; font-size:12px; font-weight:700; text-decoration:none !important;
  letter-spacing:.03em; transition:background .15s, transform .15s, box-shadow .15s;
}
.mec-download-btn:hover{ background:var(--gold-soft); transform:translateY(-1px); box-shadow:0 4px 12px rgba(25,45,48,0.18); }
.mec-download-btn:active{ transform:translateY(0); }

/* ── trilha cards ── */
.mec-trilha-card{
  display:block; text-decoration:none !important; color:var(--ink);
  background:var(--surface2); border:1px solid var(--line); border-radius:var(--radius);
  padding:20px; flex:1 1 240px; min-width:240px; max-width:360px;
  transition:transform .15s, box-shadow .15s;
}
.mec-trilha-card:hover{ transform:translateY(-2px); box-shadow:0 6px 20px rgba(25,45,48,0.1); }
.mec-trilha-icon{ font-size:28px; margin-bottom:8px; }
.mec-trilha-card h3{
  font-family:'Plus Jakarta Sans',sans-serif; font-size:15px; font-weight:700; margin:0 0 4px;
}
.mec-trilha-card p{ font-size:12.5px; color:var(--ink-soft); margin:0 0 12px; }
.mec-trilha-progress{ display:flex; align-items:center; gap:8px; }
.mec-trilha-bar{ flex:1; height:6px; background:var(--line); border-radius:3px; overflow:hidden; }
.mec-trilha-fill{ height:100%; background:var(--accent); border-radius:3px; transition:width .3s; }
.mec-trilha-progress span{ font-size:11px; color:var(--ink-faint); font-variant-numeric:tabular-nums; white-space:nowrap; }

/* ── trilha detail ── */
.mec-trilha-audio{
  display:flex; gap:16px; padding:20px; border-bottom:1px solid var(--line);
  transition:opacity .2s;
}
.mec-trilha-audio.locked{ opacity:0.45; }
.mec-trilha-audio.completed{ background:var(--surface2); }
.mec-trilha-step{ flex:0 0 40px; display:flex; align-items:flex-start; justify-content:center; padding-top:2px; }
.mec-trilha-num{
  width:32px; height:32px; border-radius:50%; background:var(--accent); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:13px; font-weight:700;
}
.mec-trilha-check{ font-size:24px; }
.mec-trilha-lock{ font-size:20px; }
.mec-trilha-content{ flex:1; min-width:0; }
.mec-trilha-content h3{ font-family:'Plus Jakarta Sans',sans-serif; font-size:14px; font-weight:700; margin:0 0 4px; }
.mec-trilha-msg{ font-size:12.5px; color:var(--ink-soft); margin:4px 0 0; }
.mec-trilha-locked-msg{ font-size:11.5px; color:var(--ink-faint); font-style:italic; margin:8px 0 0; }
.mec-joinha-btn{
  margin-top:12px; padding:8px 18px; border:none; border-radius:var(--radius-sm);
  background:var(--accent); color:#fff; font-size:13px; font-weight:700;
  cursor:pointer; transition:background .15s, transform .15s;
}
.mec-joinha-btn:hover{ background:var(--gold-soft); transform:translateY(-1px); }
.mec-joinha-btn:disabled{ opacity:0.5; cursor:wait; }

/* ── avisos ── */
.mec-aviso-card{
  background:var(--surface2); border:1px solid var(--line); border-radius:var(--radius);
  padding:16px; margin-bottom:12px;
}
.mec-aviso-header{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:6px; }
.mec-aviso-header strong{ font-size:13.5px; color:var(--ink); }
.mec-aviso-header span{ font-size:11px; color:var(--ink-faint); }
.mec-aviso-msg{ font-size:13px; color:var(--ink-soft); white-space:pre-line; margin:0; line-height:1.6; }

/* ── chat ── */
.mec-chat-container{
  max-width:600px; padding:0 24px 24px; display:flex; flex-direction:column; gap:12px;
}
.mec-chat-messages{
  max-height:500px; overflow-y:auto; display:flex; flex-direction:column; gap:10px;
  padding:16px 0;
}
.mec-chat-bubble{
  max-width:85%; padding:12px 16px; border-radius:16px; position:relative;
}
.mec-chat-mine{
  align-self:flex-end;
  background:var(--accent, #7c5cbf); color:#fff;
  border-bottom-right-radius:4px;
}
.mec-chat-other{
  align-self:flex-start;
  background:var(--surface2); border:1px solid var(--line);
  border-bottom-left-radius:4px;
}
.mec-chat-bubble-header{
  display:flex; align-items:baseline; gap:8px; margin-bottom:4px;
}
.mec-chat-bubble-header strong{ font-size:12px; }
.mec-chat-mine .mec-chat-bubble-header strong{ color:rgba(255,255,255,.85); }
.mec-chat-other .mec-chat-bubble-header strong{ color:var(--ink); }
.mec-chat-badge-admin{
  font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  padding:1px 6px; border-radius:4px;
  background:rgba(212,175,55,.18); color:#D4AF37;
}
.mec-chat-time{ font-size:10px; color:var(--ink-faint); margin-left:auto; }
.mec-chat-mine .mec-chat-time{ color:rgba(255,255,255,.55); }
.mec-chat-text{
  font-size:13.5px; line-height:1.55; margin:0; white-space:pre-line;
}
.mec-chat-other .mec-chat-text{ color:var(--ink-soft); }
.mec-chat-empty{
  text-align:center; padding:40px 0; color:var(--ink-faint); font-size:13px;
}
.mec-chat-form{
  display:flex; gap:8px; align-items:flex-end;
  background:var(--surface2); border:1px solid var(--line); border-radius:16px;
  padding:8px 8px 8px 16px;
}
.mec-chat-input{
  flex:1; border:none; background:transparent; resize:none;
  font-family:inherit; font-size:13.5px; color:var(--ink);
  outline:none; line-height:1.5; max-height:100px;
}
.mec-chat-input::placeholder{ color:var(--ink-faint); }
.mec-chat-send{
  width:38px; height:38px; border-radius:50%; border:none; cursor:pointer;
  background:var(--accent, #7c5cbf); color:#fff;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:opacity .2s;
}
.mec-chat-send:hover{ opacity:.85; }
.mec-chat-send svg{ width:18px; height:18px; }

/* ── today card ── */
.mec-today-card{
  background:var(--surface2); border-bottom:1px solid var(--line); padding:28px 24px;
  position:relative; overflow:hidden;
  border-top:1px solid rgba(212,175,55,0.15);
}
.mec-today-card::before{
  content:''; position:absolute; top:0; left:0; width:3px; height:100%;
  background:linear-gradient(180deg, #D4AF37, #E8C84A, #D4AF37);
}
.mec-today-card::after{
  content:''; position:absolute; top:0; right:0; width:120px; height:120px;
  background:radial-gradient(circle at top right, rgba(212,175,55,0.08), transparent 70%);
  pointer-events:none;
}
.mec-today-card h2{ font-size:18px; margin-bottom:10px; font-style:italic; }
.mec-today-msg{ font-size:13.5px; color:var(--ink-soft); white-space:pre-line; margin-bottom:20px; max-width:560px; }

/* ── path track ── */
.mec-path-card{
  border-bottom:1px solid var(--line); padding:24px;
  background:linear-gradient(135deg, rgba(212,175,55,0.03), transparent 60%);
}
.mec-path-label{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:14px; }
.mec-path-label .mec-display{ font-size:15px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; }
.mec-path-count{ font-size:11.5px; color:var(--ink-faint); }
.mec-path-track{ display:flex; gap:3px; overflow-x:visible; }
.mec-path-node-wrap{ display:flex; align-items:stretch; flex:1 1 0; min-width:0; }
.mec-path-node{
  width:100%; height:3px; background:var(--line2); flex:1;
  cursor:pointer; transition:background .2s;
}
.mec-path-node.done{ background:var(--gold); }
.mec-path-node.current{ background:var(--gold-soft); }
.mec-path-node.locked{ background:var(--line); opacity:.4; cursor:not-allowed; }
.mec-path-line{ display:none; }

/* ── intro / section titles ── */
.mec-intro{
  padding:20px 24px; color:var(--ink-faint); font-size:13px;
  max-width:560px; border-bottom:1px solid var(--line); margin:0;
}
.mec-section-title{
  font-size:10.5px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ink-faint); font-weight:700; padding:26px 24px 12px; margin:0;
  display:flex; align-items:center; gap:10px;
}
.mec-section-title::before{
  content:''; width:16px; height:1px; background:linear-gradient(90deg, #D4AF37, transparent);
  flex-shrink:0;
}
.mec-section-title::after{
  content:''; flex:1; height:1px; background:linear-gradient(90deg, rgba(212,175,55,0.2), transparent);
}

/* ── carousel ── */
.mec-carousel-wrap{ border-bottom:1px solid var(--line); }
.mec-carousel-wrap .mec-section-title{ padding-bottom:12px; }
.mec-carousel{
  display:flex; gap:10px; overflow-x:auto; padding:0 24px 14px;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
}
.mec-carousel::-webkit-scrollbar{ height:4px; }
.mec-carousel::-webkit-scrollbar-thumb{ background:var(--line2); border-radius:999px; }
.mec-carousel::-webkit-scrollbar-track{ background:transparent; }
.mec-law-card{
  flex:0 0 auto; width:min(76%,212px); scroll-snap-align:start;
  background:var(--surface); border:1px solid rgba(212,175,55,0.18); border-radius:var(--radius);
  padding:16px; cursor:pointer;
  transition:border-color .2s, background .2s, transform .2s, box-shadow .2s;
  display:flex; flex-direction:column; gap:7px; min-height:128px;
  position:relative; overflow:hidden;
}
.mec-law-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, rgba(212,175,55,0.3), transparent);
}
.mec-law-card:hover{ border-color:#D4AF37; transform:translateY(-2px); box-shadow:0 6px 20px rgba(212,175,55,0.15); }
.mec-law-card.done{ background:rgba(25,45,48,0.04); }
.mec-law-card.current{ border-color:var(--gold); animation:mec-glow-pulse 3s ease-in-out infinite; }
.mec-law-card.locked{ opacity:.45; cursor:not-allowed; }
.mec-law-card.locked:hover{ border-color:var(--line2); }
.mec-law-card-top{ display:flex; align-items:center; justify-content:space-between; }
.mec-law-card-num{
  width:22px; height:22px; border-radius:4px; background:var(--surface2);
  display:flex; align-items:center; justify-content:center;
  font-size:10.5px; font-weight:700; color:var(--ink-faint);
  font-family:'Plus Jakarta Sans',sans-serif; flex-shrink:0;
}
.mec-law-card-num.done{ background:var(--gold); color:#F7EDDA; }
.mec-law-card-status{ font-size:9.5px; color:var(--gold-soft); font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.mec-law-card-week{ font-size:9.5px; letter-spacing:.12em; text-transform:uppercase; color:var(--gold); font-weight:700; }
.mec-law-card-title{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:14px; color:var(--ink); }
.mec-law-card-sub{ font-size:11px; color:var(--ink-soft); line-height:1.4; }

/* ── session cards (accordion) ── */
#mec-session-list{ padding:0; }
.mec-session{
  background:var(--bg); border:none; border-bottom:1px solid var(--line);
  overflow:hidden; position:relative;
}
.mec-session::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:1px;
  background:linear-gradient(180deg, transparent, rgba(212,175,55,0.15), transparent);
}
.mec-session.mec-recommended{ background:rgba(25,45,48,0.03); }
.mec-session.mec-recommended .mec-session-head{ border-left:2px solid var(--gold); }
.mec-session-head{
  display:flex; align-items:center; gap:14px; padding:18px 24px 18px 22px;
  cursor:pointer; border-left:2px solid transparent;
  -webkit-tap-highlight-color:transparent;
  transition:background .2s, border-color .2s;
}
.mec-session-head:hover{ background:rgba(25,45,48,0.04); border-left-color:var(--gold); }
.mec-session.mec-locked .mec-session-head{ cursor:not-allowed; opacity:.5; }
.mec-session-num{
  flex:0 0 auto; width:26px; height:26px; border-radius:4px;
  background:var(--surface2); display:flex; align-items:center; justify-content:center;
  font-family:'Plus Jakarta Sans',sans-serif; font-size:11.5px; font-weight:700;
  color:var(--ink-faint);
}
.mec-session-num.done{ background:var(--gold); color:#F7EDDA; }
.mec-session-info{ flex:1; min-width:0; }
.mec-week-tag{
  font-size:10px; letter-spacing:.12em; text-transform:uppercase;
  color:var(--gold); font-weight:700; margin-bottom:3px;
}
.mec-session-info h3{ font-size:15.5px; font-weight:440; }
.mec-axiom{ font-size:12px; font-style:italic; color:var(--ink-faint); margin-top:3px; }
.mec-sub{ font-size:12px; color:var(--ink-soft); margin-top:5px; max-width:460px; }
.mec-chevron{ flex:0 0 auto; color:var(--ink-faint); transition:transform .25s cubic-bezier(.4,0,.2,1), color .15s; }
.mec-session-head:hover .mec-chevron{ color:var(--gold-soft); }
.mec-session.mec-open .mec-chevron{ transform:rotate(180deg); color:var(--gold); }
.mec-session-body{ max-height:0; overflow:hidden; transition:max-height .35s cubic-bezier(.4,0,.2,1); }
.mec-session.mec-open .mec-session-body{ max-height:5000px; }
.mec-session-body-inner{ padding:4px 24px 28px; }

/* ── audio block ── */
.mec-audio-block{ margin:14px 0 8px; }
.mec-audio-label{ font-size:11px; color:var(--ink-faint); margin-bottom:8px; letter-spacing:.02em; }
.mec-wrap audio{ width:100%; height:36px; border-radius:var(--radius); }
.mec-audio-missing{
  background:var(--surface); border:1px dashed var(--line2); border-radius:var(--radius);
  padding:12px 14px; font-size:12.5px; color:var(--ink-faint);
}

/* ── exercise ── */
.mec-exercise{ margin-top:16px; padding-top:14px; border-top:1px solid var(--line); }
.mec-exercise-title{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:13.5px; margin-bottom:5px; }
.mec-exercise-prompt{ font-size:13px; color:var(--ink-soft); margin-bottom:12px; white-space:pre-line; max-width:520px; }
.mec-step-block{ margin-bottom:18px; }
.mec-step-block .mec-step-title{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:13px; margin-bottom:3px; }
.mec-step-block .mec-step-time{ font-size:10.5px; color:var(--gold-soft); margin-bottom:7px; }
.mec-step-block .mec-step-instructions{ font-size:13px; color:var(--ink-soft); white-space:pre-line; margin-bottom:10px; max-width:520px; }
.mec-field-label{ font-size:12px; color:var(--ink-soft); margin-bottom:5px; display:block; }
.mec-wrap textarea{
  width:100%; min-height:82px; border-radius:var(--radius); border:1px solid var(--line2);
  background:var(--surface); padding:11px 13px; font-family:inherit; font-size:13.5px;
  color:var(--ink); resize:vertical; margin-bottom:12px;
}
.mec-wrap textarea:focus{ outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(25,45,48,0.08); }
.mec-wrap textarea::placeholder{ color:var(--ink-faint); }
.mec-scale-row{ display:flex; gap:6px; margin-bottom:12px; flex-wrap:wrap; }
.mec-scale-btn{
  flex:1 1 auto; min-width:48px; padding:9px 4px; border-radius:var(--radius-sm);
  border:1px solid var(--line2); background:var(--surface); color:var(--ink-faint);
  font-family:inherit; font-size:11.5px; cursor:pointer; text-align:center;
  transition:all .18s;
}
.mec-scale-btn:hover{ border-color:var(--gold); color:var(--ink); background:rgba(25,45,48,0.05); transform:scale(1.04); }
.mec-scale-btn.mec-selected{
  background:var(--gold); border-color:var(--gold); color:#F7EDDA; font-weight:700;
  box-shadow:0 2px 8px rgba(25,45,48,0.2); transform:scale(1.04);
}
.mec-checklist{ display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.mec-check-item{ display:flex; align-items:flex-start; gap:10px; font-size:13.5px; cursor:pointer; padding:2px 0; color:var(--ink-soft); }
.mec-check-item input{ margin-top:3px; width:15px; height:15px; accent-color:var(--gold); flex:0 0 auto; }

/* ── exercise actions ── */
.mec-exercise-actions{ display:flex; align-items:center; gap:12px; margin-top:4px; flex-wrap:wrap; }
.mec-save-btn, .mec-question-send{
  background:var(--gold); color:#F7EDDA; border:none; border-radius:var(--radius-sm);
  padding:10px 22px; font-family:inherit; font-size:12px; font-weight:700;
  cursor:pointer; letter-spacing:.03em;
  transition:background .15s, transform .15s, box-shadow .15s;
}
.mec-save-btn:hover, .mec-question-send:hover{
  background:var(--gold-soft); transform:translateY(-1px);
  box-shadow:0 4px 12px rgba(25,45,48,0.18);
}
.mec-save-btn:active, .mec-question-send:active{ transform:translateY(0); box-shadow:none; }
.mec-save-status, .mec-question-status{
  font-size:11.5px; color:var(--gold-soft); opacity:0; transition:opacity .3s;
}
.mec-save-status.mec-show, .mec-question-status.mec-show{ opacity:1; }

/* ── question box ── */
.mec-question-box{ margin-top:18px; padding-top:14px; border-top:1px dashed var(--line2); }
.mec-question-title{ font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; font-size:13px; margin-bottom:3px; }
.mec-question-help{ font-size:11.5px; color:var(--ink-faint); margin:3px 0 8px; max-width:480px; }

/* ── lock ── */
.mec-lock-notice{
  margin:0 24px; padding:0; max-height:0; overflow:hidden;
  font-size:12.5px; color:var(--gold-soft);
  background:rgba(25,45,48,0.05); border-radius:var(--radius);
  transition:max-height .25s ease, padding .25s ease, margin .25s ease;
}
.mec-lock-notice.mec-show{ max-height:80px; padding:10px 14px; margin:10px 24px 0; }

/* ── skeleton ── */
@keyframes mec-pulse{ 0%,100%{opacity:1} 50%{opacity:.45} }
.mec-skeleton{
  background:var(--surface2); border:1px solid var(--line); border-radius:var(--radius);
  animation:mec-pulse 1.7s ease-in-out infinite;
}
.mec-skeleton-text{ height:13px; border-radius:3px; background:var(--line); animation:mec-pulse 1.7s ease-in-out infinite; }
.mec-skeleton-card{ aspect-ratio:16/9; width:100%; }
.mec-skeleton-block .mec-skeleton{ margin-bottom:8px; }

/* ── diary ── */
.mec-diary-field{ font-size:13.5px; color:var(--ink-soft); margin:7px 0; white-space:pre-line; max-width:520px; }
.mec-diary-checks{ list-style:none; padding:0; margin:7px 0; font-size:17px; display:flex; gap:6px; }

/* ── comunidade ── */
.mec-community-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));
  gap:18px; padding:22px 24px;
}
.mec-community-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:10px; display:flex; flex-direction:column; align-items:center; overflow:hidden;
}
.mec-community-card iframe{ border-radius:var(--radius-sm); }
.mec-community-caption{ font-size:12.5px; color:var(--ink-soft); margin:10px 4px 4px; align-self:flex-start; }
@media(max-width:600px){
  .mec-community-grid{ grid-template-columns:1fr; padding:18px; gap:14px; }
}

/* ── bonus section ── */
.mec-session[data-bonus] .mec-session-num{ background:rgba(25,45,48,0.08); color:var(--gold); }

/* ── footer ── */
.mec-footer{
  padding:26px 24px; font-size:11px; color:var(--ink-faint);
  border-top:1px solid rgba(212,175,55,0.15);
  position:relative;
}
.mec-footer::before{
  content:'✦ ✦ ✦'; position:absolute; top:-8px; left:50%;
  transform:translateX(-50%); font-size:8px; color:#D4AF37; opacity:0.35;
  background:var(--bg); padding:0 12px; letter-spacing:6px;
}
.mec-footer-bar{
  position:fixed; bottom:0; left:120px; right:0; z-index:900;
  background:#0F2828; color:rgba(255,255,255,0.65);
  text-align:center; padding:10px 16px; font-size:11px;
  border-top:2px solid rgba(212,175,55,0.35);
}
.mec-shell.mec-sidebar-expanded .mec-footer-bar{ left:240px; }
.mec-footer-bar a{ color:var(--accent,#D4AF37); text-decoration:underline; }
.mec-footer-bar .mec-footer-brand{ font-weight:600; color:rgba(255,255,255,0.85); display:block; }
.mec-mark{ display:none; }
.mec-credit{ margin-top:7px; font-size:10px; opacity:.5; }

/* ═══════════════════════════════════════════════════════════════════════════
   LOGIN PAGE — split layout editorial
   ═══════════════════════════════════════════════════════════════════════════ */
/* ——— LOGIN SOLO (sem hero, só formulário) ——— */
.mec-login-solo{
  min-height:100vh; display:flex; align-items:center; justify-content:center;
  padding:40px 20px;
  background:linear-gradient(135deg, #F8F6F0 0%, #EDEAE2 100%);
}
.mec-login-fem{
  background:linear-gradient(135deg, #FDF8ED 0%, #F5ECD8 50%, #EDE4CC 100%);
}
.mec-login-masc{
  background:linear-gradient(135deg, #FDF8ED 0%, #F5ECD8 50%, #EDE4CC 100%);
}
.mec-login-card-solo{
  background:#fff; border-radius:16px; padding:48px 40px;
  max-width:420px; width:100%;
  box-shadow:0 8px 40px rgba(0,0,0,0.08), 0 1px 3px rgba(0,0,0,0.04);
}

/* Logo no login */
.mec-login-logo{
  margin-bottom:24px; display:flex; justify-content:center;
}
.mec-login-logo img{
  height:120px; width:auto; object-fit:contain;
}

.mec-login-card-solo .mec-brand-eyebrow{ margin-bottom:8px; text-align:center; }
.mec-login-card-solo h2{
  font-family:'Fraunces',serif; font-style:italic; font-size:26px;
  margin:0 0 6px; font-weight:440; text-align:center; color:var(--ink);
}
.mec-login-card-solo > p{
  color:var(--ink-soft); font-size:13.5px; margin:0 0 28px; text-align:center;
}
.mec-login-card-solo label{
  font-size:11.5px; color:var(--ink-faint); display:block;
  margin-bottom:5px; letter-spacing:.04em; text-transform:uppercase;
}
.mec-login-card-solo input[type="text"],
.mec-login-card-solo input[type="password"]{
  width:100%; padding:13px 14px; border-radius:var(--radius);
  border:1px solid var(--line2); background:var(--surface);
  color:var(--ink); font-family:inherit; font-size:14.5px; margin-bottom:16px;
  transition:border-color .15s;
}
.mec-login-card-solo input[type="text"]:focus,
.mec-login-card-solo input[type="password"]:focus{
  outline:none; border-color:#D4AF37; box-shadow:0 0 0 3px rgba(212,175,55,0.12);
}
.mec-login-masc .mec-login-card-solo input[type="text"]:focus,
.mec-login-masc .mec-login-card-solo input[type="password"]:focus{
  border-color:#D4AF37; box-shadow:0 0 0 3px rgba(212,175,55,0.12);
}
.mec-login-card-solo input[type="submit"]{
  width:100%; color:#fff; border:none;
  border-radius:var(--radius-sm); padding:14px; font-family:inherit;
  font-size:13.5px; font-weight:700; cursor:pointer; margin-top:4px;
  letter-spacing:.04em; transition:background .2s, transform .15s, box-shadow .2s;
}
.mec-login-fem .mec-login-card-solo input[type="submit"]{
  background:#D4AF37;
  box-shadow:0 4px 14px rgba(212,175,55,0.3);
}
.mec-login-fem .mec-login-card-solo input[type="submit"]:hover{
  background:#C49B2A; transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(212,175,55,0.4);
}
.mec-login-masc .mec-login-card-solo input[type="submit"]{
  background:#D4AF37;
  box-shadow:0 4px 14px rgba(212,175,55,0.3);
}
.mec-login-masc .mec-login-card-solo input[type="submit"]:hover{
  background:#C49B2A; transform:translateY(-1px);
  box-shadow:0 6px 20px rgba(212,175,55,0.4);
}
.mec-login-card-solo input[type="submit"]:active{ transform:translateY(0); box-shadow:none; }
.mec-login-card-solo a{ color:var(--ink-soft); font-size:12.5px; }
.mec-login-card-solo a:hover{ color:var(--ink); }
.mec-login-footer-links{ display:flex; gap:14px; margin-top:24px; flex-wrap:wrap; justify-content:center; }
.mec-login-footer-links a{ font-size:11.5px; color:var(--ink-faint); text-decoration:none; }
.mec-login-footer-links a:hover{ color:var(--ink); }

/* forgot/reset */
.mec-login-card-solo form p{ margin:0; }

@media(max-width:480px){
  .mec-login-card-solo{
    padding:36px 24px; border-radius:12px;
  }
  .mec-login-logo img{ height:90px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   LANDING PAGE
   ═══════════════════════════════════════════════════════════════════════════ */

/* Hero split layout — texto à esquerda, foto do Luiz à direita */
.mec-hero-split{
  display:flex; gap:0; align-items:center;
  border-bottom:1px solid var(--line);
  min-height:380px; padding-right:32px;
}
.mec-hero-text{
  flex:1 1 55%; padding:56px 40px 48px 24px;
  display:flex; flex-direction:column; justify-content:center;
}
.mec-hero-photo-frame{
  flex:0 0 320px; position:relative; overflow:hidden;
  border-left:1px solid var(--line);
  background:var(--surface);
  /* Força proporção 1:1 — ideal para a foto 360x360 do Luiz */
  aspect-ratio:1/1;
  align-self:center;
  margin:32px 24px 32px 0;
  border-radius:var(--radius);
  border:1px solid var(--line);
}
.mec-hero-photo{
  width:100%; height:100%; object-fit:cover;
  object-position:center 20%;
  filter:grayscale(0.05) brightness(0.92) contrast(1.04);
  display:block;
  border-radius:var(--radius);
  transition:transform .6s cubic-bezier(.4,0,.2,1), filter .4s;
}
.mec-hero-photo-frame:hover .mec-hero-photo{ transform:scale(1.04); filter:grayscale(0) brightness(0.96) contrast(1.02); }
.mec-hero-photo-caption{
  position:absolute; bottom:0; left:0; right:0;
  background:linear-gradient(0deg, rgba(25,45,48,.95) 0%, rgba(25,45,48,.0) 100%);
  padding:28px 18px 14px;
  display:flex; flex-direction:column; gap:3px;
  border-radius:0 0 var(--radius) var(--radius);
}
.mec-hero-photo-name{
  font-size:14px; font-weight:700; color:#F7EDDA; line-height:1.2;
}
.mec-hero-photo-role{
  font-size:12px; color:rgba(247,237,218,0.7);
}
.mec-about-noimg{
  padding:24px; border-bottom:1px solid var(--line);
}
.mec-about-noimg h2{ font-size:17px; margin-bottom:4px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; }
.mec-about-noimg p{ font-size:13.5px; color:var(--ink-soft); margin:8px 0 0; max-width:480px; }

.mec-landing .mec-hero{
  text-align:left; padding:72px 24px 16px; border-bottom:1px solid var(--line);
}
.mec-landing .mec-hero h1{
  font-family:'Fraunces',serif; font-style:italic;
  font-size:48px; line-height:1.1; margin:14px 0 0; max-width:620px;
  text-wrap:balance;
}
.mec-landing .mec-hero p{ color:var(--ink-soft); font-size:15px; max-width:480px; margin:16px 0 0; }
.mec-cta-row{ display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; padding-bottom:8px; }
.mec-cta-primary{
  background:var(--gold); color:#F7EDDA; border:none; border-radius:var(--radius-sm);
  padding:14px 28px; font-family:inherit; font-size:13.5px; font-weight:700;
  text-decoration:none !important; display:inline-flex; align-items:center; gap:8px;
  letter-spacing:.03em; transition:background .2s, transform .15s, box-shadow .2s;
}
.mec-cta-primary:hover{
  background:var(--gold-soft); transform:translateY(-2px);
  box-shadow:0 6px 24px rgba(25,45,48,0.2);
}
.mec-cta-primary:active{ transform:translateY(0); box-shadow:none; }
.mec-cta-outline{
  background:transparent !important; border:1px solid var(--line2);
  color:var(--ink) !important;
}
.mec-cta-outline:hover{
  background:var(--surface) !important; border-color:var(--ink);
  box-shadow:0 4px 16px rgba(25,45,48,0.10);
}
.mec-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:0; border-bottom:1px solid var(--line); }
.mec-pillar{ background:transparent; border-right:1px solid var(--line); padding:26px 24px; transition:background .25s; }
.mec-pillar:last-child{ border-right:none; }
.mec-pillar:hover{ background:rgba(25,45,48,0.04); }
.mec-pillar .mec-icon{ font-size:26px; margin-bottom:12px; transition:transform .3s; }
.mec-pillar:hover .mec-icon{ transform:scale(1.15); }
.mec-pillar h3{ font-size:14px; margin-bottom:7px; font-family:'Plus Jakarta Sans',sans-serif; font-weight:700; transition:color .2s; }
.mec-pillar:hover h3{ color:var(--gold-soft); }
.mec-pillar p{ font-size:13px; color:var(--ink-soft); margin:0; }
.mec-about{
  display:flex; gap:20px; align-items:flex-start;
  padding:24px; border-bottom:1px solid var(--line);
}
.mec-about img{ width:88px; height:88px; border-radius:var(--radius); object-fit:cover; border:none; flex:0 0 auto; }
.mec-about p{ font-size:13.5px; color:var(--ink-soft); margin:10px 0 0; max-width:460px; }
.mec-final-cta{
  text-align:left; background:var(--surface); border-bottom:1px solid var(--line);
  padding:48px 24px; position:relative; overflow:hidden;
}
.mec-final-cta::before{
  content:''; position:absolute; top:-60px; right:-60px; width:200px; height:200px;
  background:radial-gradient(circle, rgba(25,45,48,0.05) 0%, transparent 70%);
  pointer-events:none;
}
.mec-final-cta h2{ font-family:'Fraunces',serif; font-style:italic; font-size:30px; margin-bottom:12px; font-weight:440; text-wrap:balance; }
.mec-final-cta p{ color:var(--ink-soft); font-size:14px; margin-bottom:22px; max-width:460px; }

/* ═══════════════════════════════════════════════════════════════════════════
   ADMIN PANEL
   ═══════════════════════════════════════════════════════════════════════════ */
.mec-admin-wrap{
  max-width:1100px; margin:0 auto; padding:32px 24px 80px;
  background:var(--bg); color:var(--ink);
  font-family:'Plus Jakarta Sans',sans-serif; min-height:100vh;
}
.mec-admin-wrap *{ box-sizing:border-box; }
.mec-admin-wrap h1{ font-family:'Fraunces',serif; font-style:italic; font-weight:440; font-size:28px; }
.mec-admin-nav{
  display:flex; gap:0; flex-wrap:wrap; margin-bottom:28px;
  border-bottom:1px solid var(--line);
}
.mec-admin-nav a{
  color:var(--ink-soft); text-decoration:none; font-size:13px;
  padding:12px 18px; border-bottom:2px solid transparent; margin-bottom:-1px;
  transition:color .15s, border-color .2s, background .15s;
}
.mec-admin-nav a:hover{ color:var(--ink); background:rgba(25,45,48,0.04); }
.mec-admin-nav a.active{ color:var(--ink); border-color:var(--gold); font-weight:600; }
.mec-admin-table{ width:100%; border-collapse:collapse; font-size:13px; margin-top:14px; }
.mec-admin-table th,.mec-admin-table td{
  border:none; border-bottom:1px solid var(--line); padding:10px 12px; text-align:left;
}
.mec-admin-table th{ color:var(--ink-soft); font-weight:600; font-size:11px; text-transform:uppercase; letter-spacing:.04em; background:transparent; }
.mec-admin-table td{ background:transparent; }
.mec-admin-table .ok{ text-align:center; color:var(--gold-soft); }
.mec-admin-actions{ display:flex; gap:10px; margin-bottom:14px; flex-wrap:wrap; align-items:center; }
.mec-btn{
  display:inline-flex; align-items:center; gap:6px; background:var(--gold);
  color:#F7EDDA; border:none; border-radius:var(--radius-sm); padding:10px 20px;
  font-family:inherit; font-size:12px; font-weight:700; cursor:pointer;
  text-decoration:none; letter-spacing:.02em;
  transition:background .15s, transform .15s, box-shadow .15s;
}
.mec-btn:hover{ background:var(--gold-soft); transform:translateY(-1px); box-shadow:0 4px 12px rgba(25,45,48,0.15); }
.mec-btn:active{ transform:translateY(0); box-shadow:none; }
.mec-btn-secondary{ background:transparent; color:var(--ink); border:1px solid var(--line2); }
.mec-btn-secondary:hover{ background:var(--surface); }
.mec-btn-danger{ background:#C01032; color:#fff; border-color:#C01032; }
.mec-btn-danger:hover{ background:#e01040; border-color:#e01040; }
.mec-form-row{ margin-bottom:16px; }
.mec-form-row label{ display:block; font-size:11.5px; margin-bottom:5px; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.03em; }
.mec-form-row input[type="text"],
.mec-form-row input[type="email"],
.mec-form-row input[type="password"],
.mec-form-row select,
.mec-form-row textarea{
  width:100%; max-width:480px; padding:11px 12px; border-radius:var(--radius);
  border:1px solid var(--line2); background:var(--surface);
  color:var(--ink); font-family:inherit; font-size:13.5px;
}
.mec-form-row input:focus,.mec-form-row select:focus,.mec-form-row textarea:focus{
  outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(25,45,48,0.08);
}
.mec-form-row textarea{ min-height:140px; max-width:100%; }
.mec-form-row input[type="file"]{ color:var(--ink-soft); }
.mec-form-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:24px; max-width:640px; }
/* KPI cards */
.mec-kpi-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:12px; margin-bottom:20px; }
.mec-kpi-card{
  background:var(--surface); border:1px solid var(--line); border-radius:var(--radius);
  padding:18px 20px; display:flex; flex-direction:column; gap:4px;
  transition:transform .2s, box-shadow .2s, border-color .2s;
}
.mec-kpi-card:hover{ transform:translateY(-2px); box-shadow:0 6px 20px rgba(25,45,48,0.08); border-color:var(--line2); }
.mec-kpi-card.mec-kpi-highlight{ border-color:var(--gold); background:rgba(25,45,48,0.05); }
.mec-kpi-card.mec-kpi-alert{ border-color:#C01032; background:rgba(192,16,50,0.06); }
.mec-kpi-value{ font-size:32px; font-weight:700; font-family:'Fraunces',serif; color:var(--ink); line-height:1; }
.mec-kpi-highlight .mec-kpi-value{ color:var(--gold); }
.mec-kpi-alert .mec-kpi-value{ color:#e04060; }
.mec-kpi-label{ font-size:12px; font-weight:600; color:var(--ink-soft); text-transform:uppercase; letter-spacing:.06em; margin-top:4px; }
.mec-kpi-sub{ font-size:11.5px; color:var(--ink-faint); }
.mec-kpi-sub a{ color:var(--gold-soft); }

/* Bar chart */
.mec-chart-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:20px 22px; margin-bottom:20px; }
.mec-chart-title{ font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--ink-soft); margin-bottom:16px; }
.mec-bar-chart{ display:flex; flex-direction:column; gap:8px; }
.mec-bar-row{ display:grid; grid-template-columns:90px 1fr 60px; gap:10px; align-items:center; }
.mec-bar-label{ font-size:12px; color:var(--ink-soft); text-align:right; white-space:nowrap; }
.mec-bar-track{ background:var(--surface2); border-radius:999px; height:7px; overflow:hidden; }
.mec-bar-fill{ height:100%; background:var(--gold); border-radius:999px; transition:width .4s ease; min-width:2px; }
.mec-bar-fill.mec-bar-complete{ background:linear-gradient(90deg, var(--gold), var(--gold-soft)); }
.mec-bar-count{ font-size:12px; color:var(--ink); font-weight:600; }
.mec-bar-pct{ color:var(--ink-faint); font-weight:400; }

.mec-question-card{ background:var(--surface); border:1px solid var(--line); border-radius:var(--radius); padding:16px; margin-bottom:12px; }
.mec-question-meta{ font-size:12px; color:var(--ink-soft); margin-bottom:8px; }
.mec-question-msg{ background:var(--bg2); padding:10px 12px; border-radius:var(--radius-sm); font-size:13.5px; margin-bottom:10px; white-space:pre-line; }
.mec-question-reply{ background:rgba(25,45,48,0.05); padding:10px 12px; border-radius:var(--radius-sm); font-size:13.5px; margin-bottom:10px; white-space:pre-line; }
.badge{ display:inline-block; padding:2px 10px; border-radius:999px; font-size:11px; font-weight:700; }
.badge-new{ background:rgba(25,45,48,0.10); color:var(--gold-soft); }
.badge-replied{ background:rgba(34,120,60,0.12); color:#1a6b34; }

@media(max-width:700px){
  .mec-admin-table{ font-size:11.5px; }
  .mec-admin-table th,.mec-admin-table td{ padding:7px; }
  .mec-admin-wrap{ padding:20px 14px 60px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   RESPONSIVE — member wrap
   ═══════════════════════════════════════════════════════════════════════════ */
@media(max-width:600px){
  .mec-top{ padding:24px 18px 22px; }
  .mec-top h1{ font-size:26px; }
  .mec-group-photo{ max-height:180px; margin:16px 0 0; }
  .mec-track-logo img{ height:54px; }
  .mec-welcome{ font-size:12.5px; }
  .mec-host-card,.mec-analysis-card,.mec-today-card,.mec-path-card,
  .mec-intro,.mec-section-title{ padding-left:18px; padding-right:18px; }
  .mec-host-card{ flex-direction:column; gap:12px; }
  .mec-host-card img{ width:56px; height:56px; }
  .mec-session-head{ padding:14px 18px 14px 16px; }
  .mec-session-body-inner{ padding:4px 18px 22px; }
  .mec-carousel{ padding:0 18px 12px; }
  .mec-law-card{ width:min(74%,200px); }
  .mec-landing .mec-hero{ padding:44px 18px 10px; }
  .mec-landing .mec-hero h1{ font-size:28px; }
  .mec-landing .mec-hero p{ font-size:13.5px; }
  .mec-cta-row{ flex-direction:column; gap:10px; }
  .mec-cta-primary{ text-align:center; justify-content:center; padding:14px 20px; font-size:13px; }
  .mec-hero-split{ flex-direction:column; min-height:auto; padding-right:0; }
  .mec-hero-text{ padding:36px 18px 24px; }
  .mec-hero-photo-frame{
    flex:0 0 auto; width:200px; margin:0 auto 28px;
    border-left:none; border-top:none;
  }
  .mec-about-noimg{ padding:20px 18px; }
  .mec-about-noimg h2{ font-size:15px; }
  .mec-grid{ grid-template-columns:1fr; }
  .mec-pillar{ border-right:none; border-bottom:1px solid var(--line); padding:20px 18px; }
  .mec-about{ flex-direction:column; padding:20px 18px; }
  .mec-final-cta{ padding:28px 18px; }
  .mec-final-cta h2{ font-size:24px; }
  .mec-exercise-actions{ flex-direction:column; align-items:stretch; gap:8px; }
  .mec-save-btn,.mec-question-send{ width:100%; text-align:center; }
  .mec-footer{ padding:22px 18px; }
  .mec-kpi-grid{ grid-template-columns:1fr 1fr; gap:8px; }
  .mec-kpi-value{ font-size:24px; }
  .mec-kpi-label{ font-size:10px; }
  .mec-admin-nav{ overflow-x:auto; flex-wrap:nowrap; -webkit-overflow-scrolling:touch; }
  .mec-admin-nav a{ white-space:nowrap; padding:10px 14px; font-size:12px; }
}

@media(prefers-reduced-motion:reduce){
  .mec-skeleton,.mec-skeleton-text{ animation:none; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   LUI$/RO$E — Coin System
   ═══════════════════════════════════════════════════════════════════════════ */
.mec-coin-hero{
  display:grid; grid-template-columns:1fr 1fr; gap:0;
  border-bottom:1px solid var(--line);
}
.mec-coin-balance-card{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  padding:36px 24px; border-right:1px solid var(--line);
  background:rgba(25,45,48,0.04);
}
.mec-coin-icon{ font-size:42px; margin-bottom:8px; }
.mec-coin-amount{
  font-family:'Fraunces',serif; font-size:56px; font-weight:500;
  color:var(--accent); line-height:1; letter-spacing:-0.02em;
  text-shadow:0 2px 12px rgba(25,45,48,0.12);
}
.mec-coin-label{
  font-size:13px; font-weight:700; color:var(--gold-soft);
  text-transform:uppercase; letter-spacing:.1em; margin-top:6px;
}
.mec-coin-how{ padding:28px 24px; }
.mec-coin-rules{ list-style:none; padding:0; margin:12px 0 0; display:flex; flex-direction:column; gap:9px; }
.mec-coin-rules li{
  display:flex; align-items:center; gap:10px;
  font-size:13px; color:var(--ink-soft);
}
.mec-coin-rule-icon{ font-size:16px; flex:0 0 auto; width:24px; text-align:center; }
.mec-coin-rule-val{
  margin-left:auto; font-size:11.5px; font-weight:700;
  color:var(--gold); white-space:nowrap;
}

/* Rewards grid */
.mec-rewards-grid{
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr));
  gap:14px; padding:18px 24px;
}
.mec-reward-card{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius); padding:20px; position:relative;
  transition:border-color .2s, transform .2s, box-shadow .2s;
}
.mec-reward-card:hover{ transform:translateY(-3px); box-shadow:0 8px 24px rgba(25,45,48,0.12); }
.mec-reward-card.mec-reward-affordable{ border-color:var(--gold); box-shadow:0 0 0 1px rgba(25,45,48,0.10); }
.mec-reward-cost{
  font-size:11px; font-weight:700; color:var(--gold);
  text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px;
}
.mec-reward-card h3{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700;
  font-size:15px; margin:0 0 6px;
}
.mec-reward-card p{ font-size:12.5px; color:var(--ink-soft); margin:0 0 14px; }
.mec-btn-redeem{
  background:var(--gold); color:#F7EDDA; border:none;
  border-radius:var(--radius-sm); padding:9px 18px;
  font-family:inherit; font-size:12px; font-weight:700;
  cursor:pointer; width:100%; letter-spacing:.03em;
  transition:background .15s, transform .15s, box-shadow .15s;
}
.mec-btn-redeem:hover{ background:var(--gold-soft); transform:translateY(-1px); box-shadow:0 4px 12px rgba(25,45,48,0.18); }
.mec-btn-redeem:active{ transform:translateY(0); }
.mec-reward-locked{
  font-size:11.5px; color:var(--ink-faint); text-align:center;
  padding:9px; border:1px dashed var(--line2); border-radius:var(--radius-sm);
}
.mec-reward-form{ margin-top:auto; }

/* Coin history */
.mec-coin-history{ padding:0 24px 20px; }
.mec-coin-tx{
  display:flex; align-items:center; gap:12px;
  padding:11px 0; border-bottom:1px solid var(--line);
}
.mec-coin-tx:last-child{ border-bottom:none; }
.mec-coin-tx-icon{ font-size:18px; flex:0 0 auto; width:28px; text-align:center; }
.mec-coin-tx-info{ flex:1; min-width:0; }
.mec-coin-tx-reason{ font-size:13px; color:var(--ink-soft); display:block; }
.mec-coin-tx-date{ font-size:11px; color:var(--ink-faint); }
.mec-coin-tx-amount{
  font-size:14px; font-weight:700; color:var(--gold); flex:0 0 auto;
}

@media(max-width:600px){
  .mec-coin-hero{ grid-template-columns:1fr; }
  .mec-coin-balance-card{ border-right:none; border-bottom:1px solid var(--line); padding:28px 18px; }
  .mec-coin-how{ padding:20px 18px; }
  .mec-coin-amount{ font-size:44px; }
  .mec-rewards-grid{ grid-template-columns:1fr; padding:14px 18px; }
  .mec-coin-history{ padding:0 18px 16px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   ZEN — Breathing & Mental Cleanse
   ═══════════════════════════════════════════════════════════════════════════ */
.mec-zen-hero{
  display:flex; justify-content:center; padding:40px 24px;
  border-bottom:1px solid var(--line);
  background:radial-gradient(ellipse at center, rgba(25,45,48,0.05) 0%, transparent 70%);
}
.mec-zen-breathing{
  display:flex; flex-direction:column; align-items:center; gap:28px;
  max-width:360px; width:100%;
}
.mec-zen-circle{
  width:200px; height:200px; border-radius:50%;
  border:2px solid var(--line2);
  display:flex; align-items:center; justify-content:center;
  background:rgba(25,45,48,0.04);
  transition:border-color .5s, box-shadow .5s;
  box-shadow:0 0 40px rgba(25,45,48,0.05);
}
.mec-zen-circle-inner{
  width:160px; height:160px; border-radius:50%;
  background:radial-gradient(circle, rgba(25,45,48,0.08) 0%, rgba(25,45,48,0.04) 100%);
  border:1px solid rgba(25,45,48,0.15);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:4px; transition:transform 4s ease-in-out;
}
.mec-zen-instruction{
  font-family:'Fraunces',serif; font-style:italic; font-size:20px;
  color:var(--gold-soft); font-weight:440;
}
.mec-zen-timer{ font-size:12px; color:var(--ink-faint); }
.mec-zen-controls{
  display:flex; flex-direction:column; align-items:center; gap:14px; width:100%;
}
.mec-zen-btn{
  background:var(--gold); color:#F7EDDA; border:none;
  border-radius:var(--radius-sm); padding:12px 28px;
  font-family:inherit; font-size:13px; font-weight:700;
  cursor:pointer; letter-spacing:.03em; width:100%;
  transition:background .15s;
}
.mec-zen-btn:hover{ background:var(--gold-soft); }
.mec-zen-select{
  display:flex; align-items:center; gap:8px; width:100%;
}
.mec-zen-select label{
  font-size:11.5px; color:var(--ink-faint); white-space:nowrap;
  flex:0 0 auto;
}
.mec-zen-select select{
  flex:1; background:var(--surface); border:1px solid var(--line2);
  border-radius:var(--radius); padding:8px 10px;
  color:var(--ink); font-size:13px;
}
.mec-zen-select select:focus{ outline:none; border-color:var(--gold); }

/* Technique cards */
.mec-zen-card{
  background:var(--surface); border-bottom:1px solid var(--line);
  padding:20px 24px; transition:background .25s;
}
.mec-zen-card:hover{ background:rgba(25,45,48,0.04); }
.mec-zen-card-header{
  display:flex; align-items:center; gap:14px; margin-bottom:10px;
}
.mec-zen-card-icon{ font-size:24px; flex:0 0 auto; }
.mec-zen-card-header h3{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700;
  font-size:15px; margin:0;
}
.mec-zen-card-sub{ font-size:11.5px; color:var(--ink-faint); display:block; }
.mec-zen-card p{ font-size:13px; color:var(--ink-soft); margin:0; max-width:520px; }

/* Tips */
.mec-zen-tips{ padding:0; }
.mec-zen-tip{
  display:flex; align-items:flex-start; gap:14px;
  padding:16px 24px; border-bottom:1px solid var(--line);
}
.mec-zen-tip-icon{ font-size:22px; flex:0 0 auto; margin-top:2px; }
.mec-zen-tip strong{
  font-family:'Plus Jakarta Sans',sans-serif; font-size:13.5px;
  display:block; margin-bottom:3px;
}
.mec-zen-tip p{ font-size:12.5px; color:var(--ink-soft); margin:0; }

@media(max-width:600px){
  .mec-zen-hero{ padding:28px 18px; }
  .mec-zen-circle{ width:160px; height:160px; }
  .mec-zen-circle-inner{ width:126px; height:126px; }
  .mec-zen-instruction{ font-size:17px; }
  .mec-zen-card{ padding:16px 18px; }
  .mec-zen-tip{ padding:14px 18px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   LESSON QUESTION — Timestamped Q&A
   ═══════════════════════════════════════════════════════════════════════════ */
.mec-lesson-qa{
  margin-top:16px; padding-top:14px; border-top:1px dashed var(--line2);
}
.mec-lesson-qa-title{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700;
  font-size:13px; margin-bottom:8px;
  display:flex; align-items:center; gap:8px;
}
.mec-lesson-qa-title svg{ width:15px; height:15px; color:var(--gold); }
.mec-lesson-qa-help{
  font-size:11.5px; color:var(--ink-faint); margin-bottom:12px;
}
.mec-timestamp-row{
  display:flex; gap:8px; align-items:center; margin-bottom:10px;
}
.mec-timestamp-btn{
  background:var(--surface2); border:1px solid var(--line2);
  border-radius:var(--radius-sm); padding:8px 14px;
  font-family:inherit; font-size:12px; color:var(--gold-soft);
  cursor:pointer; display:flex; align-items:center; gap:6px;
  white-space:nowrap; transition:border-color .15s;
}
.mec-timestamp-btn:hover{ border-color:var(--gold); }
.mec-timestamp-btn svg{ width:13px; height:13px; }
.mec-timestamp-display{
  font-family:'Plus Jakarta Sans',sans-serif; font-size:13px;
  font-weight:700; color:var(--gold);
  background:rgba(25,45,48,0.06); border-radius:var(--radius-sm);
  padding:6px 12px; min-width:60px; text-align:center;
}
.mec-lesson-qa-send{
  background:var(--gold); color:#F7EDDA; border:none;
  border-radius:var(--radius-sm); padding:9px 18px;
  font-family:inherit; font-size:12px; font-weight:700;
  cursor:pointer; letter-spacing:.03em;
}
.mec-lesson-qa-send:hover{ background:var(--gold-soft); }
.mec-lesson-qa-status{
  font-size:11.5px; color:var(--gold-soft); opacity:0; transition:opacity .3s;
  margin-left:8px;
}
.mec-lesson-qa-status.mec-show{ opacity:1; }

/* 20-min reminder toast */
.mec-zen-reminder{
  position:fixed; bottom:80px; right:20px; z-index:100;
  background:var(--surface2); border:1px solid var(--gold);
  border-radius:var(--radius); padding:16px 20px;
  max-width:300px; box-shadow:0 8px 32px rgba(25,45,48,0.18);
  display:none; animation:mec-slide-up .4s ease;
}
.mec-zen-reminder.mec-show{ display:block; }
@keyframes mec-slide-up{
  from{ opacity:0; transform:translateY(20px); }
  to{ opacity:1; transform:translateY(0); }
}
.mec-zen-reminder-title{
  font-family:'Plus Jakarta Sans',sans-serif; font-weight:700;
  font-size:13px; color:var(--gold-soft); margin-bottom:6px;
}
.mec-zen-reminder p{ font-size:12.5px; color:var(--ink-soft); margin:0 0 12px; }
.mec-zen-reminder-actions{ display:flex; gap:8px; }
.mec-zen-reminder-actions a{
  font-size:11.5px; font-weight:700; padding:7px 14px;
  border-radius:var(--radius-sm); text-decoration:none;
  background:var(--gold); color:#F7EDDA;
}
.mec-zen-reminder-actions button{
  font-size:11.5px; font-weight:600; padding:7px 14px;
  border-radius:var(--radius-sm); background:transparent;
  border:1px solid var(--line2); color:var(--ink-faint);
  cursor:pointer; font-family:inherit;
}
.mec-zen-reminder-actions button:hover{ border-color:var(--ink-faint); }

/* Coin badge in nav */
.mec-coin-badge{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 6px;
  background:var(--accent-glow); color:#152628; font-size:10.5px; font-weight:700;
  border-radius:10px; line-height:1; font-family:'Plus Jakarta Sans',sans-serif;
  box-shadow:0 2px 6px rgba(184,134,11,0.3);
  transition:transform .2s;
}
.mec-coin-badge:hover{ transform:scale(1.1); }
.mec-sidebar-item .mec-coin-badge{ margin-left:auto; }
.mec-bottom-item .mec-coin-badge{
  position:absolute; top:-4px; right:-4px; min-width:16px; height:16px;
  font-size:9px; padding:0 4px;
}
.mec-bottom-item{ position:relative; }

/* Footer mentor card */
.mec-footer-mentor{
  display:flex; align-items:center; gap:14px; flex-wrap:wrap;
  padding:16px 0; margin-bottom:12px;
  border-bottom:1px solid var(--line);
}
.mec-footer-mentor-photo{
  width:48px; height:48px; border-radius:50%; object-fit:cover;
  border:2px solid var(--accent); flex-shrink:0;
}
.mec-footer-mentor-info{
  flex:1; min-width:140px;
}
.mec-footer-mentor-info strong{
  display:block; font-size:13px; color:var(--ink); font-weight:700;
}
.mec-footer-mentor-info span{
  display:block; font-size:11.5px; color:var(--ink-faint); margin-top:1px;
}
.mec-footer-wa{
  display:inline-flex; align-items:center; gap:6px;
  padding:9px 18px; border-radius:var(--radius-sm); font-size:12px;
  font-weight:700; text-decoration:none; letter-spacing:.03em;
  background:#25D366; color:#fff;
  transition:background .2s, transform .15s;
  flex-shrink:0;
}
.mec-footer-wa:hover{
  background:#20BD5A; transform:translateY(-1px);
}

/* Tag */
.mec-tag{
  display:inline-block; font-size:10px; letter-spacing:.14em;
  text-transform:uppercase; font-weight:700; color:var(--gold);
  background:rgba(25,45,48,0.08); border-radius:999px;
  padding:3px 12px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   LANDING PAGE — estilo limpo inspirado em marcelotoledo.com
   Paleta: dark #0D0D0D, gold #D4AF37, warm #F5F0EB, indigo #4B0082
   ═══════════════════════════════════════════════════════════════════════════ */
.lp{
  font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
  color:#1A1A1A; background:#fff;
  -webkit-font-smoothing:antialiased;
}
.lp *{ box-sizing:border-box; margin:0; padding:0; }

/* ——— NAV ——— */
.lp-nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:flex; align-items:center; justify-content:space-between;
  padding:18px 40px;
  background:rgba(13,13,13,.92); backdrop-filter:blur(12px);
}
.lp-nav-links{
  position:absolute; left:50%; transform:translateX(-50%);
  display:flex; gap:32px;
}
.lp-nav-logo img{
  height:90px; width:auto; object-fit:contain;
}
.lp-nav-links a{
  font-size:14px; font-weight:500; color:rgba(255,255,255,.7);
  text-decoration:none; letter-spacing:.03em;
  transition:color .2s;
}
.lp-nav-links a:hover{ color:#fff; }
.lp-nav-brand{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:20px; font-weight:700; color:#D4AF37;
  letter-spacing:.03em;
}
.lp-nav-login{
  background:transparent; border:1.5px solid rgba(255,255,255,.3);
  color:#fff; padding:9px 24px; border-radius:6px;
  font-family:inherit; font-size:13px; font-weight:600;
  letter-spacing:.04em; cursor:pointer; transition:all .3s;
}
.lp-nav-login:hover{
  background:rgba(255,255,255,.1); border-color:rgba(255,255,255,.6);
}
.lp-menu-toggle{
  display:none; position:fixed; top:18px; right:16px; z-index:101;
  background:none; border:none; color:#fff; cursor:pointer;
}

/* ——— MODAL ——— */
.lp-modal-overlay{
  position:fixed; inset:0; z-index:200;
  background:rgba(0,0,0,.7); backdrop-filter:blur(4px);
  display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .3s;
}
.lp-modal-overlay.active{ opacity:1; pointer-events:auto; }
.lp-modal{
  background:#fff; border-radius:16px; padding:40px;
  max-width:480px; width:90%; position:relative;
  box-shadow:0 24px 64px rgba(0,0,0,.3);
  transform:translateY(20px); transition:transform .3s;
}
.lp-modal-overlay.active .lp-modal{ transform:translateY(0); }
.lp-modal-close{
  position:absolute; top:16px; right:20px;
  background:none; border:none; font-size:28px; color:#999;
  cursor:pointer; line-height:1; transition:color .2s;
}
.lp-modal-close:hover{ color:#333; }
.lp-modal h3{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:24px; font-weight:700; color:#1A1A1A; margin-bottom:8px;
}
.lp-modal-options{
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
}
.lp-modal-card{
  display:flex; flex-direction:column; align-items:center;
  text-align:center; padding:28px 20px; border-radius:12px;
  text-decoration:none; transition:all .3s; border:2px solid transparent;
}
.lp-modal-card:hover{ transform:translateY(-3px); }
.lp-modal-fem{
  background:rgba(75,0,130,0.05); border-color:rgba(75,0,130,0.18);
}
.lp-modal-fem:hover{
  border-color:#4B0082; box-shadow:0 8px 24px rgba(75,0,130,0.15);
}
.lp-modal-masc{
  background:rgba(212,175,55,0.06); border-color:rgba(212,175,55,0.2);
}
.lp-modal-masc:hover{
  border-color:#D4AF37; box-shadow:0 8px 24px rgba(212,175,55,0.15);
}
.lp-modal-logo{
  height:80px; width:auto; object-fit:contain; margin-bottom:14px;
}
.lp-modal-card strong{
  font-size:15px; color:#1A1A1A; margin-bottom:4px; font-weight:700;
}
.lp-modal-card span{
  font-size:12px; color:#888; font-weight:500;
}

/* ——— HERO ——— */
.lp-hero{
  display:flex; align-items:center; justify-content:center;
  min-height:70vh; padding:80px 40px 60px;
  background:#0D0D0D; overflow:hidden; text-align:center;
}
.lp-hero-content{
  max-width:720px;
}
.lp-hero-title{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:clamp(32px,4vw,52px); font-weight:700;
  color:#fff; line-height:1.15; margin-bottom:24px;
}
.lp-hero-sub{
  font-size:17px; color:rgba(255,255,255,.6);
  line-height:1.7; margin-bottom:40px;
}
.lp-hero-actions{
  display:flex; gap:16px; flex-wrap:wrap; justify-content:center;
}

/* Buttons */
.lp-btn-primary{
  display:inline-flex; align-items:center; gap:8px;
  padding:16px 32px; border-radius:8px; font-size:16px;
  font-weight:600; text-decoration:none; color:#fff;
  background:#D4AF37; transition:all .3s;
  cursor:pointer; border:none;
}
.lp-btn-primary:hover{
  background:#B8962E;
  box-shadow:0 8px 24px rgba(212,175,55,0.3);
}
.lp-btn-primary svg{ flex-shrink:0; }
.lp-btn-lg{ padding:20px 40px; font-size:18px; border-radius:10px; }
.lp-btn-outline{
  display:inline-flex; align-items:center; gap:8px;
  padding:16px 32px; border-radius:8px; font-size:16px;
  font-weight:600; text-decoration:none; color:#192D30;
  background:transparent; border:1.5px solid rgba(25,45,48,.35);
  transition:all .3s; cursor:pointer;
}
.lp-btn-outline:hover{
  border-color:#D4AF37;
  background:rgba(212,175,55,.08);
  color:#D4AF37;
}
.lp-btn-outline svg{ flex-shrink:0; }
.lp-hero .lp-btn-outline{
  color:#fff; border-color:rgba(255,255,255,.35);
}
.lp-hero .lp-btn-outline:hover{
  color:#D4AF37; border-color:#D4AF37;
  background:rgba(212,175,55,.1);
}
.lp-btn-glass-dark{
  display:inline-flex; align-items:center; gap:8px;
  padding:12px 28px; border-radius:8px; font-size:14px;
  font-weight:600; text-decoration:none; color:#D4AF37;
  background:transparent; border:1.5px solid #D4AF37;
  transition:all .3s; cursor:pointer;
}
.lp-btn-glass-dark:hover{
  background:rgba(212,175,55,.12); border-color:#E8C675; color:#E8C675;
}

/* ——— SOBRE ——— */
.lp-sobre{
  padding:64px 40px; background:#F5F0EB;
}
.lp-sobre-inner{
  max-width:900px; margin:0 auto; text-align:center;
}
.lp-sobre-label{
  font-size:13px; font-weight:600; letter-spacing:.25em;
  text-transform:uppercase; color:#D4AF37; margin-bottom:12px;
}
.lp-sobre-title{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:clamp(28px,4vw,42px); font-weight:700;
  color:#1A1A1A; margin-bottom:24px;
}
.lp-sobre-text{
  font-size:17px; color:#4B5563; line-height:1.8;
  max-width:700px; margin:0 auto 32px;
}
.lp-sobre-cards{
  display:flex; gap:32px; justify-content:center; margin-bottom:32px;
}
.lp-mentor-card{
  text-align:center; flex:0 0 220px;
}
.lp-mentor-photo{
  width:160px; height:160px; border-radius:50%; overflow:hidden;
  margin:0 auto 16px; border:4px solid #D4AF37;
}
.lp-mentor-photo img{
  width:100%; height:100%; object-fit:cover;
}
.lp-mentor-card h3{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:18px; font-weight:700; color:#1A1A1A; margin-bottom:4px;
}
.lp-mentor-card p{
  font-size:13px; color:#6B7280; line-height:1.5;
}
.lp-mentor-insta{
  display:inline-flex; align-items:center; gap:5px; margin-top:8px;
  font-size:13px; color:#4B0082; text-decoration:none; font-weight:500;
  transition:color .15s;
}
.lp-mentor-insta:hover{ color:#D4AF37; }
.lp-social{
  display:flex; gap:20px; justify-content:center; margin-top:16px;
}
.lp-social a{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:500; color:#4B0082;
  text-decoration:none; transition:opacity .2s;
}
.lp-social a:hover{ opacity:.7; }
.lp-social a svg{ flex-shrink:0; }

/* ——— PROGRAMAS ——— */
.lp-programas{
  padding:64px 40px; background:#fff;
}
.lp-programas-inner{
  max-width:900px; margin:0 auto; text-align:center;
}
.lp-programas-heading{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:clamp(28px,4vw,42px); font-weight:700;
  color:#1A1A1A; margin-bottom:36px;
}
.lp-cards{
  display:grid; grid-template-columns:1fr 1fr; gap:28px;
  text-align:left;
}
.lp-card{
  position:relative; overflow:hidden; border-radius:14px;
  background:#fff; border:1px solid #E5E7EB;
  transition:all .4s; cursor:default;
}
.lp-card:hover{
  box-shadow:0 12px 40px rgba(0,0,0,0.1);
  border-color:transparent;
}
.lp-card-fem{ border-top:4px solid #D4AF37; }
.lp-card-masc{ border-top:4px solid #4B0082; }
.lp-card-body{ padding:36px; }
.lp-card-icon{
  width:52px; height:52px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:20px;
}
.lp-card-icon-gold{ background:rgba(212,175,55,0.1); color:#D4AF37; }
.lp-card-icon-indigo{ background:rgba(75,0,130,0.08); color:#4B0082; }
.lp-card h3{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:22px; font-weight:700; color:#1A1A1A; margin-bottom:12px;
}
.lp-card p{
  font-size:15px; color:#4B5563; line-height:1.7; margin-bottom:20px;
}
.lp-card-link{
  font-size:14px; font-weight:600; color:#D4AF37;
  text-decoration:none; transition:opacity .2s;
}
.lp-card-link:hover{ opacity:.7; }

/* ——— BENEFÍCIOS ——— */
.lp-beneficios{
  padding:64px 40px; background:#0D0D0D;
}
.lp-beneficios-inner{
  max-width:900px; margin:0 auto; text-align:center;
}
.lp-beneficios-inner h2{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:clamp(28px,4vw,42px); font-weight:700;
  color:#fff; margin-bottom:36px;
}
.lp-beneficios-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
}
.lp-beneficio{
  padding:32px; border-radius:14px; text-align:left;
  background:rgba(255,255,255,0.04);
  border:1px solid rgba(255,255,255,.08);
}
.lp-beneficio-icon{ color:#D4AF37; margin-bottom:16px; }
.lp-beneficio h3{
  font-size:18px; font-weight:600; color:#fff; margin-bottom:10px;
}
.lp-beneficio p{
  font-size:15px; color:rgba(255,255,255,.5); line-height:1.7;
}

/* ——— INSTAGRAM ——— */
.lp-instagram{
  padding:64px 40px; background:#F5F0EB;
}
.lp-instagram-inner{
  max-width:1100px; margin:0 auto; text-align:center;
}
.lp-instagram-title{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:clamp(28px,4vw,42px); font-weight:700;
  color:#1A1A1A; margin-bottom:8px;
}
.lp-instagram-sub{
  font-size:16px; color:#6B7280; margin-bottom:32px;
}
.lp-instagram-grid{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:24px; justify-items:center;
}
.lp-ig-card{
  width:100%; max-width:400px;
}

/* ——— CTA FINAL ——— */
.lp-cta-final{
  padding:64px 40px; background:#0D0D0D; text-align:center;
}
.lp-cta-final-inner{
  max-width:640px; margin:0 auto;
}
.lp-cta-final-inner h2{
  font-family:'Playfair Display','Fraunces',Georgia,serif;
  font-size:clamp(28px,4vw,42px); font-weight:700;
  color:#D4AF37; margin-bottom:24px;
}
.lp-cta-final-inner p{
  font-size:17px; color:rgba(255,255,255,.5); margin-bottom:40px; line-height:1.7;
}

/* ——— FOOTER ——— */
.lp-footer{
  padding:48px 40px; background:#0D0D0D;
  border-top:1px solid rgba(255,255,255,.06); text-align:center;
}
.lp-footer-inner{
  max-width:900px; margin:0 auto;
}
.lp-footer-social{
  display:flex; gap:20px; justify-content:center;
  margin-bottom:20px; flex-wrap:wrap;
}
.lp-footer-social a{
  display:inline-flex; align-items:center; gap:8px;
  font-size:14px; font-weight:500; color:rgba(255,255,255,.5);
  text-decoration:none; transition:color .2s;
}
.lp-footer-social a:hover{ color:#D4AF37; }
.lp-footer-social a svg{ flex-shrink:0; }
.lp-footer-copy{
  font-size:13px; color:rgba(255,255,255,.3);
}

/* ——— LANDING RESPONSIVE ——— */
@media(max-width:768px){
  .lp-nav{ padding:14px 18px; }
  .lp-nav-links{ display:none; }
  .lp-menu-toggle{ display:block; }
  .lp-nav.lp-nav-open .lp-nav-links{
    display:flex; flex-direction:column;
    position:fixed; top:60px; left:0; right:0;
    background:rgba(13,13,13,.96); padding:24px;
    gap:20px;
  }
  .lp-hero{
    flex-direction:column; padding:80px 24px 48px;
    gap:40px; text-align:center;
  }
  .lp-hero-img{ flex:none; max-width:320px; width:100%; margin:0 auto; }
  .lp-hero-actions{ justify-content:center; }
  .lp-btn-primary,.lp-btn-outline{ width:100%; max-width:300px; justify-content:center; }
  .lp-sobre{ padding:48px 24px; }
  .lp-sobre-cards{ flex-direction:column; align-items:center; }
  .lp-programas{ padding:48px 24px; }
  .lp-cards{ grid-template-columns:1fr; }
  .lp-beneficios{ padding:48px 24px; }
  .lp-beneficios-grid{ grid-template-columns:1fr; }
  .lp-instagram{ padding:48px 24px; }
  .lp-cta-final{ padding:48px 24px; }
  .lp-btn-lg{ width:100%; max-width:300px; justify-content:center; }
  .lp-footer{ padding:40px 24px; }
  .lp-footer-social{ flex-direction:column; align-items:center; }
  .lp-modal{ padding:28px 20px; }
  .lp-modal-options{ grid-template-columns:1fr; }
}

/* =========================================================================
   Audio toolbar — busca + ordenação
   ========================================================================= */
.mec-audio-toolbar{
  padding:16px 24px; display:flex; flex-wrap:wrap; gap:12px;
  align-items:center; justify-content:space-between;
}
.mec-audio-search{ display:flex; gap:8px; align-items:center; flex:1; min-width:200px; }
.mec-search-input-wrap{
  position:relative; flex:1; max-width:320px;
}
.mec-search-icon{
  position:absolute; left:10px; top:50%; transform:translateY(-50%);
  color:var(--ink-faint); pointer-events:none;
}
.mec-search-input-wrap input{
  width:100%; padding:9px 12px 9px 34px; border:1px solid var(--line);
  border-radius:var(--radius-sm); font-family:inherit; font-size:13.5px;
  background:var(--bg); color:var(--ink); outline:none;
  transition:border-color .2s;
}
.mec-search-input-wrap input:focus{ border-color:var(--accent, var(--gold)); }
.mec-audio-clear{
  font-size:12px; color:var(--ink-faint); text-decoration:underline;
}
.mec-audio-sort{
  display:flex; gap:6px; align-items:center;
}
.mec-audio-sort-label{
  font-size:12px; color:var(--ink-faint); text-transform:uppercase;
  letter-spacing:.06em; font-weight:600;
}
.mec-audio-sort-btn{
  display:inline-flex; align-items:center; gap:4px;
  padding:6px 12px; border-radius:var(--radius-sm);
  font-size:12px; font-weight:600; text-decoration:none;
  color:var(--ink-soft); background:var(--surface);
  border:1px solid var(--line); transition:all .2s;
}
.mec-audio-sort-btn.active{
  background:var(--accent, var(--gold)); color:#fff;
  border-color:var(--accent, var(--gold));
}
.mec-audio-sort-btn:hover:not(.active){
  background:var(--surface2); border-color:var(--line2);
}
@media(max-width:600px){
  .mec-audio-toolbar{ flex-direction:column; align-items:stretch; }
  .mec-audio-search{ max-width:none; }
  .mec-search-input-wrap{ max-width:none; }
  .mec-audio-sort{ justify-content:flex-start; }
}

/* =========================================================================
   Diary form + add button
   ========================================================================= */
.mec-hidden{ display:none !important; }
.mec-diary-add-btn{
  display:inline-flex; align-items:center; gap:6px;
  padding:10px 20px; font-size:13.5px;
}
.mec-diary-form-wrap .mec-form-card{
  background:var(--surface); border:1px solid var(--line);
  border-radius:var(--radius); padding:20px 24px;
}
.mec-form-row{ margin-bottom:14px; }
.mec-form-row label{
  display:block; font-size:12px; font-weight:600;
  text-transform:uppercase; letter-spacing:.04em;
  color:var(--ink-soft); margin-bottom:5px;
}
.mec-form-row input,
.mec-form-row select,
.mec-form-row textarea{
  width:100%; padding:9px 12px; border:1px solid var(--line);
  border-radius:var(--radius-sm); font-family:inherit; font-size:14px;
  background:var(--bg); color:var(--ink); outline:none;
  transition:border-color .2s;
}
.mec-form-row input:focus,
.mec-form-row select:focus,
.mec-form-row textarea:focus{
  border-color:var(--accent, var(--gold));
}
.mec-form-row textarea{ resize:vertical; min-height:80px; }

/* =========================================================================
   Trilha sections (audio grouping)
   ========================================================================= */
.mec-trilha-section{
  margin:20px 0 28px; padding:0 24px;
}
.mec-trilha-header{
  display:flex; gap:14px; align-items:flex-start;
  padding:16px 0 12px; border-bottom:1px solid var(--line);
  margin-bottom:12px;
}
.mec-trilha-icon{
  width:40px; height:40px; border-radius:var(--radius);
  background:var(--accent, var(--gold)); color:#fff;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
}
.mec-trilha-title{
  font-family:'Fraunces',serif; font-size:18px; font-weight:600;
  margin:0; line-height:1.3; color:var(--ink);
}
.mec-trilha-desc{
  font-size:13px; color:var(--ink-soft); margin:3px 0 0; line-height:1.5;
}
.mec-trilha-count{
  font-size:11px; text-transform:uppercase; letter-spacing:.06em;
  font-weight:600; color:var(--ink-faint); margin-top:2px; display:inline-block;
}

/* ── Mural de Conquistas ── */
.mec-mural-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr));
  gap:20px; padding:0 24px 28px; max-width:960px;
}
.mec-mural-card{
  background:var(--surface); border:1px solid var(--line); border-radius:12px;
  padding:24px; position:relative; overflow:hidden;
}
.mec-mural-card::before{
  content:'\201C'; position:absolute; top:8px; left:14px;
  font-size:56px; font-family:'Fraunces',serif; color:var(--gold,#CE911C);
  opacity:.15; line-height:1; pointer-events:none;
}
.mec-mural-text{
  font-size:14px; line-height:1.7; color:var(--ink); margin:0 0 16px;
  position:relative; z-index:1;
}
.mec-mural-footer{
  display:flex; align-items:center; gap:10px;
}
.mec-mural-avatar{
  width:36px; height:36px; border-radius:50%; object-fit:cover;
  border:2px solid var(--gold,#CE911C); flex-shrink:0;
}
.mec-mural-avatar-placeholder{
  width:36px; height:36px; border-radius:50%; flex-shrink:0;
  background:var(--gold,#CE911C); display:flex; align-items:center;
  justify-content:center; font-size:15px; font-weight:700; color:#fff;
}
.mec-mural-author{
  font-size:13px; font-weight:600; color:var(--ink);
}
.mec-mural-date{
  font-size:11px; color:var(--ink-soft);
}
.mec-mural-badge{
  font-size:10px; padding:2px 8px; border-radius:10px;
  background:var(--gold,#CE911C); color:#fff; font-weight:600;
  margin-left:auto; letter-spacing:.04em;
}
.mec-mural-empty{
  text-align:center; padding:48px 24px; color:var(--ink-soft); font-size:15px;
}
.mec-mural-form textarea{
  width:100%; min-height:80px; resize:vertical; border:1px solid var(--line);
  border-radius:8px; padding:12px; font-family:inherit; font-size:14px;
  background:var(--bg); color:var(--ink); margin-bottom:12px;
}

/* ── Meu Progresso ── */
.mec-progress-overview{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:16px; padding:0 24px 24px; max-width:700px;
}
.mec-progress-stat{
  background:var(--surface); border:1px solid var(--line); border-radius:12px;
  padding:20px; text-align:center;
}
.mec-progress-stat-value{
  font-family:'Fraunces',serif; font-size:32px; font-weight:700;
  color:var(--gold,#CE911C); line-height:1;
}
.mec-progress-stat-label{
  font-size:12px; color:var(--ink-soft); margin-top:6px;
  text-transform:uppercase; letter-spacing:.06em; font-weight:600;
}
.mec-progress-bar-wrap{
  background:var(--line); border-radius:8px; height:10px; overflow:hidden;
  margin:8px 0;
}
.mec-progress-bar-fill{
  height:100%; background:var(--gold,#CE911C); border-radius:8px;
  transition:width .5s ease;
}
.mec-lei-grid{
  display:grid; grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:14px; padding:0 24px 24px; max-width:960px;
}
.mec-lei-card{
  background:var(--surface); border:1px solid var(--line); border-radius:10px;
  padding:16px; display:flex; align-items:center; gap:12px;
}
.mec-lei-card.completed{
  border-color:var(--gold,#CE911C);
}
.mec-lei-check{
  width:32px; height:32px; border-radius:50%; flex-shrink:0;
  display:flex; align-items:center; justify-content:center;
  font-size:16px; border:2px solid var(--line);
}
.mec-lei-card.completed .mec-lei-check{
  background:var(--gold,#CE911C); border-color:var(--gold,#CE911C); color:#fff;
}
.mec-lei-info{
  flex:1; min-width:0;
}
.mec-lei-title{
  font-size:14px; font-weight:600; color:var(--ink); margin:0;
}
.mec-lei-date{
  font-size:11px; color:var(--ink-soft); margin-top:2px;
}
.mec-trilha-progress-list{
  padding:0 24px 24px; max-width:700px;
}
.mec-trilha-progress-item{
  display:flex; align-items:center; gap:12px; padding:12px 0;
  border-bottom:1px solid var(--line);
}
.mec-trilha-progress-item:last-child{ border-bottom:none; }
.mec-trilha-progress-name{
  flex:1; font-size:14px; font-weight:500; color:var(--ink);
}
.mec-trilha-progress-count{
  font-size:13px; color:var(--ink-soft); font-weight:600; white-space:nowrap;
}

/* ── Video embed in audio blocks ── */
.mec-video-embed{
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
  border-radius:10px; margin:12px 0;
}
.mec-video-embed iframe{
  position:absolute; top:0; left:0; width:100%; height:100%; border:0;
  border-radius:10px;
}
.mec-video-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(300px, 1fr)); gap:16px; }
.mec-video-container{
  position:relative; padding-bottom:56.25%; height:0; overflow:hidden;
}
.mec-video-container iframe{
  position:absolute; top:0; left:0; width:100%; height:100%; border:0;
}
