:root{
  --paper:#E7DECD; --surface:#FBF7EF; --surface-2:#F2EADB; --white:#FFFFFF;
  --ink:#1C1815; --muted:#8B8072; --faint:#B4A891;
  --line:rgba(28,24,21,.14); --line-2:rgba(28,24,21,.24);
  --red:#A81E27; --wine:#6E1822; --wine-2:#4E121A; --gold:#A2854A;
  --sage:#4E6B54; --amber:#9A6B1E; --slate:#4A5A68;
  --didot:"Didot","Bodoni 72","Bodoni MT","GFS Didot",Georgia,"Times New Roman",serif;
  --sans:ui-sans-serif,-apple-system,"Helvetica Neue","Segoe UI",Roboto,Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  color-scheme:light;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}
body{font-family:var(--sans);color:var(--ink);background:var(--paper);line-height:1.5;-webkit-font-smoothing:antialiased;font-size:15px}
.hidden{display:none!important}
.didot{font-family:var(--didot);font-weight:400}
.eyebrow{font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--muted);font-weight:600}
.tabular{font-variant-numeric:tabular-nums}
.demo{font-family:var(--mono);font-size:8px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint);border:1px solid var(--line);border-radius:3px;padding:1px 5px}
svg{display:block}.ic{width:17px;height:17px;stroke:currentColor;stroke-width:1.5;fill:none;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
.wrap{max-width:1160px;margin:0 auto;padding:0 24px 60px}

.top{display:flex;align-items:center;gap:14px;padding:18px 0;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--paper);z-index:20}
.logo .lg{font-family:var(--didot);font-size:24px;color:var(--ink);line-height:.9}
.logo .sb{font-size:9px;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-top:5px}
.excl{font-size:9.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--wine);border:1px solid var(--line-2);border-radius:2px;padding:5px 10px;font-weight:600}
.top-right{margin-left:auto;display:flex;align-items:center;gap:14px}
.saldo{text-align:right}
.saldo .sl{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.saldo .sv{font-family:var(--didot);font-size:19px;color:var(--sage)}
.me{width:38px;height:38px;background:var(--wine);color:#F3E7D2;display:flex;align-items:center;justify-content:center;font-family:var(--didot);font-size:16px}
.logout{background:none;border:1px solid var(--line-2);color:var(--muted);font:600 11px var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:7px 12px;cursor:pointer}

/* hero */
.hero{background:var(--wine);color:#F4E9D6;display:grid;grid-template-columns:1.35fr .65fr;margin-top:22px}
.hero .ht{padding:40px 40px}
.hero .eyebrow{color:rgba(244,233,214,.7)}
.hero h1{font-family:var(--didot);font-weight:400;font-size:clamp(34px,4.8vw,54px);line-height:1;color:#FBF1DE;margin:14px 0 0}
.hero h1 i{font-style:italic;color:#E9C98F}
.hero p{color:rgba(244,233,214,.85);font-size:14.5px;margin-top:18px;max-width:44ch;line-height:1.6}
.hero .hbtn{margin-top:22px;background:#F4E9D6;color:var(--wine-2);border:none;padding:14px 24px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;cursor:pointer}
.hpay{background:var(--wine-2);border-left:1px solid rgba(244,233,214,.14);padding:30px 30px;display:flex;flex-direction:column;justify-content:center}
.hpay .pk{font-size:9.5px;letter-spacing:.16em;text-transform:uppercase;color:rgba(244,233,214,.65)}
.hpay .pv{font-family:var(--didot);font-size:28px;color:#fff;margin:5px 0 2px}
.hpay .pd{font-size:11.5px;color:rgba(244,233,214,.78)}
.hpay hr{border:none;border-top:1px solid rgba(244,233,214,.18);margin:16px 0}
.hpay .pv.b{color:#E9C98F}

.earn{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line-2);border-top:none;background:var(--white)}
.ecard{padding:16px 18px;border-right:1px solid var(--line)}
.ecard:last-child{border-right:none}
.ecard .el{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ecard .ev{font-family:var(--didot);font-size:24px;margin-top:5px}
.ev.g{color:var(--sage)} .ev.r{color:var(--wine)} .ev.a{color:var(--amber)}

.blockhead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:38px 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line-2)}
.blockhead h2{font-family:var(--didot);font-weight:400;font-size:26px}
.blockhead .sub{font-size:11px;letter-spacing:.06em;color:var(--muted)}
.see{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--wine);cursor:pointer;font-weight:600;background:none;border:none}

.how{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line-2);background:var(--white)}
.howc{padding:22px 20px;border-right:1px solid var(--line)}
.howc:last-child{border-right:none}
.howc .n{font-family:var(--didot);font-size:30px;color:var(--wine);line-height:1}
.howc h4{font-family:var(--didot);font-weight:400;font-size:19px;margin:8px 0 5px}
.howc p{font-size:12.5px;color:var(--muted);line-height:1.55}

.cols{display:grid;grid-template-columns:1fr 312px;gap:28px;margin-top:38px;align-items:start}

/* dados / formulário */
.dados{border:1px solid var(--line-2);background:var(--white);padding:22px 24px}
.dados .drow{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.field{margin-bottom:2px}
.field label{display:block;font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:12px 0 6px}
.field input{width:100%;background:var(--surface);border:1px solid var(--line-2);padding:12px 13px;font-family:var(--sans);font-size:14.5px;color:var(--ink)}
.field input:focus{outline:none;border-color:var(--gold)}
.dados .save{margin-top:18px;background:var(--wine);color:#F4E9D6;border:none;padding:13px 26px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer}
.dados-hint{font-size:12px;color:var(--muted);margin-top:10px;line-height:1.5}
.pill-ok{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--sage);border:1px solid rgba(78,107,84,.4);padding:3px 9px}
.pill-warn{display:inline-block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--amber);border:1px solid rgba(154,107,30,.4);padding:3px 9px}

/* campanhas */
.camps{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line-2);background:var(--white)}
.camp{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;position:relative}
.camps .camp:nth-child(2n){border-right:none}
.ctype{font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;padding:3px 8px;border:1px solid;align-self:flex-start}
.ctype.anuncio{color:var(--red);border-color:rgba(168,30,39,.4)} .ctype.depoimento{color:var(--sage);border-color:rgba(78,107,84,.4)} .ctype.bastidor{color:var(--slate);border-color:rgba(74,90,104,.4)}
.camp h3{font-family:var(--didot);font-weight:400;font-size:21px;margin:12px 0 6px;line-height:1.1}
.camp .brief{font-size:12.5px;color:var(--muted);line-height:1.55;flex:1}
.reward{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:12px 0;margin:14px 0}
.reward .rl{font-size:9px;letter-spacing:.1em;text-transform:uppercase;color:var(--faint)}
.reward .rv{font-family:var(--didot);font-size:20px;margin-top:3px}
.reward .rv b{color:var(--sage)} .reward .rv .bonus{color:var(--amber);font-size:16px}
.camp .cfoot{display:flex;align-items:center;justify-content:space-between;gap:8px}
.camp .prazo{font-size:10.5px;letter-spacing:.04em;color:var(--muted)}
.camp .cbtn{background:var(--wine);color:#F4E9D6;border:none;padding:10px 18px;font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;cursor:pointer}
.camp .inativa{position:absolute;top:14px;right:14px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px solid var(--line);padding:2px 7px}
.cadmin{display:flex;gap:6px;margin-top:10px}
.cadmin button{background:none;border:1px solid var(--line);color:var(--muted);font:700 9px var(--sans);letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;cursor:pointer}
.cadmin button:hover{color:var(--wine);border-color:var(--wine)}

/* meus vídeos */
.vids{border:1px solid var(--line-2);background:var(--white);padding:0 18px}
.vrow{display:flex;align-items:center;gap:15px;padding:15px 0;border-bottom:1px solid var(--line)}
.vrow:last-child{border-bottom:none}
.vthumb{width:44px;height:44px;flex:0 0 auto;background:var(--ink);color:rgba(244,233,214,.7);display:flex;align-items:center;justify-content:center;border-radius:3px}
.vthumb .ic{width:15px;height:15px}
.vinfo{flex:1;min-width:0}.vinfo .vt{font-weight:600;font-size:14px}.vinfo .vd{font-size:11px;color:var(--muted);margin-top:2px}
.vinfo a{color:var(--wine);text-decoration:none;font-size:11px}
.vstat{font-size:9px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;padding:3px 8px;border:1px solid;white-space:nowrap}
.vstat.pago{color:var(--sage);border-color:rgba(78,107,84,.4)}.vstat.em_analise{color:var(--amber);border-color:rgba(154,107,30,.4)}.vstat.aprovado{color:var(--sage);border-color:rgba(78,107,84,.4)}.vstat.ajustar{color:var(--red);border-color:rgba(168,30,39,.4)}.vstat.reprovado{color:var(--muted);border-color:var(--line-2)}
.vval{font-family:var(--didot);font-size:16px;color:var(--sage);min-width:64px;text-align:right}
.emptymsg{padding:22px;text-align:center;color:var(--muted);font-size:13.5px}

/* rail */
.rcard{border:1px solid var(--line);background:var(--surface);padding:17px}
.rcard + .rcard{margin-top:18px}
.rcard h3{font-size:10.5px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;margin-bottom:14px;display:flex;align-items:center}
.balance{background:var(--wine-2);color:#F1E4CE;border-color:var(--wine)}
.balance .bl{font-size:9.5px;letter-spacing:.12em;text-transform:uppercase;color:rgba(241,228,206,.7)}
.balance .bv{font-family:var(--didot);font-size:40px;color:#fff;margin:3px 0 12px}
.balance .brow{display:flex;justify-content:space-between;font-size:12px;color:rgba(241,228,206,.85);padding:7px 0;border-top:1px solid rgba(241,228,206,.14)}
.balance .cash{margin-top:14px;background:#F4E9D6;color:var(--wine-2);border:none;padding:12px;font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:700;cursor:pointer;width:100%}
.rulelist{display:flex;flex-direction:column}
.rulelist div{font-size:12px;color:var(--ink);line-height:1.5;padding:8px 0;border-top:1px solid var(--line);display:flex;gap:10px}
.rulelist div:first-child{border-top:none}
.rulelist .k{color:var(--sage);font-weight:700}

/* curadoria (admin) */
.cur{border:1px solid var(--wine);background:var(--white)}
.currow{padding:16px 18px;border-bottom:1px solid var(--line)}
.currow:last-child{border-bottom:none}
.curtop{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.curtop .who{font-weight:700;font-size:14px}
.curtop .camp-t{font-size:12.5px;color:var(--muted)}
.curdata{display:flex;flex-wrap:wrap;gap:6px 16px;margin:9px 0;font-size:12px;color:var(--ink)}
.curdata b{color:var(--wine)}
.curdata .copy{cursor:pointer;border-bottom:1px dashed var(--line-2)}
.curactions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.curactions a.vlink{background:var(--ink);color:#F4E9D6;text-decoration:none;padding:8px 14px;font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;font-weight:700}
.curactions input{width:90px;background:var(--surface);border:1px solid var(--line-2);padding:8px 10px;font-family:var(--sans);font-size:13px}
.curactions button{border:1px solid var(--line-2);background:none;padding:8px 12px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;font-weight:700;cursor:pointer}
.curactions .bok{border-color:var(--sage);color:var(--sage)} .curactions .baj{border-color:var(--amber);color:var(--amber)} .curactions .bno{border-color:var(--muted);color:var(--muted)} .curactions .bpay{background:var(--sage);color:#fff;border-color:transparent}
.curfilter{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.curfilter button{background:none;border:1px solid var(--line-2);color:var(--muted);font:700 10px var(--sans);letter-spacing:.06em;text-transform:uppercase;padding:6px 11px;cursor:pointer}
.curfilter button.on{background:var(--wine);color:#F4E9D6;border-color:transparent}

/* login */
.login-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px;background:var(--wine)}
.login-card{background:var(--surface);width:100%;max-width:400px;padding:40px 32px;text-align:center;box-shadow:0 30px 70px rgba(0,0,0,.35)}
.login-card .em{font-size:32px}
.login-card h1{font-family:var(--didot);font-weight:400;font-size:30px;color:var(--wine);margin:8px 0 4px}
.login-card .sub{color:var(--muted);font-size:14px;margin-bottom:22px;line-height:1.5}
.login-card label{display:block;text-align:left;font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:7px}
.login-card input{width:100%;background:var(--white);border:1px solid var(--line-2);padding:14px 15px;font-family:var(--sans);font-size:16px;color:var(--ink)}
.login-card input:focus{outline:none;border-color:var(--gold)}
.btn-main{width:100%;margin-top:16px;background:var(--wine);color:#F4E9D6;border:none;padding:15px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;cursor:pointer}
.btn-main:disabled{opacity:.6;cursor:default}
.login-hint{font-size:12px;color:var(--muted);margin-top:16px}
.msg-error{background:#fbeaea;border:1px solid #e0b4b4;color:#8a2b2b;padding:11px 14px;font-size:13px;margin-top:14px;text-align:left}
.msg-ok{background:#eaf3ec;border:1px solid #bcd8c2;color:#2f5c3a;padding:11px 14px;font-size:13px;margin-top:14px;text-align:left}

/* modal */
.overlay{position:fixed;inset:0;background:rgba(28,12,16,.6);display:flex;align-items:center;justify-content:center;padding:20px;z-index:60}
.modal{background:var(--surface);width:100%;max-width:480px;max-height:90vh;overflow:auto;padding:28px}
.modal h3{font-family:var(--didot);font-weight:400;font-size:24px;color:var(--wine);margin-bottom:6px}
.modal .msub{font-size:13px;color:var(--muted);margin-bottom:16px}
.modal label{display:block;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700;margin:13px 0 6px}
.modal input,.modal textarea,.modal select{width:100%;background:var(--white);border:1px solid var(--line-2);padding:11px 13px;font-family:var(--sans);font-size:14px;color:var(--ink);resize:vertical}
.modal input:focus,.modal textarea:focus{outline:none;border-color:var(--gold)}
.modal .mrow{display:flex;gap:16px;margin-top:22px}
.modal .mrow2{display:flex;gap:16px}.modal .mrow2 > div{flex:1}
.modal .mrow button{flex:1;padding:13px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;cursor:pointer;border:1px solid var(--line-2)}
.modal .cancel{background:none;color:var(--muted)}
.modal .save{background:var(--wine);color:#F4E9D6;border-color:transparent}

.tips{background:var(--ink);color:#EFE3CE;padding:26px 28px;margin-top:38px}
.tips h2{font-family:var(--didot);font-weight:400;font-size:22px;color:#F6ECD6}
.tg{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:16px;border-top:1px solid rgba(239,227,206,.16)}
.tg div{font-size:12.5px;color:#E4D8C2;padding:12px 0;padding-right:24px;border-bottom:1px solid rgba(239,227,206,.1);display:flex;gap:10px}
.tg .k{color:#D9B77E;font-family:var(--didot);font-size:15px;line-height:1}
.tips .voice{font-family:var(--didot);font-style:italic;color:#D9B77E;margin-top:18px;font-size:15px}

.spinner{width:34px;height:34px;border:3px solid var(--line);border-top-color:var(--wine);border-radius:50%;animation:spin .8s linear infinite;margin:50px auto}
@keyframes spin{to{transform:rotate(360deg)}}

@media(max-width:900px){ .hero{grid-template-columns:1fr}.earn{grid-template-columns:1fr 1fr}.ecard:nth-child(2){border-right:none}.ecard:nth-child(1),.ecard:nth-child(2){border-bottom:1px solid var(--line)}
  .how{grid-template-columns:1fr}.howc{border-right:none;border-bottom:1px solid var(--line)} .cols{grid-template-columns:1fr}.camps{grid-template-columns:1fr}.camp{border-right:none}.dados .drow{grid-template-columns:1fr}.tg{grid-template-columns:1fr} }
@media(max-width:560px){ .earn{grid-template-columns:1fr 1fr} .saldo,.excl{display:none} }
