/* =========================================================
   ELEVE PROFISSIONAL — Design System
   Estilo fiel ao mockup: creme quente, dourado suave,
   cards brancos arredondados, tipografia amigável.
   ========================================================= */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&family=Nunito+Sans:wght@400;500;600;700;800&display=swap');

:root{
  --bg:#F3E9D8;            /* fundo atrás do "celular" */
  --screen:#FCF8F0;        /* fundo da tela */
  --screen-2:#FBF4E8;
  --card:#FFFFFF;
  --champagne:#F6EBD4;
  --champagne-2:#F1E2C4;
  --gold:#C99A3F;
  --gold-2:#E2BD72;
  --gold-soft:#EBD7A6;
  --cafe:#6E5536;
  --cafe-deep:#4A3826;
  --ink:#473C30;
  --muted:#9C9384;
  --muted-2:#B7AE9E;
  --line:#EFE5D3;
  --line-2:#E7DAC2;
  --bronze:#C08A4A;
  --silver:#B9BCC2;
  --ok:#7FB069;
  --grad-gold:linear-gradient(135deg,#CDA24A 0%,#E3C079 100%);
  --grad-cafe:linear-gradient(155deg,#6E5536 0%,#4A3826 100%);
  --shadow:0 14px 34px rgba(110,85,54,.12);
  --shadow-sm:0 6px 16px rgba(110,85,54,.09);
  --shadow-gold:0 10px 24px rgba(201,154,63,.38);
  --r-lg:26px; --r-md:18px; --r-sm:14px;
}
*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;}
body{
  font-family:'Nunito Sans',sans-serif;
  background:
    radial-gradient(140% 90% at 50% -10%, #FBF1DD 0%, var(--bg) 60%);
  color:var(--ink);
  display:flex;align-items:center;justify-content:center;
  padding:22px 0;min-height:100vh;
}
h1,h2,h3,h4,.font-p{font-family:'Poppins',sans-serif;}

/* ---------- moldura de celular ---------- */
.phone{
  position:relative;width:392px;max-width:100vw;height:846px;max-height:100vh;
  background:var(--screen);border-radius:46px;overflow:hidden;
  border:11px solid #241a12;box-shadow:0 36px 90px rgba(45,32,20,.34);
}
.statusbar{
  position:absolute;top:0;left:0;right:0;height:34px;z-index:30;
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 26px 0;font-size:13px;font-weight:700;color:var(--cafe-deep);
  font-family:'Poppins';pointer-events:none;
}
.statusbar .sb-ic{display:flex;gap:5px;align-items:center;}
.statusbar svg{width:16px;height:16px;}

/* ---------- telas ---------- */
.screen{
  position:absolute;inset:0;padding-top:34px;
  display:none;flex-direction:column;overflow-y:auto;overflow-x:hidden;
  scrollbar-width:none;background:var(--screen);
}
.screen::-webkit-scrollbar{display:none;}
.screen.active{display:flex;animation:slidein .4s cubic-bezier(.22,.61,.36,1);}
@keyframes slidein{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:none;}}
.has-tabs{padding-bottom:0;}

/* ---------- topbar ---------- */
.topbar{display:flex;align-items:center;gap:14px;padding:14px 22px 6px;}
.topbar.center{justify-content:center;position:relative;}
.icon-btn{
  width:42px;height:42px;border-radius:13px;background:var(--card);
  border:1px solid var(--line);box-shadow:var(--shadow-sm);
  display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;
  transition:transform .15s;
}
.icon-btn:active{transform:scale(.92);}
.icon-btn svg{width:20px;height:20px;stroke:var(--cafe);}
.topbar.center .icon-btn{position:absolute;left:22px;}
.topbar h2{font-size:18px;font-weight:600;color:var(--cafe-deep);}

/* ---------- botões ---------- */
.btn{
  font-family:'Poppins';font-weight:600;font-size:16px;border:none;cursor:pointer;
  border-radius:16px;padding:16px;width:100%;transition:transform .14s,box-shadow .2s;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.btn:active{transform:scale(.975);}
.btn-gold{background:var(--grad-gold);color:#fff;box-shadow:var(--shadow-gold);
  text-shadow:0 1px 1px rgba(120,85,30,.25);}
.btn-outline{background:transparent;color:var(--cafe);border:1.6px solid var(--gold-soft);}
.btn-ghost{background:transparent;color:var(--muted);font-weight:600;}
.btn svg{width:19px;height:19px;}

/* ---------- inputs ---------- */
.field{margin-bottom:15px;}
.field label{display:block;font-size:13.5px;font-weight:700;color:var(--cafe);margin-bottom:7px;}
.field .ctrl{
  width:100%;font-family:'Nunito Sans';font-size:15.5px;color:var(--ink);
  padding:15px 16px;border-radius:14px;border:1.5px solid var(--line-2);
  background:var(--card);outline:none;transition:border .2s,box-shadow .2s;
}
.field .ctrl::placeholder{color:var(--muted-2);}
.field .ctrl:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,154,63,.13);}
.field.has-icon{position:relative;}
.field.has-icon .ctrl{padding-right:48px;}
.field .field-ic{position:absolute;right:14px;top:38px;cursor:pointer;}
.field .field-ic svg{width:21px;height:21px;stroke:var(--muted);}
select.ctrl{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' stroke='%239C9384' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:42px;}

/* ---------- cards ---------- */
.card{background:var(--card);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);
  border:1px solid var(--line);padding:18px;}
.pad{padding:0 22px;}
.muted{color:var(--muted);}
.divider{display:flex;align-items:center;gap:12px;color:var(--muted-2);font-size:13px;margin:14px 0;}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line-2);}
.legal{font-size:11.5px;color:var(--muted-2);text-align:center;line-height:1.6;}
.legal a{color:var(--cafe);font-weight:700;text-decoration:underline;}

/* ---------- tab bar ---------- */
.tabbar{
  position:sticky;bottom:14px;margin:auto 14px 14px;z-index:25;
  background:var(--card);border:1px solid var(--line);border-radius:22px;
  box-shadow:var(--shadow);padding:9px 6px;display:flex;justify-content:space-around;
}
.tab{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;
  font-size:10.5px;font-weight:700;color:var(--muted-2);padding:4px 6px;flex:1;}
.tab svg{width:23px;height:23px;stroke:var(--muted-2);}
.tab.on{color:var(--gold);}
.tab.on svg{stroke:var(--gold);}

/* ---------- splash ---------- */
#splash{align-items:center;justify-content:flex-start;text-align:center;cursor:pointer;
  overflow:hidden;
  background:radial-gradient(120% 78% at 50% 16%, #FDF5E3 0%, #F8EEDA 52%, #F3E7D2 100%);}
.splash-logo{margin-top:64px;z-index:2;animation:rise 1s cubic-bezier(.22,.61,.36,1);}
.splash-logo img{width:252px;max-width:72%;
  filter:drop-shadow(0 12px 28px rgba(110,85,54,.10));}
.splash-ribbons{position:absolute;left:0;right:0;bottom:64px;width:100%;height:64%;z-index:1;
  pointer-events:none;animation:fadein 1.4s ease;}
.splash-ribbons path{fill:none;stroke:url(#rib);stroke-linecap:round;}
.splash-foot{position:absolute;bottom:48px;left:0;right:0;z-index:2;
  display:flex;flex-direction:column;align-items:center;gap:13px;animation:rise 1.1s cubic-bezier(.22,.61,.36,1);}
.splash-heart{width:26px;height:26px;stroke:var(--gold);fill:none;opacity:.9;}
.splash-foot p{font-size:14px;color:var(--muted);font-style:italic;line-height:1.55;}
@keyframes rise{from{opacity:0;transform:translateY(16px) scale(.97);}to{opacity:1;transform:none;}}
@keyframes fadein{from{opacity:0;}to{opacity:1;}}

/* ---------- login / auth headings ---------- */
.auth-logo{width:150px;display:block;margin:8px auto 22px;}
.lead{font-family:'Poppins';font-size:22px;font-weight:600;color:var(--cafe-deep);line-height:1.3;}
.lead-sub{font-size:14.5px;color:var(--muted);margin-top:6px;line-height:1.5;}
.link{color:var(--gold);font-size:13.5px;font-weight:700;text-align:right;display:block;
  margin:-4px 0 16px;cursor:pointer;}

/* ---------- dashboard ---------- */
.home-greet{display:flex;align-items:flex-start;justify-content:space-between;padding:6px 22px 4px;}
.home-greet .hi{font-family:'Poppins';font-size:23px;font-weight:600;color:var(--cafe-deep);}
.home-greet .hi small{display:block;font-family:'Nunito Sans';font-size:14px;font-weight:600;
  color:var(--muted);margin-top:3px;}
.home-greet .actions{display:flex;gap:10px;align-items:center;}
.avatar{border-radius:50%;object-fit:cover;background:var(--grad-gold);
  display:flex;align-items:center;justify-content:center;color:#fff;font-family:'Poppins';font-weight:700;}
.av-40{width:44px;height:44px;font-size:17px;border:2px solid var(--gold-soft);}

.gauge{position:relative;width:74px;height:74px;flex-shrink:0;}
.gauge svg{transform:rotate(-90deg);}
.gauge .g-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;
  font-family:'Poppins';font-weight:700;font-size:16px;color:var(--gold);}

.mission-ill,.seal-ill{width:62px;height:62px;border-radius:16px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;}
.mission-ill{background:var(--champagne);}
.seal-badge{width:58px;height:58px;flex-shrink:0;}

.row{display:flex;align-items:center;gap:14px;}
.between{justify-content:space-between;}
.tag-xp{background:var(--champagne);color:var(--gold);font-size:12px;font-weight:800;
  padding:5px 11px;border-radius:10px;font-family:'Poppins';display:inline-block;}
.h-title{font-family:'Poppins';font-weight:600;font-size:16px;color:var(--cafe-deep);}
.h-sub{font-size:13.5px;color:var(--muted);line-height:1.45;margin-top:2px;}

/* ---------- perfil ---------- */
.profile-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:6px 22px 0;}
.av-photo{position:relative;width:104px;height:104px;margin-bottom:14px;}
.av-photo img,.av-photo .ph{width:104px;height:104px;border-radius:50%;object-fit:cover;
  border:3px solid var(--card);box-shadow:0 8px 20px rgba(110,85,54,.2);}
.av-photo .cam{position:absolute;right:2px;bottom:2px;width:32px;height:32px;border-radius:50%;
  background:var(--grad-gold);display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
.av-photo .cam svg{width:16px;height:16px;stroke:#fff;}
.profile-name{font-family:'Poppins';font-size:21px;font-weight:600;color:var(--cafe-deep);}
.profile-role{font-size:14px;color:var(--muted);margin-top:2px;}
.profile-loc{font-size:13px;color:var(--muted);margin-top:6px;display:flex;align-items:center;gap:4px;justify-content:center;}
.profile-loc svg{width:14px;height:14px;stroke:var(--gold);}
.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px;}
.stat{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:13px 14px;
  display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-sm);}
.stat .si{width:34px;height:34px;border-radius:10px;background:var(--champagne);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.stat .si svg{width:18px;height:18px;stroke:var(--gold);}
.stat .sl{font-size:11px;color:var(--muted);font-weight:600;}
.stat .sv{font-size:14px;color:var(--cafe-deep);font-weight:700;font-family:'Poppins';}
.quote{background:var(--champagne);border-radius:16px;padding:15px 17px;margin-top:16px;
  font-size:14px;color:var(--cafe);font-style:italic;line-height:1.5;text-align:center;}

/* ---------- progress / completar ---------- */
.bar{height:11px;border-radius:7px;background:var(--line-2);overflow:hidden;}
.bar > i{display:block;height:100%;border-radius:7px;background:var(--grad-gold);}
.bar.thin{height:8px;}
.check-list{display:flex;flex-direction:column;gap:2px;margin-top:6px;}
.check-item{display:flex;align-items:center;gap:13px;padding:13px 4px;border-bottom:1px solid var(--line);}
.check-item:last-child{border-bottom:none;}
.check-item .ci{width:34px;height:34px;border-radius:10px;background:var(--champagne);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.check-item .ci svg{width:18px;height:18px;stroke:var(--gold);}
.check-item .ct{flex:1;font-size:14.5px;font-weight:600;color:var(--ink);}
.tick{width:24px;height:24px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.tick.done{background:var(--ok);}
.tick.done svg{width:14px;height:14px;stroke:#fff;}
.tick.todo{border:2px solid var(--line-2);}
.bonus{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#F7EFDD,#F0E3C8);
  border-radius:18px;padding:15px;margin-top:16px;}
.bonus .bi{width:50px;height:50px;flex-shrink:0;}
.bonus b{font-family:'Poppins';font-size:14px;color:var(--cafe-deep);}
.bonus p{font-size:12.5px;color:var(--muted);margin-top:2px;}

/* ---------- certificados ---------- */
.empty-ill{display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:14px 0 6px;}
.empty-ill .folder{width:96px;height:96px;margin-bottom:14px;}
.upload-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin:6px 0 16px;}
.upload-box{background:var(--card);border:1.6px dashed var(--gold-soft);border-radius:18px;
  padding:20px 10px;display:flex;flex-direction:column;align-items:center;gap:9px;cursor:pointer;
  transition:background .2s,border-color .2s;}
.upload-box:active{background:var(--screen-2);}
.upload-box .ub{width:46px;height:46px;border-radius:13px;background:var(--champagne);
  display:flex;align-items:center;justify-content:center;}
.upload-box .ub svg{width:23px;height:23px;stroke:var(--gold);}
.upload-box span{font-size:13.5px;font-weight:700;color:var(--cafe);}
.hint-c{font-size:12px;color:var(--muted-2);text-align:center;margin-top:12px;}

/* ---------- listas sim/não ---------- */
.qlist{display:flex;flex-direction:column;}
.qitem{display:flex;align-items:center;gap:13px;padding:14px 2px;border-bottom:1px solid var(--line);}
.qitem:last-child{border-bottom:none;}
.qitem .qi{width:34px;height:34px;border-radius:10px;background:var(--champagne);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;}
.qitem .qi svg{width:18px;height:18px;stroke:var(--gold);}
.qitem .qt{flex:1;font-size:14px;font-weight:600;color:var(--ink);line-height:1.3;}
.segmented{display:flex;background:var(--screen-2);border-radius:11px;padding:3px;flex-shrink:0;}
.segmented button{border:none;background:transparent;font-family:'Poppins';font-weight:700;
  font-size:12.5px;color:var(--muted);padding:7px 14px;border-radius:9px;cursor:pointer;transition:.15s;}
.segmented button.on-yes{background:var(--ok);color:#fff;}
.segmented button.on-no{background:#E4DACB;color:var(--cafe);}

/* ---------- toggle switch ---------- */
.tlist{display:flex;flex-direction:column;}
.titem{display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 2px;border-bottom:1px solid var(--line);}
.titem:last-child{border-bottom:none;}
.titem .tt{font-size:14.5px;font-weight:600;color:var(--ink);}
.titem .tt small{display:block;font-size:12px;color:var(--muted);font-weight:600;margin-top:1px;}
.switch{position:relative;width:48px;height:28px;flex-shrink:0;cursor:pointer;}
.switch input{display:none;}
.switch .track{position:absolute;inset:0;border-radius:16px;background:var(--line-2);transition:.22s;}
.switch .thumb{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;
  background:#fff;box-shadow:0 2px 5px rgba(0,0,0,.2);transition:.22s;}
.switch input:checked + .track{background:var(--grad-gold);}
.switch input:checked + .track + .thumb{transform:translateX(20px);}
.sublabel{font-size:13px;font-weight:800;color:var(--cafe);text-transform:uppercase;
  letter-spacing:.5px;margin:16px 0 4px;}

/* ---------- curso: "o que você vai aprender" ---------- */
.learn-box{background:var(--champagne);border-radius:16px;padding:16px;margin-top:4px;}
.learn-box b{font-family:'Poppins';font-size:14px;color:var(--cafe-deep);display:block;margin-bottom:10px;}
.learn-box .li{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--cafe);margin:8px 0;}
.learn-box .li svg{width:18px;height:18px;stroke:var(--ok);flex-shrink:0;}

/* ---------- medalhas / nível ---------- */
.level-card{display:flex;align-items:center;gap:16px;}
.level-badge{width:66px;height:66px;flex-shrink:0;}
.medal-grid{display:flex;gap:12px;}
.medal{flex:1;text-align:center;}
.medal .mc{width:64px;height:64px;margin:0 auto 7px;}
.medal small{font-size:11.5px;font-weight:700;color:var(--cafe);line-height:1.25;display:block;}
.medal.lock .mc{filter:grayscale(.9);opacity:.5;}
.medal .mc-ic{width:64px;height:64px;margin:0 auto 7px;border-radius:50%;background:var(--champagne);display:flex;align-items:center;justify-content:center;}
.medal .mc-ic svg{width:32px;height:32px;stroke:var(--gold);fill:none;}
.opp{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);}
.opp:last-child{border-bottom:none;}
.opp .oi{width:42px;height:42px;border-radius:12px;background:var(--champagne);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;}
.opp .oi svg{width:20px;height:20px;stroke:var(--gold);}
.opp .ob{font-family:'Poppins';font-size:14px;font-weight:600;color:var(--cafe-deep);}
.opp .os{font-size:12.5px;color:var(--muted);margin-top:1px;}
.pill-new{margin-left:auto;font-size:10.5px;font-weight:800;color:#fff;background:var(--ok);
  padding:4px 9px;border-radius:8px;}

/* ---------- diversos ---------- */
.section-h{display:flex;align-items:center;justify-content:space-between;margin:22px 0 12px;}
.section-h h3{font-size:16px;font-weight:600;color:var(--cafe-deep);}
.section-h .see{font-size:13px;font-weight:700;color:var(--gold);cursor:pointer;}
.sp{height:14px;}
.sp-lg{height:22px;}

/* ---------- menu rows (perfil / config) ---------- */
.menu-group{margin-top:8px;}
.menu-cap{font-size:12px;font-weight:800;color:var(--muted);text-transform:uppercase;
  letter-spacing:.6px;margin:18px 4px 8px;}
.mrow{display:flex;align-items:center;gap:13px;padding:14px 4px;border-bottom:1px solid var(--line);cursor:pointer;}
.mrow:last-child{border-bottom:none;}
.mrow:active{opacity:.6;}
.mrow-ic{width:36px;height:36px;border-radius:11px;background:var(--champagne);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;}
.mrow-ic svg{width:19px;height:19px;stroke:var(--gold);}
.mrow-label{flex:1;font-size:14.5px;font-weight:600;color:var(--ink);}
.mrow-val{font-size:13.5px;color:var(--muted);font-weight:600;display:flex;align-items:center;gap:7px;}
.mrow-val::after{content:"";width:7px;height:11px;border-right:2px solid var(--muted-2);
  border-bottom:2px solid var(--muted-2);transform:rotate(-45deg);margin-left:2px;}
.mrow-ch{width:20px;height:20px;stroke:var(--muted-2);flex-shrink:0;}
.mrow-danger .mrow-label{color:#C2543F;}
.mrow-danger{justify-content:center;}
.mrow-danger .mrow-ic{display:none;}

/* ---------- filtros (pills topo) ---------- */
.filters{display:flex;gap:9px;padding:4px 0 4px;overflow-x:auto;scrollbar-width:none;}
.filters::-webkit-scrollbar{display:none;}
.filter{padding:9px 16px;border-radius:12px;background:var(--card);border:1.4px solid var(--line-2);
  font-size:13px;font-weight:700;color:var(--cafe);white-space:nowrap;cursor:pointer;flex-shrink:0;}
.filter.on{background:var(--grad-gold);color:#fff;border-color:transparent;box-shadow:var(--shadow-gold);}
.filter b{opacity:.7;font-weight:700;margin-left:3px;}

/* ---------- estrelas ---------- */
.stars{display:inline-flex;gap:2px;font-size:15px;color:var(--line-2);letter-spacing:1px;}
.stars span.on{color:#E4B43F;}

/* rating destaque */
.rating-big{display:flex;align-items:center;gap:16px;}
.rating-big .num{font-family:'Poppins';font-size:42px;font-weight:700;color:var(--cafe-deep);line-height:1;}
.rating-big .stars{font-size:18px;}
.rating-big .sub{font-size:12.5px;color:var(--muted);margin-top:4px;}

/* review item */
.review{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--line);}
.review:last-child{border-bottom:none;}
.review .rav{width:42px;height:42px;border-radius:50%;flex-shrink:0;font-size:15px;}
.review .rh{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;}
.review .rn{font-family:'Poppins';font-size:14.5px;font-weight:600;color:var(--cafe-deep);}
.review .rr{font-size:13px;color:var(--muted);}
.review .rnote{font-size:11.5px;font-weight:800;color:#E4B43F;display:flex;align-items:center;gap:3px;white-space:nowrap;}
.review .rtext{font-size:13.5px;color:var(--ink);line-height:1.5;margin-top:5px;}
.review .rdate{font-size:11.5px;color:var(--muted-2);margin-top:6px;}

/* shift / plantão item */
.shift{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);}
.shift:last-child{border-bottom:none;}
.shift .sdate{font-size:12px;color:var(--muted);font-weight:700;}
.shift .sname{font-family:'Poppins';font-size:14.5px;font-weight:600;color:var(--cafe-deep);margin-top:2px;}
.shift .scity{font-size:12.5px;color:var(--muted);}
.shift .sright{margin-left:auto;text-align:right;flex-shrink:0;}
.shift .sval{font-family:'Poppins';font-weight:700;font-size:14.5px;color:var(--cafe-deep);}
.badge-done{font-size:10.5px;font-weight:800;color:var(--ok);background:rgba(127,176,105,.15);
  padding:3px 9px;border-radius:8px;display:inline-block;margin-top:5px;}
.badge-cancel{font-size:10.5px;font-weight:800;color:#C2543F;background:rgba(194,84,63,.13);
  padding:3px 9px;border-radius:8px;display:inline-block;margin-top:5px;}

/* search box */
.searchbox{display:flex;align-items:center;gap:10px;background:var(--card);border:1.5px solid var(--line-2);
  border-radius:14px;padding:13px 15px;margin:4px 0 6px;}
.searchbox svg{width:19px;height:19px;stroke:var(--muted-2);flex-shrink:0;}
.searchbox input{border:none;outline:none;background:none;font-family:'Nunito Sans';font-size:15px;
  color:var(--ink);width:100%;}
.help-contact{display:flex;gap:12px;margin-top:6px;}
.help-card{flex:1;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:15px;
  text-align:center;box-shadow:var(--shadow-sm);cursor:pointer;}
.help-card .hi{width:42px;height:42px;border-radius:12px;background:var(--champagne);margin:0 auto 8px;
  display:flex;align-items:center;justify-content:center;}
.help-card .hi svg{width:21px;height:21px;stroke:var(--gold);}
.help-card b{font-family:'Poppins';font-size:13.5px;color:var(--cafe-deep);display:block;}
.help-card small{font-size:11.5px;color:var(--muted);}

/* ---------- certificados digitais ---------- */
.cert-feature{position:relative;background:linear-gradient(160deg,#FFFDF8,#FBF2DF);
  border:1.5px solid var(--gold-soft);border-radius:20px;padding:18px;box-shadow:var(--shadow-sm);}
.cert-feature::before{content:"";position:absolute;left:0;top:18px;bottom:18px;width:4px;
  border-radius:3px;background:var(--grad-gold);}
.cert-feature .cf-row{display:flex;align-items:flex-start;gap:12px;}
.cert-feature .cf-seal{width:46px;height:46px;flex-shrink:0;}
.cert-feature .cf-t{font-family:'Poppins';font-size:15px;font-weight:600;color:var(--cafe-deep);}
.cert-feature .cf-s{font-size:12.5px;color:var(--muted);margin-top:2px;}
.valid-badge{font-size:10.5px;font-weight:800;color:var(--ok);background:rgba(127,176,105,.15);
  padding:3px 10px;border-radius:8px;display:inline-flex;align-items:center;gap:4px;margin-top:8px;}
.cert-row{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);}
.cert-row:last-child{border-bottom:none;}
.cert-row .cri{width:38px;height:38px;border-radius:11px;background:var(--champagne);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;}
.cert-row .cri svg{width:19px;height:19px;stroke:var(--gold);}
.cert-row .crt{flex:1;}
.cert-row .crn{font-size:14px;font-weight:600;color:var(--cafe-deep);}
.cert-row .crd{font-size:11.5px;color:var(--muted);margin-top:1px;}

/* ---------- conquistas (grid de medalhas) ---------- */
.conq-count{text-align:center;padding:6px 0 4px;}
.conq-count .n{font-family:'Poppins';font-size:46px;font-weight:700;color:var(--gold);line-height:1;}
.conq-count .l{font-size:13px;color:var(--muted);font-weight:600;}
.conq-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.conq{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px 12px;
  text-align:center;box-shadow:var(--shadow-sm);}
.conq .cs{width:58px;height:58px;margin:0 auto 9px;}
.conq b{font-family:'Poppins';font-size:13.5px;color:var(--cafe-deep);display:block;line-height:1.25;}
.conq small{font-size:11px;color:var(--muted);display:block;margin-top:3px;line-height:1.3;}

/* ---------- detalhe avaliação ---------- */
.av-detail-head{display:flex;flex-direction:column;align-items:center;text-align:center;}
.av-detail-head .ad-av{width:62px;height:62px;border-radius:50%;font-size:22px;margin-bottom:10px;}
.av-detail-head .ad-n{font-family:'Poppins';font-size:17px;font-weight:600;color:var(--cafe-deep);}
.av-detail-head .ad-s{font-size:12.5px;color:var(--muted);}
.av-score{text-align:center;margin:14px 0;}
.av-score .num{font-family:'Poppins';font-size:40px;font-weight:700;color:var(--cafe-deep);}
.av-score .stars{font-size:20px;display:block;margin:4px 0;}
.av-score .word{font-size:13px;color:var(--ok);font-weight:800;}
.comp-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);}
.comp-row:last-child{border-bottom:none;}
.comp-row .cl{display:flex;align-items:center;gap:11px;font-size:14px;font-weight:600;color:var(--ink);}
.comp-row .cl .ci{width:32px;height:32px;border-radius:9px;background:var(--champagne);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;}
.comp-row .cl .ci svg{width:17px;height:17px;stroke:var(--gold);}
.comp-row .cscore{font-family:'Poppins';font-weight:700;color:var(--gold);font-size:15px;}

/* ---------- ranking ---------- */
.rank-me{display:flex;align-items:center;gap:14px;background:linear-gradient(150deg,#FBF2DF,#F4E6C9);
  border:1.5px solid var(--gold-soft);border-radius:20px;padding:16px;}
.rank-me .pos{font-family:'Poppins';font-size:26px;font-weight:700;color:var(--gold);}
.rank-me .pl{font-size:12.5px;color:var(--muted);font-weight:600;}
.rank-me .pts{margin-left:auto;text-align:right;}
.rank-me .pts b{font-family:'Poppins';font-size:17px;color:var(--cafe-deep);}
.rank-me .pts small{display:block;font-size:11px;color:var(--muted);}
.rank-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);}
.rank-row:last-child{border-bottom:none;}
.rank-row.me{background:var(--champagne);border-radius:14px;padding:13px 12px;margin:4px 0;border:none;}
.rank-row .rk{width:26px;text-align:center;font-family:'Poppins';font-weight:700;font-size:15px;color:var(--muted);}
.rank-row.top1 .rk{color:#E4B43F;}.rank-row.top2 .rk{color:#A7ABB4;}.rank-row.top3 .rk{color:#C08A4A;}
.rank-row .rav{width:38px;height:38px;border-radius:50%;font-size:14px;flex-shrink:0;}
.rank-row .rn{font-family:'Poppins';font-size:14px;font-weight:600;color:var(--cafe-deep);}
.rank-row .rc{font-size:12px;color:var(--muted);}
.rank-row .rp{margin-left:auto;font-family:'Poppins';font-weight:700;color:var(--cafe);font-size:14px;}
.rank-sep{text-align:center;color:var(--muted-2);font-weight:800;letter-spacing:2px;padding:6px 0;}

/* ---------- textarea ---------- */
textarea.ctrl{resize:none;min-height:90px;line-height:1.5;}

/* ---------- editar perfil (foto header) ---------- */
.edit-photo{display:flex;flex-direction:column;align-items:center;padding:6px 0 14px;}
.edit-photo .ep{position:relative;width:96px;height:96px;}
.edit-photo .ep .avatar,.edit-photo .ep img{width:96px;height:96px;border-radius:50%;font-size:34px;
  border:3px solid var(--card);box-shadow:0 8px 20px rgba(110,85,54,.18);}
.edit-photo .ep .cam{position:absolute;right:0;bottom:0;width:32px;height:32px;border-radius:50%;
  background:var(--grad-gold);display:flex;align-items:center;justify-content:center;border:2px solid #fff;cursor:pointer;}
.edit-photo .ep .cam svg{width:16px;height:16px;stroke:#fff;}
.edit-photo .ep-link{font-size:13px;font-weight:700;color:var(--gold);margin-top:10px;cursor:pointer;}

/* ---------- pills selecionáveis (áreas) ---------- */
.sel-pills{display:flex;flex-wrap:wrap;gap:10px;}
.sel-pill{padding:11px 16px;border-radius:13px;background:var(--card);border:1.5px solid var(--line-2);
  font-size:13.5px;font-weight:600;color:var(--cafe);cursor:pointer;transition:.16s;display:flex;align-items:center;gap:7px;}
.sel-pill svg{width:15px;height:15px;stroke:currentColor;opacity:0;transition:.16s;}
.sel-pill.on{background:var(--grad-gold);color:#fff;border-color:transparent;box-shadow:var(--shadow-gold);}
.sel-pill.on svg{opacity:1;}

/* ---------- notificações ---------- */
.notif{display:flex;gap:13px;padding:15px 4px;border-bottom:1px solid var(--line);position:relative;}
.notif:last-child{border-bottom:none;}
.notif .ni{width:42px;height:42px;border-radius:13px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--champagne);}
.notif .ni svg{width:20px;height:20px;stroke:var(--gold);}
.notif .ni.ok{background:rgba(127,176,105,.16);}.notif .ni.ok svg{stroke:var(--ok);}
.notif .nt b{font-family:'Poppins';font-size:14px;font-weight:600;color:var(--cafe-deep);}
.notif .nt p{font-size:13px;color:var(--muted);line-height:1.45;margin-top:2px;}
.notif .ntime{font-size:11px;color:var(--muted-2);margin-top:5px;display:block;}
.notif.unread::after{content:"";position:absolute;right:4px;top:18px;width:8px;height:8px;border-radius:50%;background:var(--gold);}

/* ---------- status de validação ---------- */
.status-hero{display:flex;flex-direction:column;align-items:center;text-align:center;
  background:linear-gradient(155deg,#FBF2DF,#F4E6C9);border:1.5px solid var(--gold-soft);
  border-radius:22px;padding:22px;}
.status-hero .sicon{width:62px;height:62px;border-radius:50%;background:#fff;
  display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);margin-bottom:12px;}
.status-hero .sicon svg{width:30px;height:30px;stroke:var(--gold);}
.status-hero .stt{font-family:'Poppins';font-size:18px;font-weight:600;color:var(--cafe-deep);}
.status-hero .sds{font-size:13.5px;color:var(--muted);line-height:1.5;margin-top:5px;max-width:260px;}
.timeline{position:relative;margin:6px 0 0 6px;padding-left:24px;}
.timeline::before{content:"";position:absolute;left:9px;top:14px;bottom:14px;width:2px;background:var(--line-2);}
.tl-step{position:relative;display:flex;align-items:flex-start;gap:14px;padding:11px 0;}
.tl-step .td{position:absolute;left:-24px;top:12px;width:20px;height:20px;border-radius:50%;z-index:2;
  display:flex;align-items:center;justify-content:center;background:var(--card);border:2px solid var(--line-2);}
.tl-step.done .td{background:var(--ok);border-color:var(--ok);}
.tl-step.done .td svg{width:11px;height:11px;stroke:#fff;}
.tl-step.current .td{background:var(--gold);border-color:var(--gold);box-shadow:0 0 0 4px rgba(201,154,63,.18);}
.tl-step .tlt{font-family:'Poppins';font-size:14px;font-weight:600;color:var(--cafe-deep);}
.tl-step.todo .tlt{color:var(--muted-2);}
.tl-step .tls{font-size:12px;color:var(--muted);margin-top:1px;}
.lgpd-note{display:flex;gap:11px;background:var(--champagne);border-radius:14px;padding:13px 15px;margin-top:6px;}
.lgpd-note svg{width:20px;height:20px;stroke:var(--gold);flex-shrink:0;margin-top:1px;}
.lgpd-note p{font-size:12.5px;color:var(--cafe);line-height:1.5;}

/* ---------- recuperar senha ---------- */
.recover-ill{width:78px;height:78px;border-radius:50%;background:var(--champagne);margin:8px auto 6px;
  display:flex;align-items:center;justify-content:center;}
.recover-ill svg{width:38px;height:38px;stroke:var(--gold);}

/* ---------- selos (imagens oficiais) ---------- */
.seal-img{display:block;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(110,85,54,.18));}
.seal-badge.seal-img{width:58px;height:58px;}
.bi.seal-img{width:52px;height:52px;}
.level-badge.seal-img{width:66px;height:66px;}
.mc.seal-img{width:64px;height:64px;}
.cs.seal-img{width:60px;height:60px;}
.cf-seal.seal-img{width:48px;height:48px;}

/* ---------- documentos legais (LGPD) ---------- */
.legal-doc{font-size:14px;line-height:1.65;color:var(--ink);}
.legal-doc h4{font-family:'Poppins';font-size:15px;color:var(--cafe-deep);margin:20px 0 7px;}
.legal-doc h4:first-child{margin-top:6px;}
.legal-doc p{margin-bottom:10px;}
.legal-doc ul{margin:0 0 12px 18px;}
.legal-doc li{margin-bottom:6px;}
.legal-updated{font-size:12px;color:var(--muted-2);margin-bottom:14px;}
.legal-badge{display:flex;gap:11px;background:var(--champagne);border-radius:14px;padding:13px 15px;margin-bottom:16px;}
.legal-badge svg{width:22px;height:22px;stroke:var(--gold);flex-shrink:0;margin-top:1px;}
.legal-badge p{font-size:12.5px;color:var(--cafe);line-height:1.5;margin:0;}

/* consentimento no cadastro */
.consent{display:flex;gap:11px;align-items:flex-start;padding:4px 0 2px;cursor:pointer;}
.consent .cbox{width:24px;height:24px;border-radius:7px;border:2px solid var(--line-2);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;transition:.15s;margin-top:1px;}
.consent .cbox svg{width:14px;height:14px;stroke:#fff;opacity:0;}
.consent.on .cbox{background:var(--grad-gold);border-color:transparent;}
.consent.on .cbox svg{opacity:1;}
.consent p{font-size:12.5px;color:var(--muted);line-height:1.5;}
.consent a{color:var(--cafe);font-weight:700;text-decoration:underline;}

/* ---------- ADMIN ---------- */
.admin-badge{display:inline-flex;align-items:center;gap:6px;background:var(--cafe);color:var(--champagne);
  font-size:11px;font-weight:800;padding:5px 11px;border-radius:9px;font-family:'Poppins';letter-spacing:.5px;}
.admin-badge svg{width:13px;height:13px;stroke:var(--champagne);}
.adm-stats{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.adm-stat{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:16px;box-shadow:var(--shadow-sm);position:relative;}
.adm-stat .as-ic{position:absolute;right:14px;top:14px;width:32px;height:32px;border-radius:10px;background:var(--champagne);display:flex;align-items:center;justify-content:center;}
.adm-stat .as-ic svg{width:17px;height:17px;stroke:var(--gold);}
.adm-stat .as-n{font-family:'Poppins';font-size:28px;font-weight:700;color:var(--cafe-deep);line-height:1.1;}
.adm-stat .as-l{font-size:12.5px;color:var(--muted);font-weight:600;margin-top:2px;}
.adm-stat.warn .as-n{color:var(--gold);}

.adm-row{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);cursor:pointer;}
.adm-row:last-child{border-bottom:none;}
.adm-row:active{opacity:.6;}
.adm-row .ar-av{width:42px;height:42px;border-radius:50%;font-size:15px;flex-shrink:0;}
.adm-row .ar-n{font-family:'Poppins';font-size:14.5px;font-weight:600;color:var(--cafe-deep);}
.adm-row .ar-s{font-size:12.5px;color:var(--muted);}
.adm-row .ar-right{margin-left:auto;display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.badge-pend{font-size:10.5px;font-weight:800;color:var(--gold);background:rgba(201,154,63,.16);padding:3px 9px;border-radius:8px;}
.badge-analise{font-size:10.5px;font-weight:800;color:#5A86C2;background:rgba(90,134,194,.15);padding:3px 9px;border-radius:8px;}

/* ficha admin: documentos com ações */
.doc-rev{display:flex;align-items:center;gap:12px;padding:13px 0;border-bottom:1px solid var(--line);}
.doc-rev:last-child{border-bottom:none;}
.doc-rev .cri{width:38px;height:38px;border-radius:11px;background:var(--champagne);flex-shrink:0;display:flex;align-items:center;justify-content:center;}
.doc-rev .cri svg{width:19px;height:19px;stroke:var(--gold);}
.doc-rev .crt{flex:1;min-width:0;}
.doc-rev .crn{font-size:13.5px;font-weight:600;color:var(--cafe-deep);}
.doc-rev .crd{font-size:11.5px;color:var(--muted);}
.doc-actions{display:flex;gap:7px;flex-shrink:0;}
.btn-mini{border:none;font-family:'Poppins';font-weight:700;font-size:11.5px;padding:7px 11px;border-radius:9px;cursor:pointer;}
.btn-mini.ok{background:var(--ok);color:#fff;}
.btn-mini.no{background:transparent;color:#C2543F;border:1.4px solid #E2B6AC;}

/* selo a atribuir */
.seal-pick{display:flex;gap:12px;overflow-x:auto;padding:6px 2px;scrollbar-width:none;}
.seal-pick::-webkit-scrollbar{display:none;}
.seal-pick .sp-item{flex-shrink:0;width:74px;text-align:center;cursor:pointer;opacity:.5;transition:.15s;}
.seal-pick .sp-item.on{opacity:1;}
.seal-pick .sp-item img{width:54px;height:54px;}
.seal-pick .sp-item small{display:block;font-size:10.5px;color:var(--cafe);font-weight:600;margin-top:3px;line-height:1.2;}

/* observações internas */
.obs-item{background:var(--screen-2);border-radius:12px;padding:11px 13px;margin-bottom:9px;}
.obs-item .oh{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);font-weight:700;margin-bottom:3px;}
.obs-item p{font-size:13px;color:var(--ink);line-height:1.45;}
.adm-actions{display:flex;gap:11px;}
.adm-actions .btn{flex:1;}
/* resumo declarado (ficha admin) */
.fr-row{display:flex;justify-content:space-between;gap:14px;padding:8px 0;border-bottom:1px solid var(--line);}
.fr-row:last-child{border-bottom:none;}
.fr-k{font-size:12.5px;color:var(--muted);font-weight:700;flex-shrink:0;}
.fr-v{font-size:13px;color:var(--ink);text-align:right;}
.btn-approve{background:var(--ok);color:#fff;box-shadow:0 8px 20px rgba(127,176,105,.35);}
.btn-reject{background:transparent;color:#C2543F;border:1.6px solid #E2B6AC;}

/* ---------- botão soft (champagne) ---------- */
.btn-soft{background:var(--champagne);color:var(--cafe);}

/* ---------- banner Eleve Pro ---------- */
.pro-banner{display:flex;align-items:center;gap:14px;background:var(--grad-cafe);border-radius:20px;
  padding:15px 18px;margin:16px 0 4px;color:#fff;cursor:pointer;box-shadow:var(--shadow);position:relative;overflow:hidden;}
.pro-banner::after{content:"";position:absolute;right:-24px;bottom:-34px;width:112px;height:112px;border-radius:50%;background:rgba(226,189,114,.16);}
.pro-banner .pb-ic{width:46px;height:46px;border-radius:13px;background:rgba(226,189,114,.22);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;z-index:1;}
.pro-banner .pb-ic svg{width:24px;height:24px;stroke:var(--gold-2);}
.pro-banner .pb-t{font-family:'Poppins';font-weight:700;font-size:15px;z-index:1;}
.pro-banner .pb-s{font-size:12.5px;color:rgba(255,255,255,.82);margin-top:2px;z-index:1;}
.pro-banner .pb-ch{margin-left:auto;z-index:1;}
.pro-banner .pb-ch svg{width:20px;height:20px;stroke:var(--gold-2);}

/* ---------- carteira / ganhos ---------- */
.wallet-hero{background:var(--grad-cafe);border-radius:24px;padding:22px;color:#fff;position:relative;
  overflow:hidden;box-shadow:var(--shadow);}
.wallet-hero::after{content:"";position:absolute;right:-30px;top:-30px;width:150px;height:150px;
  border-radius:50%;background:rgba(226,189,114,.16);}
.wallet-hero .wl{font-size:13px;font-weight:700;color:var(--gold-2);display:flex;align-items:center;gap:7px;position:relative;z-index:1;}
.wallet-hero .wl svg{width:17px;height:17px;stroke:var(--gold-2);}
.wallet-hero .wv{font-family:'Poppins';font-size:36px;font-weight:700;margin:6px 0 2px;letter-spacing:.4px;position:relative;z-index:1;}
.wallet-hero .wsub{display:flex;gap:26px;margin-top:14px;position:relative;z-index:1;}
.wallet-hero .wsub small{font-size:11px;color:rgba(255,255,255,.72);font-weight:600;display:block;}
.wallet-hero .wsub b{font-family:'Poppins';font-size:15.5px;font-weight:700;}
.wallet-act{display:flex;gap:11px;margin:14px 0 4px;}
.wallet-act .btn{flex:1;padding:14px;font-size:15px;}
.wallet-act .btn-soft{flex:.6;}
.tx{display:flex;align-items:center;gap:13px;padding:14px 0;border-bottom:1px solid var(--line);}
.tx:last-child{border-bottom:none;}
.tx .txi{width:40px;height:40px;border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;background:var(--champagne);}
.tx .txi svg{width:19px;height:19px;stroke:var(--gold);}
.tx .txi.in{background:rgba(127,176,105,.16);}.tx .txi.in svg{stroke:var(--ok);}
.tx .txi.out{background:rgba(194,84,63,.12);}.tx .txi.out svg{stroke:#C2543F;}
.tx .txt{flex:1;min-width:0;}
.tx .txn{font-family:'Poppins';font-size:14px;font-weight:600;color:var(--cafe-deep);}
.tx .txd{font-size:11.5px;color:var(--muted);margin-top:1px;}
.tx .txv{font-family:'Poppins';font-weight:700;font-size:14.5px;color:var(--cafe-deep);flex-shrink:0;}
.tx .txv.in{color:var(--ok);}

/* ---------- loja ---------- */
.points-chip{display:inline-flex;align-items:center;gap:7px;background:var(--champagne);color:var(--gold);
  font-family:'Poppins';font-weight:700;font-size:13px;padding:9px 15px;border-radius:13px;}
.points-chip svg{width:16px;height:16px;stroke:var(--gold);}
.store-feature{position:relative;border-radius:22px;background:linear-gradient(160deg,#FFFDF8,#FBF1DC);
  border:1.5px solid var(--gold-soft);padding:18px;box-shadow:var(--shadow-sm);cursor:pointer;}
.store-feature .sf-tag{position:absolute;right:16px;top:16px;background:var(--grad-gold);color:#fff;
  font-size:10px;font-weight:800;font-family:'Poppins';padding:4px 10px;border-radius:8px;}
.store-feature .sf-ic{width:54px;height:54px;border-radius:15px;background:var(--champagne);
  display:flex;align-items:center;justify-content:center;margin-bottom:12px;}
.store-feature .sf-ic svg{width:28px;height:28px;stroke:var(--gold);}
.store-feature .sf-t{font-family:'Poppins';font-size:16px;font-weight:700;color:var(--cafe-deep);line-height:1.3;}
.store-feature .sf-s{font-size:12.5px;color:var(--muted);margin-top:3px;}
.store-feature .sf-f{display:flex;align-items:center;justify-content:space-between;margin-top:12px;}
.store-feature .sf-p{font-family:'Poppins';font-size:20px;font-weight:700;color:var(--gold);}
.store-feature .sf-go{font-size:13px;font-weight:700;color:var(--cafe);}
.store-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;}
.prod{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;
  box-shadow:var(--shadow-sm);cursor:pointer;transition:transform .14s;}
.prod:active{transform:scale(.98);}
.prod .pthumb{height:88px;background:var(--champagne);display:flex;align-items:center;justify-content:center;position:relative;}
.prod .pthumb svg{width:34px;height:34px;stroke:var(--gold);}
.prod .ptag{position:absolute;left:8px;top:8px;font-size:9.5px;font-weight:800;color:#fff;background:var(--ok);padding:3px 7px;border-radius:7px;}
.prod .pbody{padding:11px 12px 13px;}
.prod .pt{font-family:'Poppins';font-size:12.5px;font-weight:600;color:var(--cafe-deep);line-height:1.25;min-height:31px;}
.prod .pm{font-size:11px;color:var(--muted);margin-top:5px;}
.prod .pf{display:flex;align-items:center;justify-content:space-between;margin-top:8px;}
.prod .pp{font-family:'Poppins';font-weight:700;color:var(--gold);font-size:14px;}
.prod .prate{font-size:11px;font-weight:700;color:#E4B43F;}

/* ---------- detalhe do curso ---------- */
.prod-hero{height:180px;border-radius:20px;background:linear-gradient(160deg,#F7EFDD,#F0E3C8);
  display:flex;align-items:center;justify-content:center;margin-bottom:14px;}
.prod-hero svg{width:72px;height:72px;stroke:var(--gold);}
.prod-meta{display:flex;gap:15px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);font-weight:700;margin-top:8px;}
.prod-meta span{display:flex;align-items:center;gap:5px;}
.prod-meta svg{width:15px;height:15px;stroke:var(--gold);}
.price-box{display:flex;align-items:center;justify-content:space-between;
  background:linear-gradient(160deg,#FFFDF8,#FBF2DF);border:1.5px solid var(--gold-soft);
  border-radius:18px;padding:16px 18px;margin:14px 0 4px;}
.price-box .pp{font-family:'Poppins';font-size:26px;font-weight:700;color:var(--cafe-deep);}
.price-box .pinst{font-size:12px;color:var(--muted);font-weight:600;margin-top:2px;}
.module{display:flex;align-items:center;gap:13px;padding:13px 0;border-bottom:1px solid var(--line);}
.module:last-child{border-bottom:none;}
.module .mn{width:28px;height:28px;border-radius:9px;background:var(--champagne);color:var(--gold);
  font-family:'Poppins';font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.module .mt{flex:1;font-size:14px;font-weight:600;color:var(--ink);}
.module .md{font-size:11.5px;color:var(--muted);font-weight:700;flex-shrink:0;}
.instr{display:flex;align-items:center;gap:13px;}
.instr .ia{width:50px;height:50px;border-radius:50%;font-size:18px;flex-shrink:0;}

/* ---------- plano / assinatura ---------- */
.plan-hero{text-align:center;padding:4px 0 2px;}
.plan-crown{width:72px;height:72px;border-radius:50%;background:var(--grad-gold);
  display:flex;align-items:center;justify-content:center;margin:0 auto 12px;box-shadow:var(--shadow-gold);}
.plan-crown svg{width:35px;height:35px;stroke:#fff;}
.plan-card{border-radius:22px;padding:20px;border:1.5px solid var(--line-2);background:var(--card);
  box-shadow:var(--shadow-sm);margin-top:18px;position:relative;}
.plan-card.pro{border-color:var(--gold);background:linear-gradient(165deg,#FFFDF8,#FBF1DC);box-shadow:var(--shadow);}
.plan-card .pc-tag{position:absolute;right:18px;top:-11px;background:var(--grad-gold);color:#fff;
  font-size:10.5px;font-weight:800;font-family:'Poppins';padding:5px 12px;border-radius:9px;box-shadow:var(--shadow-gold);letter-spacing:.5px;}
.plan-card .pc-name{font-family:'Poppins';font-size:17px;font-weight:700;color:var(--cafe-deep);display:flex;align-items:center;gap:8px;}
.plan-card .pc-name svg{width:19px;height:19px;stroke:var(--gold);}
.plan-card .pc-price{font-family:'Poppins';margin:6px 0 2px;}
.plan-card .pc-price b{font-size:30px;font-weight:700;color:var(--cafe-deep);}
.plan-card .pc-price small{font-size:13px;color:var(--muted);font-weight:600;}
.plan-feat{margin-top:14px;display:flex;flex-direction:column;gap:11px;}
.plan-feat .pf{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink);font-weight:600;}
.plan-feat .pf svg{width:18px;height:18px;stroke:var(--ok);flex-shrink:0;}
.plan-feat .pf.off{color:var(--muted-2);font-weight:600;}
.plan-feat .pf.off svg{stroke:var(--muted-2);}
.plan-current{display:block;font-size:12.5px;font-weight:800;color:var(--ok);background:rgba(127,176,105,.14);
  padding:11px;border-radius:13px;text-align:center;font-family:'Poppins';}

/* ---------- detalhe da oportunidade ---------- */
.opp-hero{background:linear-gradient(155deg,#FBF2DF,#F4E6C9);border:1.5px solid var(--gold-soft);
  border-radius:22px;padding:18px;}
.opp-hero .oh-ic{width:54px;height:54px;border-radius:15px;background:#fff;display:flex;align-items:center;
  justify-content:center;box-shadow:var(--shadow-sm);margin-bottom:12px;}
.opp-hero .oh-ic svg{width:26px;height:26px;stroke:var(--gold);}
.opp-hero .oh-t{font-family:'Poppins';font-size:19px;font-weight:700;color:var(--cafe-deep);}
.opp-hero .oh-s{font-size:13px;color:var(--muted);margin-top:4px;display:flex;align-items:center;gap:5px;}
.opp-hero .oh-s svg{width:14px;height:14px;stroke:var(--gold);}
.fact-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;margin-top:14px;}
.fact{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:13px;box-shadow:var(--shadow-sm);}
.fact .fl{font-size:11px;color:var(--muted);font-weight:700;display:flex;align-items:center;gap:5px;}
.fact .fl svg{width:14px;height:14px;stroke:var(--gold);}
.fact .fv{font-family:'Poppins';font-size:15px;font-weight:700;color:var(--cafe-deep);margin-top:5px;}
.match{display:flex;align-items:center;gap:13px;background:rgba(127,176,105,.12);border-radius:16px;padding:13px 16px;margin:16px 0 4px;}
.match svg{width:26px;height:26px;stroke:var(--ok);flex-shrink:0;}
.match .mp{font-family:'Poppins';font-size:22px;font-weight:700;color:var(--ok);line-height:1;}
.match .ml{font-size:12.5px;color:var(--cafe);font-weight:600;margin-top:2px;}
.req{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink);font-weight:600;padding:9px 0;border-bottom:1px solid var(--line);}
.req:last-child{border-bottom:none;}
.req svg{width:18px;height:18px;stroke:var(--ok);flex-shrink:0;}

/* ---------- opções tipo rádio (privacidade) ---------- */
.opt{display:flex;align-items:center;gap:13px;padding:15px 2px;border-bottom:1px solid var(--line);cursor:pointer;}
.opt:last-child{border-bottom:none;}
.opt .ob2{width:22px;height:22px;border-radius:50%;border:2px solid var(--line-2);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;transition:.15s;}
.opt.on .ob2{border-color:var(--gold);}
.opt.on .ob2::after{content:"";width:11px;height:11px;border-radius:50%;background:var(--grad-gold);}
.opt .otn{font-size:14.5px;font-weight:600;color:var(--ink);}
.opt .ots{font-size:12px;color:var(--muted);margin-top:1px;line-height:1.4;}

/* ---------- buscar oportunidades (vagas) ---------- */
.vaga{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:15px;
  box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:12px;transition:transform .14s;}
.vaga:active{transform:scale(.99);}
.vaga .vh{display:flex;align-items:flex-start;gap:12px;}
.vaga .vic{width:44px;height:44px;border-radius:13px;background:var(--champagne);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;}
.vaga .vic svg{width:21px;height:21px;stroke:var(--gold);}
.vaga .vt{flex:1;min-width:0;}
.vaga .vn{font-family:'Poppins';font-size:15px;font-weight:600;color:var(--cafe-deep);line-height:1.25;}
.vaga .vl{font-size:12px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:4px;}
.vaga .vl svg{width:13px;height:13px;stroke:var(--gold);flex-shrink:0;}
.vaga .vtags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0;}
.vaga .vtags span{font-size:11px;font-weight:700;color:var(--cafe);background:var(--screen-2);
  border:1px solid var(--line-2);padding:5px 10px;border-radius:9px;}
.vaga .vf{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:12px;}
.vaga .vval{font-family:'Poppins';font-size:17px;font-weight:700;color:var(--cafe-deep);}
.vaga .vval small{font-size:12px;color:var(--muted);font-weight:600;}
.vaga .vmatch{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:var(--ok);}
.vaga .vmatch svg{width:14px;height:14px;stroke:var(--ok);}

/* ---------- minhas candidaturas ---------- */
.cand{display:flex;align-items:flex-start;gap:13px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:15px;box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:11px;}
.cand:active{opacity:.7;}
.cand .cic{width:42px;height:42px;border-radius:12px;background:var(--champagne);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;}
.cand .cic svg{width:20px;height:20px;stroke:var(--gold);}
.cand .ct2{flex:1;min-width:0;}
.cand .cn{font-family:'Poppins';font-size:14.5px;font-weight:600;color:var(--cafe-deep);line-height:1.25;}
.cand .cs2{font-size:12.5px;color:var(--muted);margin-top:2px;}
.cand .cd2{font-size:11.5px;color:var(--muted-2);margin-top:4px;}
.cand > span{flex-shrink:0;margin-top:0;}

/* ---------- agenda de plantões ---------- */
.agenda-sum{display:flex;background:linear-gradient(150deg,#FBF2DF,#F4E6C9);border:1.5px solid var(--gold-soft);
  border-radius:18px;padding:16px;margin-bottom:4px;}
.agenda-sum > div{flex:1;text-align:center;}
.agenda-sum > div + div{border-left:1px solid var(--gold-soft);}
.agenda-sum .asn{font-family:'Poppins';font-size:19px;font-weight:700;color:var(--cafe-deep);}
.agenda-sum .asl{font-size:11px;color:var(--muted);font-weight:600;margin-top:2px;}
.ag{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:13px;box-shadow:var(--shadow-sm);cursor:pointer;margin-bottom:11px;}
.ag .ag-date{width:50px;height:56px;border-radius:13px;background:var(--champagne);flex-shrink:0;
  display:flex;flex-direction:column;align-items:center;justify-content:center;}
.ag .ag-date b{font-family:'Poppins';font-size:21px;font-weight:700;color:var(--gold);line-height:1;}
.ag .ag-date small{font-size:9.5px;font-weight:800;color:var(--cafe);letter-spacing:.5px;margin-top:2px;}
.ag .ag-info{flex:1;min-width:0;}
.ag .ag-n{font-family:'Poppins';font-size:14.5px;font-weight:600;color:var(--cafe-deep);}
.ag .ag-meta{font-size:12px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:5px;}
.ag .ag-meta svg{width:13px;height:13px;stroke:var(--gold);flex-shrink:0;}
.ag .ag-loc{font-size:12px;color:var(--muted);margin-top:2px;display:flex;align-items:center;gap:5px;}
.ag .ag-loc svg{width:13px;height:13px;stroke:var(--gold);flex-shrink:0;}
.ag .ag-right{text-align:right;flex-shrink:0;}
.ag .ag-val{font-family:'Poppins';font-size:14.5px;font-weight:700;color:var(--cafe-deep);}
.ag .ag-right .badge-done,.ag .ag-right .badge-pend{margin-top:5px;}

/* ---------- tour de boas-vindas (onboarding) ---------- */
.onb{flex:1;display:flex;flex-direction:column;padding:0 22px 26px;}
.onb-skip{text-align:right;padding:10px 0 0;height:40px;}
.onb-skip span{font-size:13.5px;font-weight:700;color:var(--muted);cursor:pointer;}
.onb-view{flex:1;overflow:hidden;}
.onb-track{display:flex;height:100%;width:100%;transition:transform .42s cubic-bezier(.22,.61,.36,1);}
.onb-slide{flex:0 0 100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 6px;}
.onb-ill{width:150px;height:150px;border-radius:50%;background:linear-gradient(160deg,#F7EFDD,#F0E3C8);
  display:flex;align-items:center;justify-content:center;margin-bottom:30px;box-shadow:var(--shadow-sm);}
.onb-ill svg{width:64px;height:64px;stroke:var(--gold);}
.onb-slide h3{font-family:'Poppins';font-size:23px;font-weight:700;color:var(--cafe-deep);margin-bottom:12px;}
.onb-slide p{font-size:15px;color:var(--muted);line-height:1.6;max-width:280px;}
.onb-dots{display:flex;gap:8px;justify-content:center;margin:24px 0;}
.onb-dots .odot{width:8px;height:8px;border-radius:50%;background:var(--line-2);transition:.25s;}
.onb-dots .odot.on{width:24px;border-radius:5px;background:var(--grad-gold);}

/* ---------- campos de código (confirmação) ---------- */
.code-row{display:flex;gap:12px;justify-content:center;margin:22px 0 6px;}
.code-box{width:56px;height:64px;border-radius:14px;border:1.5px solid var(--line-2);background:var(--card);
  text-align:center;font-family:'Poppins';font-size:26px;font-weight:700;color:var(--cafe-deep);outline:none;transition:.2s;}
.code-box:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,154,63,.13);}

/* ---------- cadastro concluído ---------- */
.ok-seal.seal-img{width:96px;height:96px;margin-bottom:6px;}

/* ---------- crachá profissional digital ---------- */
.cracha{position:relative;overflow:hidden;border-radius:26px;padding:22px 20px 18px;
  background:var(--grad-cafe);box-shadow:0 22px 48px rgba(74,56,38,.34);color:#fff;}
.cracha-shine{position:absolute;top:-60%;left:-30%;width:80%;height:200%;transform:rotate(18deg);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);pointer-events:none;}
.cracha-top{position:relative;display:flex;align-items:center;justify-content:space-between;}
.cracha-brand{font-family:'Poppins';font-weight:800;letter-spacing:1px;font-size:16px;color:#fff;}
.cracha-brand i{color:var(--gold-2);font-style:normal;margin:0 1px;}
.cracha-kind{font-size:9.5px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase;
  color:var(--gold-2);background:rgba(0,0,0,.18);padding:5px 10px;border-radius:20px;}
.cracha-id{position:relative;display:flex;align-items:center;gap:14px;margin-top:18px;}
.cracha-av{width:60px;height:60px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;
  justify-content:center;font-family:'Poppins';font-weight:700;font-size:23px;color:var(--cafe-deep);
  background:linear-gradient(135deg,#F3E5C9,#E2BD72);box-shadow:0 0 0 3px rgba(255,255,255,.3);}
.cracha-info{flex:1;min-width:0;}
.cracha-name{font-family:'Poppins';font-weight:700;font-size:18px;line-height:1.15;}
.cracha-role{font-size:13px;color:rgba(255,255,255,.78);margin-top:2px;}
.cracha-vf{display:inline-flex;align-items:center;gap:5px;margin-top:7px;font-size:10.5px;font-weight:700;
  color:#fff;background:rgba(127,176,105,.34);border:1px solid rgba(255,255,255,.18);padding:4px 9px;border-radius:20px;}
.cracha-vf svg{width:13px;height:13px;stroke:#fff;}
.cracha-seal{width:40px;height:40px;flex-shrink:0;}
.cracha-panel{position:relative;display:flex;gap:14px;align-items:center;margin-top:18px;
  background:#fff;border-radius:18px;padding:13px;}
.cracha-qr{width:82px;height:82px;flex-shrink:0;}
.qr-svg{width:100%;height:100%;display:block;}
.cracha-data{flex:1;display:flex;flex-direction:column;gap:8px;}
.cracha-data div{display:flex;flex-direction:column;}
.cracha-data small{font-size:9.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}
.cracha-data b{font-family:'Poppins';font-size:13px;color:var(--cafe-deep);}
.cracha-foot{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;margin-top:14px;
  font-size:11px;color:rgba(255,255,255,.8);}
.cracha-foot svg{width:14px;height:14px;stroke:var(--gold-2);flex-shrink:0;}

/* ---------- certificado (diploma) ---------- */
.cert-paper{position:relative;background:linear-gradient(165deg,#FFFDF8,#FBF2DF);border-radius:20px;
  border:1.5px solid var(--gold-soft);padding:30px 22px 22px;text-align:center;
  box-shadow:0 16px 38px rgba(110,85,54,.16);overflow:hidden;}
.cert-paper::before{content:"";position:absolute;inset:8px;border:1.5px solid rgba(201,154,63,.35);
  border-radius:14px;pointer-events:none;}
.cert-corner{position:absolute;width:24px;height:24px;border:2.5px solid var(--gold);z-index:1;}
.cert-corner.tl{top:14px;left:14px;border-right:none;border-bottom:none;border-radius:6px 0 0 0;}
.cert-corner.tr{top:14px;right:14px;border-left:none;border-bottom:none;border-radius:0 6px 0 0;}
.cert-corner.bl{bottom:14px;left:14px;border-right:none;border-top:none;border-radius:0 0 0 6px;}
.cert-corner.br{bottom:14px;right:14px;border-left:none;border-top:none;border-radius:0 0 6px 0;}
.cert-brand{position:relative;font-family:'Poppins';font-weight:800;letter-spacing:1px;font-size:15px;color:var(--cafe-deep);}
.cert-brand i{color:var(--gold);font-style:normal;}
.cert-kicker{position:relative;font-family:'Poppins';font-size:12px;font-weight:600;color:var(--gold);
  text-transform:uppercase;letter-spacing:2px;margin-top:9px;}
.cert-seal{position:relative;margin:10px 0 2px;}
.cert-seal-img{width:60px;height:60px;}
.cert-to{position:relative;font-size:12.5px;color:var(--muted);margin-top:4px;}
.cert-name{position:relative;font-family:'Poppins';font-weight:700;font-size:23px;color:var(--cafe-deep);margin:6px 0;}
.cert-desc{position:relative;font-size:13.5px;line-height:1.6;color:var(--ink);max-width:300px;margin:0 auto;}
.cert-desc b{color:var(--cafe);}
.cert-row2{position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:22px;}
.cert-sign{flex:1;border-top:1.5px solid var(--gold-soft);padding-top:6px;}
.cert-sign span{display:block;font-family:'Poppins';font-size:12.5px;font-weight:600;color:var(--cafe-deep);}
.cert-sign small{font-size:10px;color:var(--muted);}
.cert-qr{width:56px;height:56px;flex-shrink:0;}
.cert-code{position:relative;margin-top:16px;font-size:10.5px;letter-spacing:.6px;color:var(--muted);font-weight:600;}
.valid-banner{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;
  font-size:13px;font-weight:700;color:var(--ok);background:rgba(127,176,105,.13);
  border:1px solid rgba(127,176,105,.3);border-radius:14px;padding:12px;}
.valid-banner svg{width:17px;height:17px;stroke:var(--ok);flex-shrink:0;}

/* ---------- mensagens (caixa de entrada) ---------- */
.conv{display:flex;align-items:center;gap:13px;padding:13px 2px;border-bottom:1px solid var(--line);cursor:pointer;}
.conv:last-child{border-bottom:none;}
.conv-av{width:50px;height:50px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:'Poppins';font-weight:700;font-size:18px;color:#fff;background:linear-gradient(135deg,#E2BD72,#C99A3F);}
.conv-av.support{background:var(--grad-cafe);}
.conv-av.support svg{width:23px;height:23px;stroke:var(--gold-2);}
.conv-body{flex:1;min-width:0;}
.conv-top{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.conv-name{font-family:'Poppins';font-size:14.5px;font-weight:600;color:var(--cafe-deep);
  display:flex;align-items:center;gap:5px;min-width:0;}
.conv-vf{display:inline-flex;flex-shrink:0;}
.conv-vf svg{width:14px;height:14px;stroke:var(--gold);}
.conv-time{font-size:11.5px;color:var(--muted-2);flex-shrink:0;}
.conv-prev{font-size:13px;color:var(--muted);margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.conv.unread .conv-prev{color:var(--cafe);font-weight:600;}
.conv-badge{flex-shrink:0;min-width:20px;height:20px;border-radius:10px;background:var(--gold);color:#fff;
  font-size:11.5px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 6px;}

/* ---------- conversa (chat) ---------- */
#conversa{padding-top:0;overflow:hidden;}
.chat-head{display:flex;align-items:center;gap:11px;padding:40px 16px 12px;background:var(--card);
  border-bottom:1px solid var(--line);box-shadow:0 4px 14px rgba(74,56,38,.05);z-index:2;}
.chat-av{width:42px;height:42px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  font-family:'Poppins';font-weight:700;font-size:16px;color:#fff;}
.chat-who{flex:1;min-width:0;}
.chat-name{font-family:'Poppins';font-size:15px;font-weight:600;color:var(--cafe-deep);display:flex;align-items:center;gap:5px;}
.chat-name svg{width:14px;height:14px;stroke:var(--gold);flex-shrink:0;}
.chat-status{font-size:11.5px;color:var(--ok);font-weight:600;}
.chat-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:14px 16px;display:flex;flex-direction:column;gap:9px;
  scrollbar-width:none;background:var(--screen);}
.chat-body::-webkit-scrollbar{display:none;}
.chat-day{align-self:center;font-size:11px;font-weight:700;color:var(--muted);background:var(--champagne);
  padding:4px 12px;border-radius:20px;margin:4px 0;}
.chat-sys{align-self:center;display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--cafe);
  background:rgba(201,154,63,.1);border:1px solid var(--gold-soft);padding:8px 13px;border-radius:14px;
  text-align:center;margin-bottom:4px;max-width:90%;}
.chat-sys svg{width:14px;height:14px;stroke:var(--gold);flex-shrink:0;}
.chat-sys b{color:var(--cafe-deep);}
.msg{max-width:78%;padding:10px 14px;border-radius:18px;}
.msg p{font-size:14px;line-height:1.45;}
.msg span{display:block;font-size:10px;margin-top:4px;text-align:right;opacity:.6;}
.msg.in{align-self:flex-start;background:var(--card);border:1px solid var(--line);color:var(--ink);border-bottom-left-radius:6px;}
.msg.out{align-self:flex-end;background:var(--grad-gold);color:#fff;border-bottom-right-radius:6px;}
.msg.out span{opacity:.85;}
.chat-bar{display:flex;align-items:center;gap:9px;padding:10px 12px 14px;background:var(--card);border-top:1px solid var(--line);}
.chat-attach{width:40px;height:40px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--champagne);cursor:pointer;}
.chat-attach svg{width:19px;height:19px;stroke:var(--cafe);}
.chat-input{flex:1;min-width:0;border:1.5px solid var(--line-2);background:var(--screen);border-radius:22px;padding:11px 16px;
  font-family:'Nunito Sans';font-size:14.5px;color:var(--ink);outline:none;}
.chat-input:focus{border-color:var(--gold);}
.chat-send{width:44px;height:44px;flex-shrink:0;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:var(--grad-gold);box-shadow:var(--shadow-gold);cursor:pointer;}
.chat-send svg{width:19px;height:19px;stroke:#fff;}

/* ---------- Eleve Academy (aba Trilhas) ---------- */
.academy-head{text-align:center;margin-bottom:18px;}
.ah-badge{display:inline-flex;align-items:center;gap:7px;font-family:'Poppins';font-size:11px;font-weight:800;
  letter-spacing:1.5px;color:var(--gold);background:var(--champagne);padding:7px 14px;border-radius:20px;}
.ah-badge svg{width:15px;height:15px;stroke:var(--gold);}
.trilha-feature{position:relative;overflow:hidden;border-radius:24px;padding:22px 20px;text-align:center;
  background:var(--grad-cafe);color:#fff;box-shadow:0 22px 48px rgba(74,56,38,.34);cursor:pointer;}
.tf-glow{position:absolute;top:-40%;right:-20%;width:75%;height:170%;pointer-events:none;
  background:radial-gradient(circle,rgba(226,189,114,.4),transparent 70%);}
.tf-tag{position:relative;display:inline-block;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;
  color:var(--cafe-deep);background:var(--gold-2);padding:5px 12px;border-radius:20px;margin-bottom:12px;}
.tf-ill{position:relative;width:62px;height:62px;margin:0 auto 12px;border-radius:50%;
  background:rgba(255,255,255,.12);display:grid;place-items:center;}
.tf-ill svg{width:31px;height:31px;stroke:var(--gold-2);}
.tf-num{position:relative;font-family:'Poppins';font-size:11.5px;font-weight:700;letter-spacing:1px;
  color:var(--gold-2);text-transform:uppercase;}
.tf-title{position:relative;font-family:'Poppins';font-size:21px;font-weight:700;margin-top:4px;}
.tf-sub{position:relative;font-size:13.5px;color:rgba(255,255,255,.8);margin-top:4px;}
.tf-meta{position:relative;display:flex;justify-content:center;gap:14px;margin:14px 0 16px;flex-wrap:wrap;}
.tf-meta span{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:rgba(255,255,255,.92);}
.tf-meta svg{width:14px;height:14px;stroke:var(--gold-2);}
.trilha-feature .btn{position:relative;}
.jor-fase{font-family:'Poppins';font-size:12.5px;font-weight:700;color:var(--cafe);text-transform:uppercase;
  letter-spacing:.5px;margin:20px 0 8px;}
.trow{display:flex;align-items:center;gap:13px;padding:13px 2px;border-bottom:1px solid var(--line);}
.trow:last-child{border-bottom:none;}
.trow.lock{opacity:.72;}
.tr-num{width:38px;height:38px;flex-shrink:0;border-radius:11px;background:var(--champagne);color:var(--gold);
  font-family:'Poppins';font-weight:800;font-size:15px;display:grid;place-items:center;}
.trow.open .tr-num{background:var(--grad-gold);color:#fff;box-shadow:var(--shadow-gold);}
.tr-body{flex:1;min-width:0;}
.tr-title{font-size:14px;font-weight:600;color:var(--cafe-deep);line-height:1.3;}
.tr-state{font-size:11.5px;color:var(--muted);margin-top:2px;}
.trow.open .tr-state{color:var(--ok);font-weight:700;}
.tr-go{flex-shrink:0;font-family:'Poppins';font-size:12px;font-weight:700;color:#fff;background:var(--grad-gold);
  padding:7px 14px;border-radius:20px;box-shadow:var(--shadow-gold);}
.tr-lock{flex-shrink:0;}
.tr-lock svg{width:18px;height:18px;stroke:var(--muted-2);}
/* trilha concluída */
.trow.done .tr-num{background:var(--ok);color:#fff;box-shadow:0 6px 14px rgba(127,176,105,.3);}
.trow.done .tr-state{color:var(--ok);font-weight:700;}
.tr-done{flex-shrink:0;display:inline-flex;align-items:center;gap:5px;font-family:'Poppins';font-size:11.5px;font-weight:700;
  color:var(--ok);background:rgba(127,176,105,.14);padding:6px 11px;border-radius:20px;}
.tr-done svg{width:14px;height:14px;stroke:var(--ok);fill:none;}

/* ---------- Player de trilha ---------- */
#trilha-player{padding-top:0;overflow:hidden;}
.tp-bar{display:flex;align-items:center;gap:12px;padding:40px 16px 12px;background:var(--screen);
  border-bottom:1px solid var(--line);z-index:2;}
.tp-prog{flex:1;height:8px;border-radius:5px;background:var(--line-2);overflow:hidden;}
.tp-prog i{display:block;height:100%;width:0;border-radius:5px;background:var(--grad-gold);transition:width .45s cubic-bezier(.22,.61,.36,1);}
.tp-xp{display:flex;align-items:center;gap:5px;font-family:'Poppins';font-weight:700;font-size:14px;color:var(--gold);
  background:var(--champagne);padding:6px 12px;border-radius:20px;}
.tp-xp svg{width:15px;height:15px;stroke:var(--gold);}
.tp-scroll{flex:1;overflow-y:auto;overflow-x:hidden;padding:18px 22px 8px;scrollbar-width:none;}
.tp-scroll::-webkit-scrollbar{display:none;}
.tp-foot{display:flex;flex-direction:column;gap:8px;padding:12px 22px 18px;background:var(--screen);border-top:1px solid var(--line);}

/* capa e conclusão */
.tp-cover{text-align:center;padding-top:14px;}
.tp-cover-ill{width:92px;height:92px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;
  background:var(--grad-cafe);box-shadow:0 16px 34px rgba(74,56,38,.3);}
.tp-cover-ill svg{width:44px;height:44px;stroke:var(--gold-2);}
.tp-cover-title{font-family:'Poppins';font-size:25px;font-weight:700;color:var(--cafe-deep);line-height:1.25;margin-bottom:14px;}
.tp-cover p{font-size:15px;line-height:1.65;color:var(--ink);margin-bottom:12px;}

/* aula */
.tp-kicker{font-family:'Poppins';font-size:11.5px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  color:var(--gold);margin-bottom:8px;}
.tp-title{font-family:'Poppins';font-size:21px;font-weight:700;color:var(--cafe-deep);line-height:1.25;margin-bottom:14px;}
.tp-body p{font-size:14.5px;line-height:1.65;color:var(--ink);margin-bottom:12px;}
.tp-bullets{margin:2px 0 6px;}
.tp-bullet{display:flex;gap:10px;align-items:flex-start;padding:9px 0;font-size:14px;color:var(--ink);
  line-height:1.45;border-bottom:1px solid var(--line);}
.tp-bullet:last-child{border-bottom:none;}
.tp-bullet svg{width:18px;height:18px;stroke:var(--ok);flex-shrink:0;margin-top:1px;}
.tp-impacto{margin-top:18px;background:var(--grad-cafe);color:#fff;border-radius:18px;padding:16px 18px;
  display:flex;gap:12px;align-items:center;}
.tp-impacto svg{width:26px;height:26px;stroke:var(--gold-2);flex-shrink:0;}
.tp-impacto p{font-family:'Poppins';font-size:15px;font-weight:600;line-height:1.4;}

/* Método ELEVE */
.metodo{margin:6px 0;}
.metodo-row{display:flex;gap:13px;align-items:flex-start;padding:12px 0;border-bottom:1px solid var(--line);}
.metodo-row:last-child{border-bottom:none;}
.metodo-l{width:38px;height:38px;flex-shrink:0;border-radius:11px;background:var(--grad-gold);color:#fff;
  font-family:'Poppins';font-weight:800;font-size:18px;display:grid;place-items:center;box-shadow:var(--shadow-gold);}
.metodo-t{font-family:'Poppins';font-weight:600;font-size:15px;color:var(--cafe-deep);}
.metodo-d{font-size:13px;color:var(--muted);line-height:1.5;margin-top:2px;}

/* comparação comum × Eleve */
.compare{margin:8px 0;display:flex;flex-direction:column;gap:12px;}
.cmp-pair{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card);}
.cmp{display:flex;gap:10px;align-items:flex-start;padding:11px 14px;font-size:13.5px;line-height:1.45;}
.cmp svg{width:17px;height:17px;flex-shrink:0;margin-top:1px;}
.cmp.comum{color:var(--muted);background:var(--screen);}
.cmp.comum svg{stroke:var(--muted-2);}
.cmp.eleve{color:var(--cafe-deep);font-weight:600;border-top:1px solid var(--line);}
.cmp.eleve svg{stroke:var(--ok);}

/* código de cultura */
.codigo{margin:6px 0;}
.codigo-row{display:flex;gap:12px;align-items:center;padding:10px 0;border-bottom:1px solid var(--line);
  font-size:14px;color:var(--ink);}
.codigo-row:last-child{border-bottom:none;}
.codigo-n{width:26px;height:26px;flex-shrink:0;border-radius:50%;background:var(--champagne);color:var(--gold);
  font-family:'Poppins';font-weight:700;font-size:13px;display:grid;place-items:center;}

/* desafio */
.challenge-card{background:var(--grad-cafe);color:#fff;border-radius:20px;padding:18px;margin-top:4px;}
.ch-ic{width:48px;height:48px;border-radius:14px;background:rgba(255,255,255,.14);display:grid;place-items:center;margin-bottom:12px;}
.ch-ic svg{width:26px;height:26px;stroke:var(--gold-2);}
.challenge-card .tp-body p{color:rgba(255,255,255,.92);}
.challenge-card .tp-body p:last-child{margin-bottom:0;}

/* quiz */
.quiz-q{font-family:'Poppins';font-size:18px;font-weight:600;color:var(--cafe-deep);line-height:1.35;margin:4px 0 16px;}
.quiz-opts{display:flex;flex-direction:column;gap:10px;}
.quiz-opt{display:flex;gap:12px;align-items:center;padding:14px;border:1.5px solid var(--line-2);border-radius:15px;
  background:var(--card);cursor:pointer;transition:border-color .15s,background .15s;}
.quiz-let{width:28px;height:28px;flex-shrink:0;border-radius:8px;background:var(--champagne);color:var(--cafe);
  font-family:'Poppins';font-weight:700;font-size:14px;display:grid;place-items:center;transition:.15s;}
.quiz-txt{font-size:14px;color:var(--ink);line-height:1.4;}
.quiz-opt.sel{border-color:var(--gold);background:var(--champagne);}
.quiz-opt.sel .quiz-let{background:var(--grad-gold);color:#fff;}
.quiz-opt.locked{cursor:default;}
.quiz-opt.correct{border-color:var(--ok);background:rgba(127,176,105,.12);}
.quiz-opt.correct .quiz-let{background:var(--ok);color:#fff;}
.quiz-opt.wrong{border-color:#E0A99B;background:rgba(194,84,63,.08);}
.quiz-opt.wrong .quiz-let{background:#C2543F;color:#fff;}
.quiz-explain{display:none;margin-top:14px;border-radius:14px;padding:14px;font-size:13.5px;line-height:1.55;}
.quiz-explain.show{display:block;}
.quiz-explain b{display:block;font-family:'Poppins';font-size:14px;margin-bottom:4px;}
.quiz-explain.ok{background:rgba(127,176,105,.12);color:var(--cafe-deep);border:1px solid rgba(127,176,105,.3);}
.quiz-explain.ok b{color:var(--ok);}
.quiz-explain.no{background:rgba(201,154,63,.1);color:var(--cafe-deep);border:1px solid var(--gold-soft);}
.quiz-explain.no b{color:var(--gold);}

/* conclusão / recompensa */
.tp-done{text-align:center;padding-top:8px;}
.tp-done-ill{margin-bottom:4px;display:flex;justify-content:center;}
.tp-done-seal.seal-img{width:104px;height:104px;margin:0 auto;}
.tp-done-text{font-size:14.5px;line-height:1.6;color:var(--ink);max-width:300px;margin:8px auto 0;}
.reward-card{margin:18px 0;background:var(--card);border:1.5px solid var(--gold-soft);border-radius:18px;padding:6px 16px;text-align:left;}
.reward-row{display:flex;gap:13px;align-items:center;padding:12px 0;border-bottom:1px solid var(--line);}
.reward-row:last-child{border-bottom:none;}
.reward-row svg{width:24px;height:24px;stroke:var(--gold);flex-shrink:0;}
.reward-row small{display:block;font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.4px;}
.reward-row b{font-family:'Poppins';font-size:14.5px;color:var(--cafe-deep);}
.tp-done-quote{font-family:'Poppins';font-size:14px;font-weight:600;color:var(--cafe);line-height:1.5;margin-top:6px;}

.btn:disabled{opacity:.5;box-shadow:none;cursor:default;}

/* ---------- toast ---------- */
.toast{position:absolute;left:50%;bottom:108px;transform:translateX(-50%) translateY(140px);
  background:var(--cafe-deep);color:var(--champagne);padding:13px 20px;border-radius:14px;
  font-size:13.5px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.3);
  transition:transform .38s cubic-bezier(.22,.61,.36,1);z-index:60;max-width:80%;text-align:center;}
.toast.show{transform:translateX(-50%) translateY(0);}

/* ---------- cofre de documentos ---------- */
.file-chip{margin-top:12px;background:var(--champagne);color:var(--cafe-deep);
  border:1px solid var(--line-2);border-radius:12px;padding:11px 14px;font-size:13px;
  font-weight:700;word-break:break-all;}
.doc-row{display:flex;align-items:center;gap:12px;padding:13px 2px;border-bottom:1px solid var(--line);}
.doc-row:last-child{border-bottom:none;}
.doc-ic{width:40px;height:40px;flex:0 0 40px;border-radius:12px;background:var(--champagne);
  display:flex;align-items:center;justify-content:center;}
.doc-ic svg{width:19px;height:19px;stroke:var(--gold);}
.doc-info{flex:1;min-width:0;}
.doc-nome{font-size:14px;font-weight:700;color:var(--cafe-deep);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.doc-data{font-size:11.5px;color:var(--muted);margin-top:3px;display:flex;align-items:center;gap:7px;flex-wrap:wrap;}
.doc-badge{font-size:10.5px;font-weight:800;padding:2px 8px;border-radius:20px;}
.doc-badge.ok{background:rgba(127,176,105,.18);color:#5C8C45;}
.doc-badge.no{background:rgba(196,86,86,.16);color:#B2503F;}
.doc-badge.wait{background:var(--champagne-2);color:var(--gold);}
.doc-acts{display:flex;align-items:center;gap:8px;flex:0 0 auto;}
.doc-link{background:none;border:none;color:var(--gold);font-weight:800;font-size:13px;cursor:pointer;font-family:inherit;}
.doc-del{background:none;border:none;color:var(--muted-2);font-size:15px;cursor:pointer;line-height:1;padding:4px;}
.doc-del:hover{color:#B2503F;}
.doc-empty{text-align:center;color:var(--cafe);font-size:14px;font-weight:700;padding:20px 6px;}
.doc-empty span{font-size:12.5px;font-weight:600;color:var(--muted);}

/* ícone de selo conquistado (tela Conquistas) */
.conq .cs-ic{display:flex;align-items:center;justify-content:center;width:56px;height:56px;margin:0 auto 6px;
  border-radius:50%;background:var(--champagne-2);}
.conq .cs-ic svg{width:30px;height:30px;stroke:var(--gold);fill:none;}

/* =========================================================
   CELULAR REAL / APP INSTALADO (PWA)
   Em telas pequenas o app ocupa tudo: sem moldura, sem barra
   falsa, respeitando o entalhe (notch) e a barra de gestos.
   No desktop continua aparecendo a moldura bonita de celular.
   ========================================================= */
@media (max-width: 460px){
  body{ padding:0; background:var(--screen); min-height:100vh; min-height:100dvh; }
  .phone{
    width:100vw; max-width:100vw;
    height:100vh; height:100dvh; max-height:none;
    border:0; border-radius:0; box-shadow:none;
  }
  .statusbar{ display:none; }                                   /* o sistema já mostra a sua */
  .screen{ padding-top: max(34px, env(safe-area-inset-top)); }  /* não fica embaixo do notch */
  .tabbar{ bottom: max(14px, env(safe-area-inset-bottom)); }    /* acima da barra de gestos */
}

/* pontinho de "tem notificação nova" no sininho da Home */
.notif-dot{
  position:absolute; top:6px; right:6px; width:9px; height:9px; border-radius:50%;
  background:#E5484D; border:2px solid var(--screen); box-shadow:0 0 0 1px rgba(229,72,77,.3);
}

/* lista de notificações reais */
.nlist .notif{ position:relative; }
.notif.unread{ background:rgba(205,162,74,.07); border-radius:12px; }
.notif.unread .ni::after{
  content:''; position:absolute; left:30px; top:14px; width:8px; height:8px;
  border-radius:50%; background:#CDA24A; border:2px solid var(--screen);
}
.notif-clear{ text-align:center; font-size:13px; color:var(--muted); cursor:pointer; padding:10px; font-weight:600; }
.notif-clear:hover{ color:var(--gold); }

/* imagens de produto na Loja */
.prod .pthumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.prod-hero{ overflow:hidden; }
.prod-hero img{ width:100%; height:100%; object-fit:cover; display:block; }
.store-feature .sf-thumb{ width:100%; height:168px; object-fit:cover; border-radius:15px; margin-bottom:10px; display:block; }
