:root{
  --capim:#2D3A1F; --tabaco:#4A3829; --oleo:#0F0E0C;
  --areia:#E8DFCB; --latao:#A8884A; --marinho:#1F2A3B;
  --papel:#F4EEE1; --papel-2:#EDE4D0; --linha:#CDBFA0;
  --serif:'Lora',Georgia,serif; --sans:'Hanken Grotesk',system-ui,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0;}
html,body{height:100%;}
body{
  font-family:var(--sans);color:var(--oleo);background-color:var(--areia);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.035'/%3E%3C/svg%3E");
  line-height:1.55;-webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.2;color:var(--capim);}
a{color:var(--tabaco);}
::selection{background:var(--latao);color:var(--papel);}

/* NAV, desktop em UMA LINHA. Mobile usa .bottom-nav e esta some. */
.app-nav{background:var(--capim);color:var(--areia);padding:0 22px;display:flex;
  align-items:center;gap:4px;flex-wrap:nowrap;border-bottom:3px solid var(--latao);
  position:sticky;top:0;z-index:50;min-height:56px;}
.app-nav .nav-primary{display:flex;align-items:center;gap:2px;flex:0 1 auto;min-width:0;overflow:hidden;}
.app-nav .nav-spacer{flex:1 1 auto;}
.app-nav .nav-cta{background:var(--latao);color:var(--capim);border:none;padding:9px 16px;
  border-radius:3px;font-weight:600;cursor:pointer;font-size:13.5px;margin-left:8px;white-space:nowrap;min-height:40px;}
.app-nav .nav-cta:hover{filter:brightness(1.05);}
@media(max-width:1023px){
  .app-nav{display:none;}
  body{padding-bottom:calc(68px + env(safe-area-inset-bottom,0));}
}
.brand{font-family:var(--serif);font-size:20px;font-weight:600;color:var(--areia);
  padding:14px 18px 14px 0;margin-right:6px;display:flex;align-items:center;gap:9px;white-space:nowrap;}
.brand .mark{width:13px;height:13px;background:var(--latao);transform:rotate(45deg);
  display:inline-block;flex:none;}
.brand .brand-mark{height:1em;width:auto;max-width:none;display:inline-block;flex:none;object-fit:contain;image-rendering:auto;}
@media(max-width:640px){
  .brand{font-size:17px;gap:7px;padding:14px 14px 14px 0;min-width:0;}
}
.navlink{background:none;border:none;cursor:pointer;font-family:var(--sans);
  font-size:13px;font-weight:500;color:#C9C3AC;padding:16px 11px;min-height:44px;position:relative;
  border-bottom:3px solid transparent;margin-bottom:-3px;transition:color .15s,border-color .15s;white-space:nowrap;}
.navlink:hover{color:var(--areia);}
.navlink.active{color:var(--areia);border-bottom-color:var(--latao);}
.nav-dot{position:absolute;top:12px;right:4px;width:8px;height:8px;border-radius:50%;background:#e05a3f;box-shadow:0 0 0 2px var(--capim);}

/* BOTTOM NAV (mobile) */
.bottom-nav{display:none;position:fixed;left:0;right:0;bottom:0;z-index:60;
  background:var(--capim);color:var(--areia);border-top:2px solid var(--latao);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom,0));
  grid-template-columns:repeat(5,1fr);gap:2px;}
@media(max-width:1023px){ .bottom-nav{display:grid;} }
.bnav-item{background:none;border:none;color:#C9C3AC;cursor:pointer;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:2px;padding:6px 4px;min-height:56px;font-family:var(--sans);}
.bnav-item.active{color:var(--areia);}
.bnav-item.active .bnav-lbl{font-weight:600;}
.bnav-ico{position:relative;display:inline-flex;align-items:center;justify-content:center;height:24px;}
.bnav-ico .nav-dot{top:-2px;right:-4px;box-shadow:0 0 0 2px var(--capim);}
.bnav-lbl{font-size:11px;letter-spacing:.01em;line-height:1;}

/* FAB */
.fab-nova{position:fixed;right:18px;bottom:calc(80px + env(safe-area-inset-bottom,0));z-index:65;
  width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;
  background:var(--latao);color:var(--capim);box-shadow:0 6px 16px rgba(0,0,0,.25);
  display:flex;align-items:center;justify-content:center;transition:transform .15s;}
.fab-nova:hover{transform:scale(1.05);}
.fab-nova:active{transform:scale(.96);}
@media(min-width:1024px){
  .fab-nova{bottom:24px;}
}

/* MORE SHEET */
.more-sheet{position:fixed;inset:0;z-index:80;display:none;}
.more-sheet.open{display:block;}
.more-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45);animation:fadeIn .18s ease;}
.more-panel{position:absolute;left:0;right:0;bottom:0;background:var(--papel);
  border-top-left-radius:14px;border-top-right-radius:14px;
  max-height:82vh;overflow-y:auto;padding:8px 14px 24px;
  box-shadow:0 -8px 24px rgba(0,0,0,.18);animation:slideUp .22s ease;
  padding-bottom:calc(24px + env(safe-area-inset-bottom,0));}
@media(min-width:1024px){
  .more-panel{left:auto;right:22px;bottom:auto;top:60px;width:280px;max-height:70vh;
    border-radius:8px;padding:8px;}
  .more-backdrop{background:transparent;}
}
.more-head{display:flex;align-items:center;justify-content:space-between;padding:12px 6px 8px;}
.more-title{font-family:var(--serif);font-size:18px;font-weight:600;color:var(--capim);}
.more-close{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:var(--tabaco);padding:4px 10px;min-width:44px;min-height:44px;}
.more-list{display:flex;flex-direction:column;gap:2px;padding:4px 0;}
.more-extras{border-top:1px solid var(--linha);margin-top:8px;padding-top:8px;}
.more-item{display:flex;align-items:center;gap:12px;background:none;border:none;
  text-align:left;padding:12px 10px;min-height:48px;cursor:pointer;
  color:var(--capim);font-family:var(--sans);font-size:14.5px;border-radius:6px;
  text-decoration:none;}
.more-item:hover{background:rgba(74,56,41,.06);}
.more-item.active{background:rgba(180,130,50,.14);color:var(--capim);font-weight:600;}
.more-ico{display:inline-flex;align-items:center;justify-content:center;color:var(--tabaco);flex:none;width:24px;}
.more-lbl{flex:1;}
.more-uso{padding:10px 6px 4px;}
body.sheet-open{overflow:hidden;}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes slideUp{from{transform:translateY(24px);opacity:0}to{transform:translateY(0);opacity:1}}

/* LAYOUT */
.wrap{max-width:920px;margin:0 auto;padding:38px 22px 90px;}
.pagehead{margin-bottom:26px;}
.pagehead .eyebrow{font-size:11.5px;letter-spacing:2.4px;text-transform:uppercase;
  color:var(--latao);font-weight:700;margin-bottom:7px;}
.pagehead h1{font-size:31px;}
.pagehead p{color:var(--tabaco);margin-top:6px;max-width:62ch;font-size:15.5px;line-height:1.6;}

/* CARDS */
.card{background:var(--papel);border:1px solid var(--linha);border-radius:3px;
  padding:24px 26px;margin-bottom:16px;box-shadow:2px 3px 0 rgba(74,56,41,.07);}
.card h3{font-size:19px;margin-bottom:3px;}
.card .sub{color:var(--tabaco);font-size:14.5px;line-height:1.6;margin-bottom:16px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
@media(max-width:1023px){.grid-3,.grid-2{grid-template-columns:1fr;}}
.stat{background:var(--papel);border:1px solid var(--linha);border-radius:3px;
  padding:20px;box-shadow:2px 3px 0 rgba(74,56,41,.07);}
.stat .num{font-family:var(--serif);font-size:32px;color:var(--capim);line-height:1;}
.stat .lbl{font-size:12.5px;letter-spacing:1.1px;text-transform:uppercase;
  color:var(--tabaco);margin-top:8px;font-weight:600;}
.stat .meta{font-size:13.5px;color:var(--tabaco);margin-top:4px;}

/* FORMS */
label{display:block;font-size:13.5px;font-weight:600;color:var(--tabaco);
  margin-bottom:5px;letter-spacing:.3px;}
.hint{font-weight:400;color:#6B5A3E;font-size:13px;}
input[type=text],input[type=number],input[type=email],input[type=date],textarea,select{
  width:100%;font-family:var(--sans);font-size:14px;color:var(--oleo);
  background:var(--papel-2);border:1px solid var(--linha);border-radius:2px;
  padding:10px 12px;margin-bottom:15px;transition:border-color .15s,background .15s;}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--latao);background:#fff;}
textarea{resize:vertical;min-height:74px;line-height:1.5;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:1023px){.field-row{grid-template-columns:1fr;}}
.radio-row{display:flex;gap:18px;margin-bottom:15px;flex-wrap:wrap;}
.radio-row label{display:flex;align-items:center;gap:7px;font-weight:500;
  color:var(--oleo);margin:0;cursor:pointer;font-size:14px;}
.radio-row input{width:auto;margin:0;}
.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:500;
  color:var(--oleo);cursor:pointer;margin-bottom:15px;}
.chk input{width:auto;margin:0;}
.q-block{border-left:3px solid var(--latao);padding-left:15px;margin-bottom:18px;}
.q-block label{font-size:13.5px;color:var(--capim);font-family:var(--serif);
  font-weight:600;margin-bottom:7px;}

/* BUTTONS */
.btn{font-family:var(--sans);font-size:13.5px;font-weight:600;letter-spacing:.4px;
  cursor:pointer;border-radius:2px;padding:11px 20px;border:1px solid var(--capim);
  background:var(--capim);color:var(--areia);transition:transform .12s,box-shadow .12s,background .15s;
  box-shadow:2px 2px 0 rgba(15,14,12,.25);}
.btn:hover{transform:translate(-1px,-1px);box-shadow:3px 3px 0 rgba(15,14,12,.3);}
.btn:active{transform:translate(1px,1px);box-shadow:1px 1px 0 rgba(15,14,12,.25);}
.btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none;}
.btn.ghost{background:transparent;color:var(--capim);box-shadow:none;border-color:var(--linha);}
.btn.ghost:hover{background:var(--papel-2);box-shadow:none;}
.btn.brass{background:var(--latao);border-color:var(--latao);color:var(--oleo);}
.btn.danger{background:transparent;color:#7a2e22;border-color:#c89a8e;box-shadow:none;}
.btn.danger:hover{background:#f3e3df;box-shadow:none;}
.btn.sm{padding:8px 14px;font-size:13px;}
.btn-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}

.empty{text-align:center;padding:40px 20px;color:var(--tabaco);
  border:1px dashed var(--linha);border-radius:3px;background:var(--papel);}
.empty p{margin-bottom:14px;font-size:14px;}

/* WIZARD */
.steps{display:flex;margin-bottom:26px;border:1px solid var(--linha);
  border-radius:3px;overflow:hidden;}
.step{flex:1;text-align:center;padding:12px 6px;font-size:11px;font-weight:600;
  letter-spacing:.2px;color:var(--tabaco);background:var(--papel);
  border-right:1px solid var(--linha);}
.step:last-child{border-right:none;}
.step.active{background:var(--capim);color:var(--areia);}
.step.done{background:var(--papel-2);color:var(--latao);}
.step .n{font-family:var(--serif);display:block;font-size:17px;margin-bottom:2px;}
@media(max-width:1023px){.step .t{display:none;}}

.sec-block{border-left:3px solid var(--latao);padding-left:16px;margin-bottom:22px;}
.sec-block .sec-title{display:flex;justify-content:space-between;align-items:center;
  gap:10px;margin-bottom:7px;}
.sec-block .sec-title h4{font-size:16px;}
.sec-num{font-family:var(--serif);color:var(--latao);font-size:13px;font-weight:600;}
.mini-label{font-size:10.5px;letter-spacing:1px;text-transform:uppercase;
  color:var(--latao);font-weight:700;margin-bottom:4px;}

.pick{border:1px solid var(--linha);border-radius:3px;padding:14px;background:var(--papel);
  margin-bottom:10px;display:flex;gap:14px;align-items:flex-start;}
.pick.sel{border-color:var(--latao);background:#fff;}
.pick .thumb{width:74px;height:56px;object-fit:cover;border-radius:2px;
  border:1px solid var(--linha);flex:none;}
.pick .nofoto{width:74px;height:56px;background:var(--papel-2);border:1px dashed var(--linha);
  border-radius:2px;flex:none;display:flex;align-items:center;justify-content:center;
  font-size:10px;color:#9b8c70;text-align:center;}
.chkline{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:500;
  color:var(--tabaco);cursor:pointer;margin-top:6px;}
.chkline input{width:auto;margin:0;}

.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px;}
.thumbs .ph{position:relative;}
.thumbs img{width:88px;height:66px;object-fit:cover;border-radius:2px;border:1px solid var(--linha);}
.thumbs .rm{position:absolute;top:-7px;right:-7px;width:20px;height:20px;border-radius:50%;
  background:var(--tabaco);color:#fff;border:none;cursor:pointer;font-size:12px;line-height:1;}
.photo-tag{font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;
  color:var(--tabaco);margin:2px 0 4px;}
.single-photo{width:120px;height:120px;object-fit:cover;border-radius:3px;
  border:1px solid var(--linha);}
.logo-prev{max-width:200px;max-height:84px;object-fit:contain;
  background:#fff;border:1px solid var(--linha);border-radius:3px;padding:8px;display:block;}

.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);
  background:var(--marinho);color:var(--areia);padding:12px 22px;border-radius:3px;
  font-size:13.5px;font-weight:500;box-shadow:0 6px 22px rgba(0,0,0,.3);
  z-index:200;border-left:3px solid var(--latao);}
.spin{display:inline-block;width:15px;height:15px;border:2px solid rgba(232,223,203,.35);
  border-top-color:var(--areia);border-radius:50%;animation:sp .7s linear infinite;vertical-align:-2px;}
@keyframes sp{to{transform:rotate(360deg);}}

.listrow{display:flex;justify-content:space-between;align-items:center;gap:14px;
  padding:15px 0;border-bottom:1px solid var(--linha);}
.listrow:last-child{border-bottom:none;}
.listrow .ttl{font-family:var(--serif);font-size:16px;color:var(--capim);}
.listrow .meta{font-size:12.5px;color:var(--tabaco);margin-top:2px;}
.rowclick:hover .ttl{color:var(--latao);}
.expbox{background:var(--papel-2);border:1px solid var(--linha);
  border-radius:0 0 3px 3px;margin:-2px 0 14px;padding:16px 18px;}

/* PROPOSAL / PRINT */
.proposal{background:#fff;border:1px solid var(--linha);padding:52px 58px;
  box-shadow:2px 4px 0 rgba(74,56,41,.1);}
@media(max-width:1023px){.proposal{padding:30px 22px;}}
.pr-cover{border-bottom:2px solid var(--capim);padding-bottom:26px;margin-bottom:30px;}
.pr-cover .pr-logo{max-height:60px;max-width:220px;object-fit:contain;margin-bottom:18px;display:block;}
.pr-cover .pr-eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;
  color:var(--latao);font-weight:700;}
.pr-cover h1{font-size:33px;margin:6px 0 4px;}
.pr-cover .pr-empresa{font-size:14px;color:var(--tabaco);}
.pr-cover .pr-meta{display:flex;gap:26px;margin-top:16px;flex-wrap:wrap;}
.pr-cover .pr-meta div{font-size:12.5px;color:var(--tabaco);}
.pr-cover .pr-meta b{display:block;font-family:var(--serif);color:var(--capim);
  font-size:14px;font-weight:600;}

.pr-sec{margin-bottom:30px;}
.pr-sec h2{font-size:19px;display:flex;align-items:baseline;gap:10px;
  padding-bottom:7px;border-bottom:1px solid var(--linha);margin-bottom:11px;}
.pr-sec h2 .pr-n{font-size:12px;color:var(--papel);background:var(--capim);
  font-family:var(--sans);font-weight:700;padding:3px 8px;border-radius:2px;flex:none;}
.pr-sec p{font-size:13.5px;color:#2a2620;margin-bottom:8px;white-space:pre-wrap;}
.pr-destaque{font-family:var(--serif);font-size:18px;font-style:italic;
  color:var(--capim);line-height:1.4;margin-bottom:12px !important;
  padding-left:14px;border-left:3px solid var(--latao);white-space:normal !important;}

/* founder */
.pr-founder{display:flex;gap:22px;align-items:flex-start;}
.pr-founder .pr-foto{width:130px;height:130px;object-fit:cover;border-radius:3px;
  border:1px solid var(--linha);flex:none;}
.pr-founder .pr-foto-ph{width:130px;height:130px;background:var(--papel-2);
  border:1px dashed var(--linha);border-radius:3px;flex:none;}
.pr-founder .pr-fnome{font-family:var(--serif);font-size:15px;color:var(--capim);
  font-weight:600;margin-top:6px;}
@media(max-width:640px){.pr-founder{flex-direction:column;}}

/* reflexao */
.pr-reflexao{background:var(--marinho);color:var(--areia);border-radius:3px;
  padding:30px 34px;margin-bottom:30px;}
.pr-reflexao .rx-tag{font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--latao);font-weight:700;margin-bottom:14px;}
.pr-reflexao .rx-q{font-family:var(--serif);font-style:italic;font-size:17px;
  line-height:1.45;margin-bottom:13px;color:#F0E9D6;}
.pr-reflexao .rx-q:last-child{margin-bottom:0;}
.pr-reflexao .rx-q::before{content:"";color:var(--latao);}

/* atendimento */
.pr-atend{border:1px solid var(--linha);border-radius:3px;overflow:hidden;}
.pr-atend .ar{display:flex;border-bottom:1px solid var(--linha);}
.pr-atend .ar:last-child{border-bottom:none;}
.pr-atend .ak{width:190px;flex:none;background:var(--papel-2);padding:11px 15px;
  font-size:11px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
  color:var(--tabaco);}
.pr-atend .av{padding:11px 15px;font-size:13px;color:#2a2620;}
@media(max-width:640px){.pr-atend .ar{flex-direction:column;}.pr-atend .ak{width:auto;}}

.pr-trab{margin-bottom:20px;}
.pr-trab .pr-trab-t{font-family:var(--serif);font-size:15px;color:var(--capim);font-weight:600;}
.pr-trab .pr-trab-d{font-size:13px;color:#2a2620;margin:3px 0 9px;white-space:pre-wrap;}
.pr-ba{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.pr-ba figure{margin:0;}
.pr-ba img{width:100%;height:150px;object-fit:cover;border:1px solid var(--linha);border-radius:2px;}
.pr-ba figcaption{font-size:10px;font-weight:700;letter-spacing:1px;text-transform:uppercase;
  color:var(--latao);margin-top:3px;}

.pr-depo{border-left:3px solid var(--latao);padding:4px 0 4px 18px;margin-bottom:18px;
  display:flex;gap:14px;align-items:flex-start;}
.pr-depo .pr-depo-foto{width:50px;height:50px;border-radius:50%;object-fit:cover;
  border:1px solid var(--linha);flex:none;}
.pr-depo .pr-depo-txt{font-family:var(--serif);font-style:italic;font-size:14px;
  color:#2a2620;line-height:1.5;}
.pr-depo .pr-depo-aut{font-size:12px;color:var(--tabaco);margin-top:5px;font-weight:600;}
.pr-depo-print{margin-bottom:20px;}
.pr-depo-grid{display:grid;gap:16px;align-items:stretch;justify-items:stretch;}
.pr-depo-grid.cols-1{grid-template-columns:1fr;}
.pr-depo-grid.cols-2{grid-template-columns:1fr 1fr;}
.pr-depo-grid>.pr-depo,.pr-depo-grid>.pr-depo-print{margin-bottom:0;width:100%;height:100%;}
.pr-depo-grid>.pr-depo-print>.moldura{height:100%;max-width:none;display:flex;flex-direction:column;}
.pr-depo-grid>.pr-depo-print>.moldura>.mol-cap{margin-top:auto;}
.pr-depo-grid.ori-retrato>.pr-depo-print>.moldura>img{flex:0 0 auto;height:360px;max-height:360px;}
.pr-depo-grid.ori-paisagem>.pr-depo-print>.moldura>img{flex:0 0 auto;height:220px;max-height:220px;}
@media (max-width:1023px){.pr-depo-grid.cols-2{grid-template-columns:1fr;}
  .pr-depo-grid>.pr-depo-print>.moldura>img{height:auto;max-height:430px;}}
.moldura{background:var(--papel);border:1px solid var(--linha);border-radius:4px;
  padding:10px;box-shadow:1px 2px 0 rgba(74,56,41,.09);display:inline-block;max-width:330px;}
.moldura img{display:block;width:100%;max-height:430px;object-fit:contain;
  border-radius:2px;background:#fff;}

.moldura .mol-cap{font-size:11.5px;color:var(--tabaco);padding:8px 3px 1px;font-weight:600;
  display:flex;align-items:center;gap:8px;}
.moldura .mol-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;
  padding:2px 3px 9px;border-bottom:1px dashed var(--linha);margin-bottom:9px;}

/* Selo do cliente (logo ou ícone do nicho) */
.depo-selo{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;
  flex:none;border-radius:4px;background:var(--papel-2);border:1px solid var(--linha);
  overflow:hidden;color:var(--capim);}
.depo-selo img{width:100%;height:100%;object-fit:contain;display:block;background:#fff;}
.depo-selo svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:1.8;
  stroke-linecap:round;stroke-linejoin:round;}
.pr-depo .pr-depo-aut-row{display:flex;align-items:center;gap:8px;margin-top:5px;}
.pr-depo .pr-depo-aut-row .pr-depo-aut{margin-top:0;}

/* DEPOIMENTO badges + estrelas */
.depo-badge{display:inline-block;font-size:10.5px;letter-spacing:0.6px;text-transform:uppercase;
  font-weight:700;padding:2px 7px;border-radius:99px;color:#fff;vertical-align:middle;}
.depo-google{background:#4285F4;}
.depo-whatsapp{background:#25D366;}
.depo-instagram{background:linear-gradient(45deg,#F58529,#DD2A7B,#8134AF);}
.depo-facebook{background:#1877F2;}
.depo-email{background:var(--tabaco);}
.depo-outro{background:var(--latao);}
.depo-stars{display:inline-block;color:#E8B923;font-size:13px;letter-spacing:1px;vertical-align:middle;}
.depo-stars .depo-stars-off{color:#D8CFB8;}

/* Origem chips e estrelas no form */
.origem-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;margin-bottom:6px;}
.origem-row .chip{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border:1px solid var(--linha);
  border-radius:99px;cursor:pointer;font-size:13px;background:var(--papel);transition:all .15s;user-select:none;}
.origem-row .chip:hover{border-color:var(--latao);}
.origem-row .chip.on{background:var(--capim);color:var(--areia);border-color:var(--capim);}
.origem-row .chip input{display:none;}
.nota-row{display:flex;align-items:center;gap:4px;margin-top:4px;margin-bottom:6px;}
.star-btn{background:none;border:none;cursor:pointer;font-size:28px;color:#D8CFB8;padding:0 2px;line-height:1;transition:color .12s,transform .12s;}
.star-btn:hover{transform:scale(1.1);}
.star-btn.on{color:#E8B923;}
.nota-row .btn{margin-left:10px;}
.pr-inv{display:grid;gap:12px;}
.pr-inv.n3{grid-template-columns:repeat(3,1fr);}
.pr-inv.n2{grid-template-columns:repeat(2,1fr);}
.pr-inv.n1{grid-template-columns:minmax(0,340px);justify-content:center;}
@media(max-width:1023px){.pr-inv.n3,.pr-inv.n2{grid-template-columns:1fr;}}
.pr-tier{border:1px solid var(--linha);border-radius:3px;padding:16px;background:var(--papel);}
.pr-tier.mid{border-color:var(--latao);border-width:2px;background:#fff;}
.pr-tier .pr-tier-n{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;
  font-weight:700;color:var(--latao);}
.pr-tier .pr-tier-v{font-family:var(--serif);font-size:22px;color:var(--capim);margin:4px 0 8px;}
.pr-tier .pr-tier-d{font-size:12px;color:#2a2620;white-space:pre-wrap;}

.pr-cond{margin-top:16px;border:2px solid var(--latao);background:#fffaf0;padding:18px 20px;border-radius:4px;}
.pr-cond-eyebrow{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--latao);}
.pr-cond-tier{font-size:12px;color:var(--tabaco);margin-top:2px;}
.pr-cond-linha{margin-top:8px;display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.pr-cond-cheio{font-family:var(--serif);font-size:18px;color:#9b8c70;text-decoration:line-through;}
.pr-cond-final{font-family:var(--serif);font-size:28px;color:var(--capim);font-weight:700;}
.pr-cond-val{margin-top:6px;font-size:13px;color:var(--tabaco);font-weight:600;}
.pr-cond-just{margin-top:4px;font-size:13px;color:#2a2620;font-style:italic;}

/* Investimento único (novo formato) */
.pr-inv-uno{border:2px solid var(--latao);background:#fffaf0;border-radius:6px;padding:24px 28px;max-width:640px;margin:0 auto;}
.pr-inv-anc{display:flex;align-items:center;gap:12px;margin-bottom:6px;}
.pr-inv-anc-cheio{font-family:var(--serif);font-size:18px;color:#9b8c70;text-decoration:line-through;}
.pr-inv-anc-badge{display:inline-block;background:var(--latao);color:#fff;font-size:11px;letter-spacing:1.5px;font-weight:700;padding:3px 10px;border-radius:3px;text-transform:uppercase;}
.pr-inv-valor{font-family:var(--serif);font-size:38px;color:var(--capim);font-weight:700;line-height:1.1;margin-bottom:14px;}
.pr-inv-inc-t{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;color:var(--latao);margin-top:8px;margin-bottom:8px;}
.pr-inv-inc{margin:0;padding-left:18px;font-size:14px;color:#2a2620;line-height:1.55;}
.pr-inv-inc li{margin-bottom:4px;}
.pr-inv-cond{margin-top:14px;padding-top:12px;border-top:1px dashed var(--linha);}
.pr-inv-val{font-size:13px;color:var(--tabaco);font-weight:600;}
.pr-inv-just{margin-top:4px;font-size:13px;color:#2a2620;font-style:italic;}
@media(max-width:1023px){.pr-inv-uno{padding:18px 18px;} .pr-inv-valor{font-size:30px;}}

/* Editor, bloco de investimento único */
.wz-inv-uno{}
.wz-inv-disc{margin-top:6px;margin-bottom:14px;padding:8px 12px;background:#f7f1e3;border-left:3px solid var(--latao);font-size:13px;color:var(--tabaco);border-radius:2px;}
.wz-inv-disc strong{color:var(--capim);font-size:15px;}

.pr-foot{margin-top:34px;padding-top:18px;border-top:2px solid var(--capim);
  font-size:12px;color:var(--tabaco);display:flex;justify-content:space-between;
  gap:16px;flex-wrap:wrap;align-items:center;}
.pr-foot .pr-foot-logo{max-height:38px;max-width:130px;object-fit:contain;}

@media print{
  @page{size:A4;margin:14mm;}
  html,body{background:#fff !important;height:auto !important;max-height:none !important;overflow:visible !important;}
  .app-nav,.no-print{display:none !important;}
  .wrap{max-width:none;padding:0;height:auto !important;max-height:none !important;overflow:visible !important;}
  .proposal,.proposal *{-webkit-print-color-adjust:exact;print-color-adjust:exact;color-adjust:exact;}
  .proposal{border:none;box-shadow:none;padding:0;height:auto !important;max-height:none !important;overflow:visible !important;}
  /* Blocos que podem passar de uma página precisam quebrar por dentro. */
  .pr-sec,.pr-trab,.pr-cond,.pr-atend,.pr-depo{break-inside:auto;page-break-inside:auto;}
  /* Só o que é realmente pequeno fica inteiro na mesma página. */
  .pr-tier,.pr-inv-uno,.pr-reflexao,.pr-depo-print{break-inside:avoid;page-break-inside:avoid;}
  .pr-sec h2,.pr-sec h3,h2,h3{break-after:avoid;page-break-after:avoid;}
  img{max-width:100%;break-inside:avoid;page-break-inside:avoid;}
}


/* ===== Login ===== */
.login-card{max-width:640px;margin:60px auto;background:var(--creme,#f1ead4);border:1px solid rgba(0,0,0,.06);
  box-shadow:8px 8px 0 rgba(0,0,0,.08);padding:32px 28px;border-radius:6px;}
.login-brand{display:flex;align-items:center;gap:10px;margin-bottom:18px;}
.login-brand .diamond{width:14px;height:14px;background:var(--brass,#b08a3e);transform:rotate(45deg);display:inline-block;}
.login-brand h1{font-family:Lora,serif;font-size:22px;margin:0;color:var(--verde-escuro,#2e3a23);}
.login-title{font-family:Lora,serif;font-size:28px;line-height:1.2;margin:6px 0 22px;color:var(--verde-escuro,#2e3a23);}
.btn.full{width:100%;justify-content:center;display:inline-flex;}
.login-sep{display:flex;align-items:center;gap:10px;margin:18px 0;color:var(--tabaco,#7a6a4a);font-size:12px;letter-spacing:.08em;text-transform:uppercase;}
.login-sep::before,.login-sep::after{content:"";flex:1;height:1px;background:rgba(0,0,0,.12);}
.login-form{display:flex;flex-direction:column;gap:14px;}
.login-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--tabaco,#7a6a4a);font-weight:500;}
.login-form input{padding:10px 12px;border:1px solid rgba(0,0,0,.15);border-radius:4px;background:#fff;font:inherit;}
.login-form input:focus{outline:2px solid var(--brass,#b08a3e);outline-offset:0;}
.login-err{margin-top:14px;padding:10px 12px;background:#fdecec;color:#8b1f1f;border-radius:4px;font-size:13px;}
.login-ok{margin-top:14px;padding:10px 12px;background:#e8f3e6;color:#2e5a1f;border-radius:4px;font-size:13px;}
.login-switch{margin-top:18px;text-align:center;font-size:13px;color:var(--tabaco,#7a6a4a);}
.login-switch button{background:none;border:none;color:var(--brass,#b08a3e);font-weight:600;cursor:pointer;padding:0;font:inherit;}
.login-foot{margin-top:14px;text-align:center;font-size:12px;}
.login-foot a{color:var(--tabaco,#7a6a4a);}

/* ---------- Importar dados (empresa) ---------- */
.imp-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:8px;}
@media (max-width:640px){.imp-grid{grid-template-columns:1fr;}}
.imp-col{display:flex;flex-direction:column;gap:6px;}
.imp-col label{font-weight:600;font-size:13px;}
.imp-preview{margin-top:18px;padding:14px;background:var(--papel-2,#f6f1e7);border-radius:6px;border:1px solid var(--linha,#d9cfb8);}
.imp-preview h4{margin:0 0 10px;font-size:14px;}
.imp-item{display:flex;gap:10px;align-items:flex-start;padding:6px 0;font-size:14px;cursor:pointer;}
.imp-item input{margin-top:4px;flex-shrink:0;}
.imp-item span{flex:1;}

/* ===== CRM ===== */
.crm-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.crm-toolbar input[type=text],.crm-toolbar select{flex:1;min-width:160px;padding:8px 10px;border:1px solid var(--linha,#d9cfb8);border-radius:6px;background:#fff;font-size:14px}
.crm-tabs{display:inline-flex;border:1px solid var(--linha,#d9cfb8);border-radius:6px;overflow:hidden}
.crm-tab{background:#fff;border:0;padding:8px 14px;font-size:13px;cursor:pointer;color:var(--capim,#3a4a2a)}
.crm-tab.on{background:var(--capim,#3a4a2a);color:#fff}
.badge{display:inline-block;padding:3px 9px;border-radius:10px;font-size:12.5px;font-weight:600;margin-left:6px;vertical-align:middle;letter-spacing:.2px}
.st-lead{background:#e8e8e8;color:#555}
.st-enviada{background:#dde8f5;color:#1c4a7a}
.st-negociacao{background:#f5e8c8;color:#7a5a1c}
.st-aceita{background:#d8ecd1;color:#2a5a1c}
.st-concluida{background:#c8e0c8;color:#1a4a1a}
.st-recusada{background:#f0d4ce;color:#7a2e22}
.st-prox{background:#fdebc4;color:#7a5a1c}
.tag-chip{display:inline-block;padding:1px 8px;border-radius:10px;font-size:11px;background:var(--papel-2,#f6f1e7);border:1px solid var(--linha,#d9cfb8);margin-right:4px;color:#555}
.cli-row{cursor:pointer}
.cli-row:hover{background:var(--papel-2,#f6f1e7)}
.cli-pick{display:flex;justify-content:space-between;align-items:center;padding:12px;background:var(--papel-2,#f6f1e7);border-radius:6px;border:1px solid var(--linha,#d9cfb8);gap:12px;flex-wrap:wrap}
.cli-pick-nome{font-weight:600;font-size:16px;color:var(--capim,#3a4a2a)}
.cli-pick-meta{font-size:13px;color:#666;margin-top:2px}
.cli-sug{position:absolute;top:100%;left:0;right:0;background:#fff;border:1px solid var(--linha,#d9cfb8);border-radius:6px;box-shadow:0 4px 16px rgba(0,0,0,.08);max-height:240px;overflow-y:auto;z-index:10;margin-top:2px}
.cli-sug-item{padding:9px 12px;cursor:pointer;font-size:14px;border-bottom:1px solid var(--papel-2,#f6f1e7)}
.cli-sug-item:last-child{border-bottom:0}
.cli-sug-item:hover{background:var(--papel-2,#f6f1e7)}
.cli-sug-item.muted{color:#888;font-style:italic;cursor:default}
.muted{color:#888}
.kanban{display:flex;gap:12px;overflow-x:auto;padding-bottom:8px}
.kcol{min-width:240px;flex:1;background:var(--papel-2,#f6f1e7);border-radius:8px;padding:10px;border:1px solid var(--linha,#d9cfb8)}
.kcol.over{background:#ece4cc;border-color:var(--capim,#3a4a2a)}
.kcol-h{font-weight:600;font-size:13px;color:var(--capim,#3a4a2a);padding:4px 6px 10px;display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;letter-spacing:.4px}
.kcol-n{background:#fff;border-radius:10px;padding:1px 8px;font-size:11px;color:#666}
.kcol-body{display:flex;flex-direction:column;gap:8px;min-height:60px}
.kcard{background:#fff;border:1px solid var(--linha,#d9cfb8);border-radius:6px;padding:10px;cursor:grab;font-size:13px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.kcard.drag{opacity:.5}
.kcard-t{font-weight:600;color:var(--capim,#3a4a2a);margin-bottom:3px}
.kcard-m{font-size:12px;color:#666}
.kcard-val{font-weight:600;color:var(--capim,#3a4a2a);margin:2px 0;font-size:13px}
.kcol-foot{margin-top:10px;padding-top:8px;border-top:1px solid var(--linha,#d9cfb8);font-size:12px;color:#555;display:flex;justify-content:space-between;align-items:center}
.kcol-foot b{color:var(--capim,#3a4a2a)}
.kcol[data-pipe="fechada"]{background:#e3efd9;border-color:#b8d3a8}
.kcol[data-pipe="fechada"] .kcol-h{color:#3a6a2a}
.kcol[data-pipe="fechada"] .kcol-foot{border-top-color:#b8d3a8}
.kcol[data-pipe="perdida"]{background:#efe1de;border-color:#d8b8b2}
.kcol[data-pipe="perdida"] .kcol-h{color:#7a4a44}
.kcol[data-pipe="perdida"] .kcol-foot{border-top-color:#d8b8b2}
.anota-item{padding:10px;border:1px solid var(--linha,#d9cfb8);border-radius:6px;margin-bottom:8px;background:#fff;font-size:14px}
.anota-h{display:flex;align-items:center;gap:8px;font-size:12px;color:#666}
.anota-h strong{color:var(--capim,#3a4a2a)}
@media(max-width:640px){.kanban{flex-direction:column}.kcol{min-width:0}}

/* Diagnóstico por voz */
.voz-box{border:1px dashed var(--linha,#d9cfb8);border-radius:8px;padding:12px;margin-bottom:14px;background:#faf7ee}
.voz-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:10px}
.voz-mic{font-size:22px;line-height:1}
.voz-sub{font-size:12px;color:#666;margin-top:2px}
.voz-ctrl{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.voz-status{font-size:13px;color:#555}
#voz-rec.rec{background:#c0392b;border-color:#c0392b;color:#fff}
#voz-rec.loading{opacity:.7;cursor:wait}
.voz-perg{margin-top:12px;padding:10px;background:#fff;border:1px solid var(--linha,#d9cfb8);border-radius:6px}
.voz-perg-head{font-weight:600;font-size:13px;margin-bottom:8px;color:var(--capim,#3a4a2a)}
.voz-perg-item{margin-bottom:8px}
.voz-perg-item label{display:block;font-size:13px;margin-bottom:4px}
.voz-perg-item input{width:100%}
.voz-perg-actions{margin-top:8px;display:flex;gap:8px;flex-wrap:wrap}

/* === Limite de uso de IA === */
.uso-badge{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:600;margin-right:10px;letter-spacing:.02em}
.uso-badge.ok{background:#e8f0e8;color:#2d5a3d;border:1px solid #b8d4b8}
.uso-badge.warn{background:#fef3c7;color:#92400e;border:1px solid #fbbf24}
.uso-badge.full{background:#fee2e2;color:#991b1b;border:1px solid #fca5a5}
.uso-bar{display:inline-block;width:160px;height:8px;background:#eee;border-radius:6px;overflow:hidden;vertical-align:middle;margin-right:8px}
.uso-bar span{display:block;height:100%;background:#5a8a5c;transition:width .3s}
.uso-bar.warn span{background:#d97706}
.uso-bar.full span{background:#dc2626}
.equipe-tbl{width:100%;border-collapse:collapse}
.equipe-tbl th,.equipe-tbl td{padding:10px 8px;text-align:left;border-bottom:1px solid #eee;font-size:14px}
.equipe-tbl .lim-inp{width:64px;padding:2px 6px;border:1px solid #ddd;border-radius:4px;font-size:12px}

/* === Portfólio === */
.pickrow{display:flex;align-items:center;gap:8px;padding:8px 4px;border-bottom:1px solid #f0e9d8;cursor:pointer;font-weight:500}
.pickrow:last-child{border-bottom:none}
.pickrow input[type=checkbox]{margin:0}
.pr-bul{margin:8px 0 0 18px;padding:0;line-height:1.6}
.pr-bul li{margin-bottom:6px}
.pr-comp{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.pr-comp-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;border:1px solid #e6dcc4;border-radius:8px;overflow:hidden}
.pr-comp-m,.pr-comp-n{padding:14px 16px;font-size:14px;line-height:1.5}
.pr-comp-m{background:#f7f1e6;color:#7a6a4f}
.pr-comp-n{background:#eef3e9;color:#2d4a2d;border-left:3px solid #5a8a5c;font-weight:500}
.pr-comp-h{font-size:11px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin-bottom:6px;opacity:.8}
@media print{
  .pr-comp-row{break-inside:avoid;page-break-inside:avoid}
}

/* Inline edit no preview do portfólio */
.pr-edit-btn{margin-left:auto;font-size:12px;padding:4px 10px}
.pr-sec h2{align-items:center}
.pr-sec-editing{outline:2px dashed #c9a84c;outline-offset:6px;border-radius:6px}
.pr-edit-box{background:#fbf7ec;border:1px solid #e8dcc0;border-radius:8px;padding:14px;margin-top:12px}
.pr-edit-box label{display:block;font-weight:600;color:#5a4a30;margin-bottom:4px;font-size:13px}
.pr-edit-box textarea,.pr-edit-box input[type=text]{width:100%;font-family:inherit}
@media print{ .pr-sec-editing{outline:none} }

/* PDF Preview Modal */
.pdf-preview-overlay{position:fixed;inset:0;background:rgba(20,15,8,.78);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px;animation:pdfFade .15s ease-out}
@keyframes pdfFade{from{opacity:0}to{opacity:1}}
.pdf-preview-modal{background:#fff;border-radius:12px;width:min(1000px,100%);height:min(92vh,1000px);display:flex;flex-direction:column;box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden}
.pdf-preview-head{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-bottom:1px solid #e8dcc0;background:#fbf7ec}
.pdf-preview-head h3{margin:0;font-size:16px;color:#3a2e18}
.pdf-preview-close{background:none;border:none;font-size:22px;cursor:pointer;color:#5a4a30;line-height:1;padding:4px 10px;border-radius:6px}
.pdf-preview-close:hover{background:#f0e8d4}
.pdf-preview-body{flex:1;background:#3a3a3a;position:relative;overflow:hidden}
.pdf-preview-body iframe{width:100%;height:100%;border:0;display:block}
.pdf-preview-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;gap:10px}
.pdf-preview-loading::before{content:"";width:18px;height:18px;border:2px solid #c9a84c;border-top-color:transparent;border-radius:50%;animation:pdfSpin .8s linear infinite}
@keyframes pdfSpin{to{transform:rotate(360deg)}}
.pdf-preview-foot{display:flex;justify-content:flex-end;gap:10px;padding:14px 20px;border-top:1px solid #e8dcc0;background:#fbf7ec}
@media (max-width:640px){.pdf-preview-modal{height:96vh;border-radius:8px}.pdf-preview-overlay{padding:8px}}

/* Modal de limite de IA atingido */
.limite-ia-overlay{position:fixed;inset:0;background:rgba(20,15,8,.78);z-index:10000;display:flex;align-items:center;justify-content:center;padding:20px;animation:pdfFade .15s ease-out}
.limite-ia-modal{background:#fff;border-radius:14px;width:min(520px,100%);box-shadow:0 30px 80px rgba(0,0,0,.5);overflow:hidden;display:flex;flex-direction:column}
.limite-ia-head{padding:22px 26px 6px 26px;background:#fbf7ec;border-bottom:1px solid #e8dcc0;position:relative}
.limite-ia-head .eyebrow{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#a07a2e;font-weight:600;margin-bottom:6px}
.limite-ia-head h3{margin:0 0 4px 0;font-size:20px;color:#3a2e18;line-height:1.25}
.limite-ia-close{position:absolute;top:10px;right:12px;background:none;border:none;font-size:20px;cursor:pointer;color:#5a4a30;line-height:1;padding:4px 10px;border-radius:6px}
.limite-ia-close:hover{background:#f0e8d4}
.limite-ia-body{padding:18px 26px 6px 26px;color:#3a2e18;font-size:14px;line-height:1.55}
.limite-ia-body p{margin:0 0 12px 0}
.limite-ia-status{display:inline-block;background:#fbeaea;color:#8a2a2a;border:1px solid #f0c5c5;padding:6px 12px;border-radius:999px;font-weight:600;font-size:13px;margin-bottom:12px}
.limite-ia-upgrade{background:#f6f1e2;border:1px solid #e8dcc0;border-radius:10px;padding:14px 16px;margin-top:6px}
.limite-ia-upgrade p{margin:0;color:#3a2e18}
.limite-ia-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 26px 20px 26px;flex-wrap:wrap}
.limite-ia-wa{background:#25d366;color:#fff;border:none;padding:11px 18px;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px;display:inline-flex;align-items:center;gap:8px;text-decoration:none}
.limite-ia-wa:hover{background:#1ebe57}
.limite-ia-ghost{background:#fff;border:1px solid #d4c89e;color:#5a4a30;padding:11px 18px;border-radius:8px;font-weight:600;cursor:pointer;font-size:14px}
.limite-ia-ghost:hover{background:#f6f1e2}
@media (max-width:640px){.limite-ia-modal{border-radius:10px}.limite-ia-foot{flex-direction:column-reverse}.limite-ia-foot button,.limite-ia-foot a{width:100%;justify-content:center;text-align:center}}

/* Numeração e etapas da proposta */
.pr-numero{display:inline-block;margin:6px 0 4px;padding:4px 12px;font-family:var(--sans);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--tabaco);background:var(--papel-2);border:1px solid var(--linha);border-radius:999px}
.etapas-card{background:var(--papel);border:1px solid var(--linha);border-radius:10px;padding:16px 18px;margin-bottom:16px;box-shadow:0 1px 0 rgba(0,0,0,.02)}
.etapas-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:12px}
.etapas-head h3{font-family:var(--serif);font-size:1.05rem;color:var(--capim);margin:0}
.etapas-sub{font-size:.82rem;color:var(--tabaco);opacity:.75}
.etapas-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.etapa-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--linha);border-radius:8px;background:#fff;cursor:pointer;transition:background .15s,border-color .15s}
.etapa-item:hover{background:var(--papel-2)}
.etapa-item input{position:absolute;opacity:0;pointer-events:none}
.etapa-check{width:18px;height:18px;border:1.5px solid var(--linha);border-radius:4px;background:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}
.etapa-check::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px);opacity:0;transition:opacity .1s}
.etapa-item.done{background:#eef5e6;border-color:#7a9a4f}
.etapa-item.done .etapa-check{background:#5d7a3a;border-color:#5d7a3a}
.etapa-item.done .etapa-check::after{opacity:1}
.etapa-item.done .etapa-label{color:var(--capim);font-weight:500}
.etapa-label{font-size:.92rem;color:var(--oleo)}

/* Bloco "Acompanhamento" que aparece só no PDF gerado */
.pdf-only{display:none}
.proposal.pdf-rendering .pdf-only{display:block}
.pdf-etapas{margin:28px 0 18px;padding:14px 16px;border:1px solid var(--linha);border-radius:8px;background:var(--papel-2);page-break-inside:avoid}
.pdf-etapas-t{font-family:var(--serif);font-size:1rem;color:var(--capim);margin-bottom:10px;letter-spacing:.02em}
.pdf-etapas-list{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.pdf-etapa{display:flex;align-items:center;gap:8px;font-size:.88rem;color:var(--oleo)}
.pdf-etapa-box{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border:1.4px solid var(--tabaco);border-radius:3px;font-size:.78rem;line-height:1;color:#fff;background:#fff}
.pdf-etapa:has(.pdf-etapa-box:not(:empty)) .pdf-etapa-box{background:#5d7a3a;border-color:#5d7a3a}

/* Editor de etapas de contratação (formulário e edição da proposta) */
.etapas-edit{display:flex;flex-direction:column;gap:8px;margin-top:6px}
.etapas-edit-list{display:flex;flex-direction:column;gap:6px}
.etapas-edit-row{display:grid;grid-template-columns:auto 1fr auto auto auto;gap:8px;align-items:center;padding:8px 10px;background:#fff;border:1px solid var(--linha);border-radius:8px;transition:opacity .15s,background .15s}
.etapas-edit-row.off{opacity:.55;background:var(--papel-2)}
.etapas-edit-row .ec-on{width:16px;height:16px;cursor:pointer;accent-color:#5d7a3a;margin:0}
.etapas-edit-row .ec-txt{flex:1;min-width:0;background:#fff;border:1px solid var(--linha);border-radius:6px;padding:6px 8px;font:inherit;color:var(--oleo);outline:none;cursor:text;transition:border-color .15s,box-shadow .15s}
.etapas-edit-row .ec-txt:hover{border-color:var(--oleo)}
.etapas-edit-row .ec-txt:focus{border-color:#5d7a3a;box-shadow:0 0 0 2px rgba(93,122,58,.18)}
.etapas-edit-row.off .ec-txt{text-decoration:line-through;color:var(--tabaco);background:var(--papel-2)}
.etapas-hint{font-size:13px;color:var(--tabaco);background:var(--papel-2);border:1px dashed var(--linha);border-radius:6px;padding:8px 10px;margin-bottom:2px;line-height:1.4}
.etapas-hint strong{color:var(--oleo)}
.btn-icon{appearance:none;border:1px solid var(--linha);background:#fff;color:var(--tabaco);width:28px;height:28px;border-radius:6px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.78rem;line-height:1;padding:0;transition:background .12s,color .12s,border-color .12s}
.btn-icon:hover{background:var(--papel-2);color:var(--oleo)}
.btn-icon.ec-rm:hover{background:#fbe9e7;border-color:#d99;color:#a33}
.etapas-edit-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px}
.etapas-preview{margin-top:10px;padding:10px 12px;background:var(--papel-2);border:1px dashed var(--linha);border-radius:6px;font-size:.84rem;color:var(--tabaco)}
.etapas-preview span{display:block;font-weight:600;color:var(--capim);margin-bottom:6px;font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}
.etapas-preview pre{margin:0;font-family:var(--sans);font-size:.88rem;color:var(--oleo);white-space:pre-wrap;line-height:1.5}
.etapas-preview.muted{color:var(--tabaco);font-style:italic}
@media (max-width:640px){.etapas-edit-row{grid-template-columns:auto 1fr auto auto auto;gap:6px;padding:8px}.btn-icon{width:26px;height:26px}}

/* ===================== Portfólio, Mídia Kit (paisagem) ===================== */
/* Escopo .pf-deck: não toca em .pr-* / proposta comercial. */
.proposal.pf-deck{background:#fff;padding:0;border:1px solid var(--linha);max-width:none;}
.pf-deck .pf-slide{
  position:relative;width:297mm;height:210mm;
  padding:18mm 22mm 22mm;box-sizing:border-box;
  background:#fff;color:var(--oleo);overflow:hidden;
  display:flex;flex-direction:column;justify-content:center;
  page-break-after:always;break-after:page;
  border-bottom:1px solid var(--linha);
}
.pf-deck .pf-slide:last-child{page-break-after:auto;border-bottom:none;}
.pf-deck .pf-foot{position:absolute;bottom:8mm;right:22mm;left:22mm;
  font-size:10px;letter-spacing:1.2px;text-transform:uppercase;color:var(--tabaco);
  display:flex;justify-content:space-between;border-top:1px solid var(--linha);
  padding-top:6px;}
.pf-deck .pf-mini-eyebrow{font-size:11px;letter-spacing:3px;text-transform:uppercase;
  color:var(--latao);font-weight:700;margin-bottom:14px;}
.pf-deck .pf-ancora{font-family:var(--serif);font-size:34px;line-height:1.15;
  color:var(--capim);max-width:22ch;margin:0;}
.pf-deck .pf-ancora-big{font-family:var(--serif);font-size:54px;line-height:1.08;
  color:var(--capim);max-width:20ch;margin:0 auto;}
.pf-deck .pf-center{text-align:center;margin:auto;max-width:90%;}
.pf-deck .pf-body{font-size:16.5px;line-height:1.6;color:var(--oleo);max-width:56ch;}
.pf-deck .pf-body p{margin:0 0 12px;}
.pf-deck .pf-body-process{font-size:15.5px;}
.pf-deck .pf-body--lead{font-family:var(--serif);font-size:21px;line-height:1.45;
  color:var(--capim);margin:0 0 16px;font-weight:500;letter-spacing:-0.2px;max-width:32ch;}
.pf-deck .pf-virada .pf-body--lead{font-size:26px;max-width:24ch;margin-left:auto;margin-right:auto;}
.pf-deck .pf-virada p{font-size:17px;line-height:1.6;max-width:54ch;margin:0 auto 12px;}
.pf-deck .pf-steps{list-style:none;padding:0;margin:14px 0 0;display:grid;gap:12px;counter-reset:pfstep;}
.pf-deck .pf-steps li{display:grid;grid-template-columns:34px 1fr;gap:12px;
  font-size:15px;line-height:1.55;color:var(--oleo);align-items:start;}
.pf-deck .pf-steps li::before{content:counter(pfstep,decimal-leading-zero);counter-increment:pfstep;
  color:var(--latao);font-family:var(--serif);font-weight:700;font-size:18px;line-height:1.2;
  padding-top:1px;}
.pf-deck .pf-muted{color:var(--tabaco);font-style:italic;}

/* 1. Capa */
.pf-deck .pf-capa{padding:0;display:flex;flex-direction:row;position:relative;background:var(--papel);}
.pf-deck .pf-capa .pf-capa-text{flex:1;padding:24mm 20mm;display:flex;flex-direction:column;justify-content:center;}
.pf-deck .pf-capa .pf-logo{max-height:72px;max-width:240px;height:auto;width:auto;object-fit:contain;margin-bottom:28px;display:block;}
.pf-deck .pf-capa .pf-brand{font-family:var(--serif);font-size:22px;color:var(--capim);margin-bottom:28px;font-style:italic;font-weight:500;}
.pf-deck .pf-capa .pf-eyebrow{font-size:10.5px;letter-spacing:4px;text-transform:uppercase;
  color:var(--latao);font-weight:700;margin-bottom:22px;display:inline-block;}
.pf-deck .pf-capa-q{font-family:var(--serif);font-size:54px;line-height:1.05;
  color:var(--capim);max-width:18ch;margin:0;font-weight:600;letter-spacing:-0.5px;}
.pf-deck .pf-capa .pf-brand-foot{margin-top:auto;padding-top:28px;font-size:12.5px;
  color:var(--tabaco);letter-spacing:2px;text-transform:uppercase;}
.pf-deck .pf-capa .pf-capa-assinatura{margin-top:32px;font-family:var(--serif);font-size:18px;color:var(--capim);
  border-top:1px solid var(--linha);padding-top:14px;}
.pf-deck .pf-capa .pf-capa-assinatura span{display:block;font-family:var(--sans);font-size:11px;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--tabaco);margin-top:4px;font-style:normal;}

/* 1a. Capa, Dividida (texto à esquerda, imagem à direita) */
.pf-deck .pf-capa--dividida.has-img .pf-capa-text{flex:0 0 56%;}
.pf-deck .pf-capa--dividida .pf-capa-img{flex:1;background:var(--papel-2);position:relative;}
.pf-deck .pf-capa--dividida .pf-capa-img::after{content:"";position:absolute;inset:0;
  box-shadow:inset 14px 0 32px -18px rgba(15,14,12,.35);pointer-events:none;}
.pf-deck .pf-capa--dividida .pf-capa-img img{width:100%;height:100%;object-fit:cover;display:block;}

/* 1b. Capa, Imagem-protagonista (full-bleed) */
.pf-deck .pf-capa--imagem{background:var(--oleo);}
.pf-deck .pf-capa--imagem .pf-capa-bg{position:absolute;inset:0;}
.pf-deck .pf-capa--imagem .pf-capa-bg img{width:100%;height:100%;object-fit:cover;display:block;}
.pf-deck .pf-capa--imagem .pf-capa-overlay{position:relative;z-index:2;flex:1;display:flex;flex-direction:column;
  padding:18mm 22mm;color:var(--papel);
  background:linear-gradient(180deg, rgba(15,14,12,.55) 0%, rgba(15,14,12,0) 32%, rgba(15,14,12,0) 50%, rgba(15,14,12,.82) 100%);}
.pf-deck .pf-capa--imagem .pf-capa-top{flex:0 0 auto;}
.pf-deck .pf-capa--imagem .pf-capa-bottom{margin-top:auto;max-width:80%;}
.pf-deck .pf-capa--imagem .pf-logo{filter:brightness(0) invert(1);opacity:.95;margin-bottom:0;}
.pf-deck .pf-capa--imagem .pf-brand{color:var(--papel);margin-bottom:0;}
.pf-deck .pf-capa--imagem .pf-eyebrow{color:var(--areia);}
.pf-deck .pf-capa--imagem .pf-capa-q{color:var(--papel);font-size:58px;max-width:22ch;}
.pf-deck .pf-capa--imagem .pf-brand-foot{margin-top:18px;padding-top:14px;color:var(--areia);
  border-top:1px solid rgba(244,238,225,.35);}

/* 1c. Capa, Retrato do fundador */
.pf-deck .pf-capa--fundador{background:var(--papel-2);}
.pf-deck .pf-capa--fundador .pf-capa-text{flex:0 0 54%;padding:22mm 18mm;}
.pf-deck .pf-capa--fundador .pf-capa-portrait{flex:1;position:relative;background:var(--capim);
  display:flex;align-items:flex-end;padding:14mm;overflow:hidden;}
.pf-deck .pf-capa--fundador .pf-capa-portrait img{position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;display:block;filter:saturate(.92) contrast(1.02);}
.pf-deck .pf-capa--fundador .pf-capa-portrait::after{content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(15,14,12,0) 55%, rgba(15,14,12,.75) 100%);}
.pf-deck .pf-capa--fundador .pf-capa-portrait-tag{position:relative;z-index:2;color:var(--papel);
  font-family:var(--serif);font-size:16px;letter-spacing:1.5px;
  border-left:2px solid var(--latao);padding:4px 0 4px 12px;}

/* 1d. Capa, Tipográfica (sem foto) */
.pf-deck .pf-capa--tipografica{background:var(--capim);color:var(--papel);position:relative;overflow:hidden;}
.pf-deck .pf-capa--tipografica .pf-capa-text{padding:26mm 22mm;flex:1;}
.pf-deck .pf-capa--tipografica .pf-logo{filter:brightness(0) invert(1);opacity:.95;}
.pf-deck .pf-capa--tipografica .pf-brand{color:var(--areia);}
.pf-deck .pf-capa--tipografica .pf-eyebrow{color:var(--latao);}
.pf-deck .pf-capa--tipografica .pf-capa-q{color:var(--papel);font-size:64px;max-width:20ch;}
.pf-deck .pf-capa--tipografica .pf-brand-foot{color:var(--areia);border-top:1px solid rgba(244,238,225,.25);}
.pf-deck .pf-capa--tipografica .pf-capa-ornament{position:absolute;right:-120px;top:-120px;width:420px;height:420px;
  border:1px solid rgba(168,136,74,.35);border-radius:50%;}
.pf-deck .pf-capa--tipografica .pf-capa-ornament::before{content:"";position:absolute;inset:60px;
  border:1px solid rgba(168,136,74,.25);border-radius:50%;}
.pf-deck .pf-capa--tipografica .pf-foot{color:var(--areia);opacity:.7;border-top-color:rgba(232,223,203,.3);}
.pf-deck .pf-capa--imagem .pf-foot{color:var(--areia);border-top-color:rgba(232,223,203,.35);z-index:3;}
.pf-deck .pf-capa--imagem{background:var(--oleo);} /* fallback se a foto não carregar */

/* 2. A virada */
.pf-deck .pf-virada-slide{background:var(--papel);}
.pf-deck .pf-virada{font-family:var(--serif);font-size:30px;line-height:1.35;
  color:var(--capim);max-width:28ch;margin:0 auto;}
.pf-deck .pf-virada p{margin:0 0 14px;}

/* 3, 6. Duas colunas (âncora | conteúdo) */
.pf-deck .pf-twocol{flex-direction:row;align-items:center;gap:36px;}
.pf-deck .pf-twocol .pf-col-q{flex:0 0 36%;}
.pf-deck .pf-twocol .pf-col-a{flex:1;border-left:2px solid var(--latao);padding-left:32px;}
.pf-deck .pf-founder{margin-top:24px;display:flex;align-items:center;gap:14px;}
.pf-deck .pf-founder-img{width:80px;height:80px;border-radius:50%;object-fit:cover;
  border:2px solid var(--latao);}
.pf-deck .pf-founder-nome{font-family:var(--serif);color:var(--capim);font-size:15px;}

/* 4. Antes & Depois */
.pf-deck .pf-ancora-slide{background:var(--papel-2);}
.pf-deck .pf-ba-slide{padding-top:14mm;}
.pf-deck .pf-ba-head{margin-bottom:14px;}
.pf-deck .pf-trab-t{font-family:var(--serif);font-size:24px;color:var(--capim);margin:0;}
.pf-deck .pf-trab-i{font-size:13px;color:var(--tabaco);font-weight:400;font-family:var(--sans);}
.pf-deck .pf-trab-d{font-size:13px;color:var(--tabaco);margin:6px 0 0;line-height:1.45;max-width:80ch;}
.pf-deck .pf-ba{display:grid;grid-template-columns:1fr 1fr;gap:18px;flex:1;min-height:0;}
.pf-deck .pf-ba figure{margin:0;display:flex;flex-direction:column;}
.pf-deck .pf-ba img{width:100%;height:148mm;object-fit:cover;border:1px solid var(--linha);border-radius:2px;flex:1;min-height:0;}
.pf-deck .pf-ba .pf-ba-empty{background:var(--papel-2);border:1px dashed var(--linha);
  height:148mm;display:flex;align-items:center;justify-content:center;}
.pf-deck .pf-ba figcaption{font-size:10px;font-weight:700;letter-spacing:2px;
  text-transform:uppercase;color:var(--tabaco);margin-top:6px;text-align:center;}

/* 5. Depoimentos, layout em cards (multi por slide) */
.pf-deck .pf-depo-slide{background:var(--papel);justify-content:flex-start;padding-top:16mm;}
.pf-deck .pf-depo-head{margin-bottom:14px;}
.pf-deck .pf-depo-head .pf-mini-eyebrow{margin-bottom:8px;}
.pf-deck .pf-depo-ancora{font-family:var(--serif);font-size:30px;line-height:1.15;
  color:var(--capim);margin:0;max-width:32ch;}
.pf-deck .pf-depo-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;
  flex:1;min-height:0;align-content:center;align-items:stretch;}
.pf-deck .pf-depo-grid--solo{grid-template-columns:minmax(0,720px);justify-content:center;}
.pf-deck .pf-depo-card{position:relative;background:var(--papel-2);border-radius:4px;
  border-left:2px solid var(--latao);padding:22px 26px 20px;
  box-shadow:0 1px 2px rgba(15,14,12,.04);display:flex;flex-direction:column;gap:14px;
  min-height:0;}
.pf-deck .pf-depo-card .pf-depo-mark{font-family:var(--serif);font-size:56px;line-height:.6;
  color:var(--latao);opacity:.45;margin:4px 0 0;}
.pf-deck .pf-depo-card .pf-depo-txt{font-family:var(--serif);font-style:italic;
  font-size:18px;line-height:1.5;color:var(--capim);margin:0;
  quotes:none;border:none;padding:0;flex:1;}
.pf-deck .pf-depo-grid--solo .pf-depo-card .pf-depo-txt{font-size:22px;line-height:1.5;}
.pf-deck .pf-depo-card .pf-depo-aut{display:inline-flex;align-items:center;gap:12px;
  margin-top:auto;padding-top:8px;border-top:1px solid var(--linha);}
.pf-deck .pf-depo-foto{width:40px;height:40px;border-radius:50%;object-fit:cover;
  border:1.5px solid var(--latao);}
.pf-deck .pf-depo-nome{font-size:13px;font-weight:600;color:var(--capim);text-align:left;}
.pf-deck .pf-depo-lugar{font-size:11.5px;color:var(--tabaco);text-align:left;}

/* Prints, grid 2 col (1 maior se único) */
.pf-deck .pf-depo-print-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;
  flex:1;min-height:0;align-items:center;justify-items:center;}
.pf-deck .pf-depo-print-grid--solo{grid-template-columns:minmax(0,1fr);}
.pf-deck .pf-depo-print{margin:0;display:flex;flex-direction:column;align-items:center;
  gap:8px;max-width:100%;}
.pf-deck .pf-depo-print img{max-width:100%;max-height:135mm;object-fit:contain;
  border:1px solid var(--linha);box-shadow:0 6px 20px rgba(0,0,0,.08);}
.pf-deck .pf-depo-print-grid--solo .pf-depo-print img{max-height:150mm;max-width:75%;}
.pf-deck .pf-depo-print-cap{font-size:12px;color:var(--tabaco);text-align:center;margin:0;}

/* 7. Convite */
.pf-deck .pf-convite{background:var(--capim);color:var(--areia);}
.pf-deck .pf-convite .pf-foot{color:var(--areia);border-top-color:rgba(232,223,203,.3);}
.pf-deck .pf-convite .pf-mini-eyebrow{color:var(--latao);}
.pf-deck .pf-convite .pf-ancora-big{color:var(--areia);}
.pf-deck .pf-convite-wrap{max-width:80%;margin:auto;}
.pf-deck .pf-convite-frase{font-family:var(--serif);font-style:italic;font-size:20px;
  color:var(--latao);margin:18px 0 8px;}
.pf-deck .pf-convite-cta{font-size:16px;margin-bottom:24px;opacity:.9;}
.pf-deck .pf-contato{display:grid;grid-template-columns:1fr 1fr;gap:14px 32px;
  margin-top:18px;border-top:1px solid rgba(232,223,203,.3);padding-top:18px;}
.pf-deck .pf-contato>div{display:flex;flex-direction:column;}
.pf-deck .pf-contato .pf-k{font-size:10px;letter-spacing:2px;text-transform:uppercase;
  color:var(--latao);font-weight:700;margin-bottom:3px;}
.pf-deck .pf-contato .pf-v{font-size:14px;color:var(--areia);}

/* Visualização em tela: escala o slide para caber em telas estreitas */
@media (max-width:1280px){
  .proposal.pf-deck{transform-origin:top left;}
}

@media print{
  @page{size:A4 landscape;margin:0;}
  .proposal.pf-deck{border:none;}
  .pf-deck .pf-slide{border-bottom:none;page-break-after:always;}
  .pf-deck .pf-slide:last-child{page-break-after:auto;}
}

/* Dica explicativa abaixo do label - ajuda iniciantes */
.dica{font-size:12.5px;color:#7a6a4f;margin:-4px 0 10px;line-height:1.45;}
.dica em{font-style:italic;color:#5a4a30;}
.dica strong{color:#5a4a30;font-weight:600;}

/* ============ Botão de Ajuda + Tutorial ============ */
.help-fab{position:fixed;right:20px;bottom:20px;z-index:9998;
  background:var(--capim);color:var(--areia);border:2px solid var(--latao);
  border-radius:999px;padding:11px 18px 11px 14px;display:flex;align-items:center;gap:8px;
  font-family:var(--sans);font-weight:600;font-size:14px;cursor:pointer;
  box-shadow:0 6px 20px rgba(15,14,12,.25);transition:transform .15s,box-shadow .15s;}
.help-fab:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(15,14,12,.32);}
.help-fab .help-fab-q{width:22px;height:22px;border-radius:999px;background:var(--latao);
  color:var(--capim);display:flex;align-items:center;justify-content:center;
  font-family:var(--serif);font-weight:700;font-size:15px;}
.help-overlay{position:fixed;inset:0;z-index:9999;background:rgba(15,14,12,.55);
  display:flex;align-items:center;justify-content:center;padding:20px;
  animation:helpFade .18s ease-out;}
@keyframes helpFade{from{opacity:0}to{opacity:1}}
.help-modal{background:#FBF7EE;border:1px solid var(--latao);border-radius:14px;
  width:100%;max-width:640px;max-height:88vh;display:flex;flex-direction:column;
  box-shadow:0 30px 80px rgba(15,14,12,.4);overflow:hidden;
  animation:helpUp .22s ease-out;}
@keyframes helpUp{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}
.help-head{display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;border-bottom:1px solid rgba(168,136,74,.25);background:var(--capim);color:var(--areia);}
.help-head .help-eyebrow{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--latao);font-weight:700;}
.help-head h3{margin:4px 0 0;color:var(--areia);font-family:var(--serif);font-size:22px;font-weight:600;line-height:1.15;}
.help-close{background:transparent;border:none;color:var(--areia);font-size:22px;cursor:pointer;
  padding:4px 8px;border-radius:6px;line-height:1;}
.help-close:hover{background:rgba(232,223,203,.15);}
.help-body{padding:22px 24px;overflow-y:auto;color:var(--oleo);font-size:14.5px;line-height:1.6;}
.help-body p{margin:0 0 10px;}
.help-body p:last-child{margin-bottom:0;}
.help-body ul{margin:6px 0 0;padding-left:20px;}
.help-body ul li{margin-bottom:4px;}
.help-foot{display:flex;align-items:center;gap:10px;padding:14px 22px;
  border-top:1px solid rgba(168,136,74,.25);background:#F5EFE0;}
.help-steps{display:flex;gap:5px;flex:1;}
.help-step-dot{width:7px;height:7px;border-radius:999px;background:rgba(74,56,41,.2);transition:background .15s;}
.help-step-dot.active{background:var(--capim);}
.help-step-dot.done{background:var(--latao);}
.help-btn{font-family:var(--sans);font-weight:600;font-size:13px;padding:9px 16px;
  border-radius:8px;cursor:pointer;border:1px solid var(--capim);background:transparent;color:var(--capim);}
.help-btn:hover{background:rgba(45,58,31,.06);}
.help-btn.primary{background:var(--capim);color:var(--areia);}
.help-btn.primary:hover{background:#1f2a14;}
.help-btn.ghost{border-color:transparent;color:var(--tabaco);}
.help-btn:disabled{opacity:.4;cursor:not-allowed;}
.help-go{display:inline-flex;align-items:center;gap:6px;margin-top:14px;
  font-family:var(--sans);font-weight:600;font-size:13px;padding:9px 14px;
  border-radius:8px;cursor:pointer;border:1px solid var(--latao);
  background:rgba(168,136,74,.1);color:var(--capim);}
.help-go:hover{background:rgba(168,136,74,.2);}
@media (max-width:640px){
  .help-fab span.help-fab-label{display:none;}
  .help-fab{padding:11px;}
}

/* ============ Preview ao vivo da capa do mídia kit ============ */
.pf-capa-preview-bloco{margin-top:18px;padding:14px;border:1px dashed var(--linha);
  border-radius:8px;background:#FBF7EE;}
.pf-capa-preview-head{display:flex;flex-wrap:wrap;justify-content:space-between;
  align-items:center;gap:10px;margin-bottom:12px;}
.pf-capa-preview-head .sub{color:#7a6a4f;font-size:12px;}
.pf-capa-preview-tabs{display:flex;gap:4px;flex-wrap:wrap;background:var(--papel-2);
  padding:3px;border-radius:7px;border:1px solid var(--linha);}
.pf-fmt-tab{font-family:var(--sans);font-size:11.5px;font-weight:600;letter-spacing:.3px;
  padding:6px 10px;border:none;background:transparent;color:var(--tabaco);
  border-radius:5px;cursor:pointer;transition:background .12s,color .12s;}
.pf-fmt-tab:hover{color:var(--capim);}
.pf-fmt-tab.active{background:var(--capim);color:var(--areia);box-shadow:0 1px 3px rgba(0,0,0,.15);}
#pf-capa-preview-host{display:flex;justify-content:center;align-items:flex-start;}

/* Mini-deck dentro do editor: container de tamanho fixo + slide escalado por dentro */
.pf-capa-preview{position:relative;overflow:hidden;background:#fff;margin:0 auto;
  border:1px solid var(--linha);box-shadow:0 8px 24px rgba(15,14,12,.18);max-width:100%;}
.pf-capa-preview .pf-slide{transform-origin:top left;border-bottom:none;
  page-break-after:auto;position:absolute;top:0;left:0;}
.pf-capa-preview .pf-foot{display:none;}

/* A4 paisagem, 297×210mm reais, exibidos a 540×382 */
.pf-capa-preview[data-fmt="a4"]{width:540px;height:382px;}
.pf-capa-preview[data-fmt="a4"] .pf-slide{width:297mm;height:210mm;transform:scale(.481);}

/* Slide 16:9, usamos 320×180mm para manter densidade tipográfica próxima */
.pf-capa-preview[data-fmt="169"]{width:540px;height:304px;}
.pf-capa-preview[data-fmt="169"] .pf-slide{width:320mm;height:180mm;
  padding:18mm 24mm 22mm;transform:scale(.446);}

/* Story 9:16, 180×320mm reais, exibidos com altura ~480px */
.pf-capa-preview[data-fmt="916"]{width:270px;height:480px;}
.pf-capa-preview[data-fmt="916"] .pf-slide{width:180mm;height:320mm;
  padding:18mm 16mm 22mm;transform:scale(.396);}

/* 9:16, capa vertical empilha texto e imagem */
.pf-capa-preview[data-fmt="916"] .pf-capa{flex-direction:column;}
.pf-capa-preview[data-fmt="916"] .pf-capa--dividida .pf-capa-text,
.pf-capa-preview[data-fmt="916"] .pf-capa--fundador .pf-capa-text{flex:0 0 auto;padding:18mm 16mm 8mm;}
.pf-capa-preview[data-fmt="916"] .pf-capa--dividida .pf-capa-img,
.pf-capa-preview[data-fmt="916"] .pf-capa--fundador .pf-capa-portrait{flex:1 1 auto;width:100%;min-height:0;}
.pf-capa-preview[data-fmt="916"] .pf-capa-q{font-size:46px;max-width:none;}

/* 16:9, respiros laterais ligeiramente maiores */
.pf-capa-preview[data-fmt="169"] .pf-capa--imagem .pf-capa-overlay{padding:22mm 28mm;}

/* ===== Chips de checklist (passo 4 do wizard) ===== */
.chip-grid-head{display:flex;justify-content:flex-end;margin-bottom:6px;}
.chip-toggle-all{background:none;border:1px solid var(--linha);color:var(--tabaco);
  font-size:12px;padding:5px 11px;border-radius:3px;cursor:pointer;font-weight:500;}
.chip-toggle-all:hover{background:var(--papel);border-color:var(--latao);color:var(--latao);}
.chip-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:8px;margin:8px 0 10px}
.chip-check{display:flex;align-items:center;gap:8px;padding:10px 12px;
  border:1.5px solid #d8cdb3;background:#fbf7ec;color:var(--oleo);
  border-radius:10px;cursor:pointer;font-size:13.5px;line-height:1.25;
  transition:all .15s ease;user-select:none;text-align:left}
.chip-check:hover{border-color:var(--latao);background:#f5edd6}
.chip-check.sel{background:var(--capim);color:var(--areia);border-color:var(--latao);font-weight:500}
.chip-check .mk{display:inline-flex;align-items:center;justify-content:center;
  width:18px;height:18px;border-radius:5px;border:1.5px solid currentColor;
  flex-shrink:0;font-size:12px;font-weight:700}
.chip-check.sel .mk{background:var(--latao);border-color:var(--latao);color:#fff}
.chip-check .x{margin-left:auto;font-size:16px;opacity:.55;padding:0 4px;
  border-radius:4px;cursor:pointer}
.chip-check .x:hover{opacity:1;background:rgba(0,0,0,.08)}
.chip-check.custom{border-style:dashed;font-style:italic}
.chip-check.custom.sel{font-style:normal}
.chip-add{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;
  border:1.5px dashed var(--latao);background:transparent;color:var(--tabaco);
  border-radius:10px;cursor:pointer;font-size:13px;font-weight:600;margin-top:4px}
.chip-add:hover{background:#f5edd6;color:var(--capim)}

/* ===== Cards de pacote Essencial/Padrão/Premium ===== */
.tier-head{margin:-2px -2px 12px;padding:12px 14px;border-radius:10px;
  background:linear-gradient(135deg,#f5edd6,#ebe1c5);border:1px solid #d8cdb3}
.tier-head .tier-name{font-family:var(--serif);font-size:18px;color:var(--capim);
  font-weight:700;margin-bottom:2px}
.tier-head .tier-for{font-size:12.5px;color:var(--tabaco);font-style:italic;margin-bottom:8px}
.tier-head .tier-itens{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 8px}
.tier-head .tier-itens span{background:rgba(168,136,74,.15);color:var(--tabaco);
  font-size:11.5px;padding:3px 8px;border-radius:6px;font-weight:500}
.tier-head .tier-when{font-size:12px;color:var(--tabaco);
  border-top:1px dashed rgba(168,136,74,.4);padding-top:6px;margin-top:6px}
.tier-head.padrao{background:linear-gradient(135deg,var(--capim),#3d4f29);
  border-color:var(--latao)}
.tier-head.padrao .tier-name,
.tier-head.padrao .tier-for,
.tier-head.padrao .tier-when{color:var(--areia)}
.tier-head.padrao .tier-itens span{background:rgba(232,223,203,.18);color:var(--areia)}

/* Portfólio: slide "Para quem é" */
.pf-deck .pf-paraquem-titulo{font-family:var(--serif,Georgia,serif);font-size:22px;line-height:1.3;color:var(--musgo,#2d4a2b);margin:0 0 18px;font-style:italic;}
.pf-deck .pf-paraquem-lista{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px;}
.pf-deck .pf-paraquem-lista li{position:relative;padding-left:24px;font-size:16px;line-height:1.5;color:#3a3a3a;}
.pf-deck .pf-paraquem-lista li:before{content:"✓";position:absolute;left:0;top:0;color:var(--latao,#b88a3a);font-weight:bold;}

/* Portfólio: slide "Serviços oferecidos" */
.pf-deck .pf-svc-grid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;}
.pf-deck .pf-svc-grid li{position:relative;padding-left:18px;font-size:15px;line-height:1.4;color:#3a3a3a;border-bottom:1px solid var(--linha,#e5dccb);padding-bottom:6px;}
.pf-deck .pf-svc-grid li:before{content:"•";position:absolute;left:0;top:0;color:var(--latao,#b88a3a);font-weight:bold;}

/* ---------- Origem do lead (chips) ---------- */
.origem-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.origem-chips .chip{cursor:pointer;border:1px solid var(--linha,#e5dccb);background:#fff;padding:6px 12px;border-radius:999px;font-size:13px;color:#4a4a4a;display:inline-flex;align-items:center;gap:6px;transition:all .15s}
.origem-chips .chip input{display:none}
.origem-chips .chip:hover{border-color:var(--latao,#b88a3a)}
.origem-chips .chip.on{background:var(--musgo,#2d4a2b);color:#fff;border-color:var(--musgo,#2d4a2b)}

/* ---------- Dashboard ---------- */
.dash-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 20px;align-items:center}
.dash-toolbar .dash-tabs{display:flex;flex-wrap:wrap;gap:8px}
.dash-toolbar #dash-export{margin-left:auto}
.dash-tab{cursor:pointer;border:1px solid var(--linha,#e5dccb);background:#fff;padding:8px 14px;border-radius:8px;font-size:13px;color:#4a4a4a;font-weight:500;transition:all .15s}
.dash-tab:hover{border-color:var(--latao,#b88a3a)}
.dash-tab.on{background:var(--musgo,#2d4a2b);color:#fff;border-color:var(--musgo,#2d4a2b)}

.dash-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;margin-bottom:22px}
.dash-kpi{background:#fff;border:1px solid var(--linha,#e5dccb);border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.dash-kpi .dk-lbl{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:8px;font-weight:600}
.dash-kpi .dk-num{font-size:26px;font-weight:700;color:var(--musgo,#2d4a2b);line-height:1.1}
.dash-kpi .dk-meta{font-size:12px;color:#666;margin-top:6px}

.dash-funil{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.df-row{display:grid;grid-template-columns:120px 1fr 44px;gap:12px;align-items:center}
.df-lbl{font-size:13px;color:#4a4a4a;font-weight:500}
.df-bar-wrap{background:#f3efe6;border-radius:6px;height:22px;overflow:hidden}
.df-bar{height:100%;border-radius:6px;transition:width .3s;min-width:2px}
.df-bar.df-rascunho{background:#b8b0a0}
.df-bar.df-enviada{background:#5b8fbf}
.df-bar.df-negociacao{background:#d4a14a}
.df-bar.df-fechada{background:#5a8f47}
.df-bar.df-perdida{background:#c5634b}
.df-num{font-weight:600;text-align:right;font-size:14px;color:#333}

.dash-table-wrap{overflow-x:auto;margin-top:10px}
.dash-table{width:100%;border-collapse:collapse;font-size:14px}
.dash-table th{text-align:left;padding:10px 12px;border-bottom:2px solid var(--linha,#e5dccb);color:#666;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;white-space:nowrap}
.dash-table td{padding:12px;border-bottom:1px solid #f0eadf;white-space:nowrap}
.dash-table tr:last-child td{border-bottom:none}
.dash-table tr:hover td{background:#faf7f0}

.grid-2-dash{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}
@media(max-width:1023px){.grid-2-dash{grid-template-columns:1fr}.df-row{grid-template-columns:90px 1fr 36px}}

/* Auto-save indicator (formulários) */
.autosave-ind{transition:opacity .2s;letter-spacing:.02em}
.autosave-ind[data-state="saving"]{color:var(--musgo,#6b7a55)}
.autosave-ind[data-state="saved"]{color:var(--capim,#3d6b3a)}
.autosave-ind[data-state="error"]{color:#a13a2a}
#emp-autosave-ind{transition:opacity .2s;letter-spacing:.02em}
#emp-autosave-ind[data-state="saving"]{color:var(--musgo,#6b7a55)}
#emp-autosave-ind[data-state="saved"]{color:var(--capim,#3d6b3a)}
#emp-autosave-ind[data-state="error"]{color:#a13a2a}

/* Pendências comerciais */
.pend-badge{display:inline-block;min-width:18px;padding:1px 6px;margin-left:4px;border-radius:999px;background:#a13a2a;color:#fff;font-size:11px;font-weight:600;line-height:1.4;text-align:center}
.pend-faixa{display:inline-block;padding:2px 8px;margin-left:6px;border-radius:999px;font-size:11px;font-weight:600;letter-spacing:.02em;text-transform:lowercase;background:#eee;color:#333}
.pend-faixa.pf-recente{background:#e6f0e2;color:#3d6b3a}
.pend-faixa.pf-hora-de-retornar{background:#fff4d6;color:#7a5a10}
.pend-faixa.pf-esfriando{background:#ffe6cc;color:#8a4a10}
.pend-faixa.pf-precisa-de-atenção,.pend-faixa.pf-precisa-de-atencao{background:#fbd6cf;color:#a13a2a}
.pend-faixa.pf-provavelmente-perdida{background:#3a3a3a;color:#fff}
.rep-modal{position:fixed;inset:0;background:rgba(20,15,8,.55);z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.rep-modal-box{background:#fff;border-radius:12px;max-width:640px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.rep-modal-head{padding:16px 20px;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.rep-modal-body{overflow-y:auto;padding:8px 20px 20px}
.rep-row{display:grid;grid-template-columns:1fr 200px auto;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #f2ede1}
.rep-row:last-child{border-bottom:0}
.rep-nome{font-weight:600}
.rep-nome .meta{font-weight:400;color:#8a7f6a;margin-left:4px}
.rep-status{font-size:12px;color:#3d6b3a;min-width:70px}
.rep-sel{padding:6px 8px;border:1px solid #d9d0bd;border-radius:6px;background:#fff}
@media(max-width:640px){.rep-row{grid-template-columns:1fr}}

/* ---------- PIPELINE (cliente), cartões orientados ao comportamento ---------- */
.kcol-sub{font-size:11px;color:#6b6455;padding:0 6px 8px;margin-top:-4px}
.kcol-sub b{color:var(--capim,#3a4a2a)}
.kcol[data-pipe="a_enviar"]{background:#f0ecdf;border-color:#cec4a8}
.kcol[data-pipe="enviada_nao_abriu"]{background:#eef0f5;border-color:#c4c9d6}
.kcol[data-pipe="enviada_nao_abriu"] .kcol-h{color:#42506e}
.kcol[data-pipe="viu_nao_respondeu"]{background:#eef4ea;border-color:#bcd4b0}
.kcol[data-pipe="viu_nao_respondeu"] .kcol-h{color:#3d6b3a}
.kcol[data-pipe="negociando"]{background:#fbf3de;border-color:#e2cf95}
.kcol[data-pipe="negociando"] .kcol-h{color:#7a5d1f}
.kcard{cursor:pointer}
.kcard-cold1{border-color:#e2b872;box-shadow:0 0 0 1px #e2b872 inset}
.kcard-cold2{border-color:#c0554a;box-shadow:0 0 0 1px #c0554a inset,0 1px 3px rgba(192,85,74,.18)}
.kcard-noplan{background:#fffbf3}
.kcard-plan{font-size:12px;margin-top:6px;color:#3d6b3a}
.kcard-plan.kp-warn{color:#8a5a1f;font-weight:600}
.kcard-acts{margin-top:10px;padding-top:8px;border-top:1px dashed #d9cfb8;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.kcard-btn{background:#fff;border:1px solid #d9cfb8;border-radius:14px;padding:5px 10px;font-size:12px;color:#3a4a2a;cursor:pointer;line-height:1}
.kcard-btn:hover{background:#f7f4ec;border-color:#b8ab8a}
.kcard-btn-main{background:#7a5a1a;border-color:#7a5a1a;color:#fff;font-weight:600}
.kcard-btn-main:hover{background:#66490f;border-color:#66490f;color:#fff}
.kcard-move{display:flex;align-items:center;gap:4px;font-size:11px;color:#666;margin-left:auto}
.kcard-move select{padding:4px 6px;border:1px solid #d9cfb8;border-radius:6px;background:#fff;font-size:12px}
@media(max-width:640px){
  .kcard-acts{gap:8px}
  .kcard-btn{padding:8px 12px;font-size:13px;min-height:36px}
  .kcard-move{width:100%;margin:6px 0 0;justify-content:space-between}
  .kcard-move select{flex:1;padding:8px;font-size:14px;min-height:36px}
}

/* ---------- DASHBOARD como fila de ação ---------- */
.dash-frase{font-size:15px;color:#4a4635;margin-top:6px;max-width:640px;line-height:1.5}
.dash-acoes-card{margin-bottom:22px}
.dash-fila{display:flex;flex-direction:column;gap:10px;margin-top:10px}
.dash-acao{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;background:#fff;border:1px solid #e5dccb;border-left:4px solid #d9cfb8;border-radius:8px}
.dash-acao.prio-1{border-left-color:#c0554a;background:#fdf5f4}
.dash-acao.prio-2{border-left-color:#d68a3a;background:#fdf7ee}
.dash-acao.prio-3{border-left-color:#3d6b3a;background:#f2f7ee}
.dash-acao.prio-4{border-left-color:#7a5d1f}
.dash-acao.prio-5{border-left-color:#8a7f6a}
.da-body{min-width:0}
.da-cli{font-weight:600;color:#2d4a2b;font-size:15px}
.da-mot{font-size:13px;color:#5a5445;margin-top:2px}
.da-val{font-size:12px;color:#6b6455;margin-top:2px}
.da-acts{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:flex-end}
.da-btn{min-height:44px;padding:10px 16px;font-weight:600;white-space:nowrap}
.da-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;width:100%;margin-top:6px;padding:10px;background:#f0ecdf;border-radius:8px}
.da-inline-lbl{font-size:12px;font-weight:600;color:#3a4a2a;text-transform:uppercase;letter-spacing:.03em}
.da-inline-input{min-height:44px;padding:8px 10px;border:1px solid #d9cfb8;border-radius:6px;font-size:15px;background:#fff}
.dash-vazio{padding:22px;text-align:center;color:#3d6b3a;background:#f2f7ee;border:1px dashed #b8d3a8;border-radius:8px;font-size:15px}
.dash-num-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin-top:8px}
.dash-num{background:#fff;border:1px solid #e5dccb;border-radius:12px;padding:16px 18px;box-shadow:0 1px 2px rgba(0,0,0,.03)}
.dash-num .dn-lbl{font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:#888;margin-bottom:6px;font-weight:600}
.dash-num .dn-val{font-size:26px;font-weight:700;color:var(--musgo,#2d4a2b);line-height:1.1}
.dash-num .dn-meta{font-size:12px;color:#6b6455;margin-top:6px}
.dash-num-hero{background:linear-gradient(135deg,#2d4a2b,#3d5e3a);border:none;color:#fff}
.dash-num-hero .dn-lbl{color:rgba(255,255,255,.75)}
.dash-num-hero .dn-val{color:#fff;font-size:38px}
.dash-num-hero .dn-meta{color:rgba(255,255,255,.75)}
@media(max-width:640px){
  .dash-acao{grid-template-columns:1fr;align-items:flex-start}
  .da-acts{justify-content:flex-start;width:100%}
  .da-btn{flex:1 1 auto;min-width:0}
}

/* KEBAB (menu de "mais ações") */
.kebab-wrap{position:relative;display:inline-block;}
.kebab-btn{min-width:44px;min-height:44px;font-size:22px;line-height:1;padding:6px 12px;}
.kebab-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:40;
  background:var(--papel);border:1px solid var(--linha);border-radius:6px;
  min-width:220px;box-shadow:0 8px 22px rgba(0,0,0,.14);padding:6px;display:flex;flex-direction:column;gap:2px;}
.kebab-menu[hidden]{display:none;}
.kebab-item{background:none;border:none;text-align:left;padding:11px 12px;min-height:44px;
  cursor:pointer;color:var(--capim);font-family:var(--sans);font-size:14px;border-radius:4px;}
.kebab-item:hover{background:rgba(74,56,41,.07);}
.action-bar{flex-wrap:wrap;gap:8px;align-items:center;}
.action-bar .btn{min-height:44px;}

/* === Escala tipográfica atualizada, legibilidade sob luz do sol === */
body{font-size:15.5px;}
label{font-size:13.5px;color:#3a2e18;}
.hint{color:#6b5a3a;font-size:12.5px;}
.pagehead p{font-size:15.5px;color:#3a2e18;}
.stat .lbl{font-size:12.5px;color:#3a2e18;}
.stat .meta{font-size:13px;color:#5a4a30;}
.kcard{font-size:13.5px;}
.kcard-m{font-size:13px;color:#4a3820;}
.kcard-t{font-size:14px;}
.kcard-val{font-size:14px;}
.kcol-h{font-size:14px;color:#2b3a1c;}
.kcol-n{font-size:12px;color:#3a2e18;}
.kcol-foot{font-size:13px;color:#3a2e18;}
.card .sub{font-size:14px;color:#3a2e18;}
.badge{font-size:12px;}
.listrow .meta{font-size:13px;color:#4a3820;}

/* === Kanban: largura mínima 280px, indicação de scroll, colunas colapsáveis === */
.kanban{position:relative;scroll-snap-type:x proximity;}
.kanban::after{
  content:"";position:sticky;right:0;top:0;width:24px;height:100%;
  background:linear-gradient(90deg,transparent,rgba(0,0,0,.08));
  pointer-events:none;flex:0 0 auto;align-self:stretch;
}
.kcol{min-width:280px;max-width:340px;flex:0 0 280px;scroll-snap-align:start;}
.kcol.kcol-collapsed{min-width:56px;max-width:56px;flex:0 0 56px;padding:8px 4px;}
.kcol.kcol-collapsed .kcol-body,.kcol.kcol-collapsed .kcol-sub,.kcol.kcol-collapsed .kcol-foot{display:none;}
.kcol.kcol-collapsed .kcol-h{writing-mode:vertical-rl;transform:rotate(180deg);justify-content:flex-start;padding:6px 2px;gap:6px;}
.kcol-toggle{background:none;border:0;color:inherit;cursor:pointer;font-size:14px;padding:2px 6px;line-height:1;opacity:.65;}
.kcol-toggle:hover{opacity:1;}
@media(max-width:640px){
  .kanban::after{display:none;}
  .kcol{min-width:0;max-width:none;flex:1 1 auto;}
  .kcol.kcol-collapsed{min-width:0;max-width:none;flex:1 1 auto;padding:10px;}
  .kcol.kcol-collapsed .kcol-body,.kcol.kcol-collapsed .kcol-sub,.kcol.kcol-collapsed .kcol-foot{display:flex;}
  .kcol.kcol-collapsed .kcol-h{writing-mode:horizontal-tb;transform:none;}
}

/* === Abas de Configurações === */
.cfg-tabs{display:flex;gap:6px;flex-wrap:wrap;border-bottom:1px solid var(--linha,#d9cfb8);margin-bottom:16px;padding-bottom:0;}
.cfg-tab{background:none;border:0;border-bottom:3px solid transparent;padding:10px 16px;font-size:14px;font-weight:600;color:#5a4a30;cursor:pointer;margin-bottom:-1px;}
.cfg-tab.active{color:var(--capim,#2d3a1f);border-bottom-color:var(--capim,#2d3a1f);}
.cfg-tab:hover:not(.active){color:#2d3a1f;}

/* === Zona de perigo === */
.danger-zone{border-color:#c89a8e !important;background:#fbf3ee;}
.danger-zone h3{color:#7a2e22;}
.danger-list{display:flex;flex-direction:column;gap:12px;margin-top:12px;}
.danger-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;background:#fff;border:1px solid #e6c9bf;border-radius:8px;flex-wrap:wrap;}
.danger-txt{flex:1 1 220px;min-width:0;}
.danger-t{font-weight:600;color:#7a2e22;font-size:14px;}
.danger-d{font-size:13px;color:#5a4a30;margin-top:2px;}
.danger-conf{display:flex;gap:8px;align-items:center;flex:0 0 auto;}
.danger-conf input{width:150px;padding:8px 10px;border:1px solid #c89a8e;border-radius:6px;font-size:13px;text-transform:uppercase;letter-spacing:1px;}
.danger-conf .btn.danger[disabled]{opacity:.45;cursor:not-allowed;}

/* ===== Admin: varredura de cidade ===== */
.varr-segs{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:6px;margin-top:8px}
.varr-log div{padding:2px 0;border-bottom:1px dashed rgba(0,0,0,.06)}
.danger-box{background:#fdecea;border:1px solid #f2b8b1;color:#7a1c12;border-radius:10px;padding:10px;font-size:13.5px}

/* ===== Painel Admin: barra de abas =====
   As classes .tabs/.admin-tabs/.tab eram usadas pelo HTML do Painel Admin mas
   NÃO existiam neste arquivo, por isso os botões apareciam colados, sem
   separação, sem estado ativo e sem área de clique adequada.
   Estilo escopado em .admin-tabs: não afeta nenhuma outra tela.
   No celular as abas quebram em várias linhas (sem rolagem escondida). */
.admin-tabs{
  display:flex;
  flex-wrap:wrap;                 /* quebra organizada em telas estreitas */
  gap:8px;
  align-items:stretch;
  margin-bottom:4px;
  padding-bottom:10px;
  border-bottom:1px solid var(--linha);
}
.admin-tabs .tab{
  flex:0 0 auto;
  max-width:100%;
  min-height:44px;                /* área de toque confortável */
  padding:10px 16px;
  font-family:var(--sans);
  font-size:14px;
  font-weight:600;
  line-height:1.25;
  color:var(--tabaco);
  background:var(--papel-2);
  border:1px solid var(--linha);
  border-radius:6px;
  cursor:pointer;
  white-space:normal;             /* não corta "Varredura de cidade" */
  text-align:center;
  transition:background .15s, border-color .15s, color .15s;
}
.admin-tabs .tab:hover{
  background:#fff;
  border-color:var(--latao);
  color:var(--capim);
}
.admin-tabs .tab:focus-visible{
  outline:2px solid var(--latao);
  outline-offset:2px;
}
.admin-tabs .tab.active{
  background:var(--capim);
  color:var(--areia);
  border-color:var(--capim);
  box-shadow:inset 0 -3px 0 var(--latao);   /* dourado discreto marcando o ativo */
}
.admin-tabs .tab.active:hover{
  background:var(--capim);
  color:var(--areia);
}
@media(max-width:640px){
  .admin-tabs{gap:6px;}
  .admin-tabs .tab{
    flex:1 1 calc(50% - 6px);     /* 2 por linha no celular */
    padding:10px 10px;
    font-size:13.5px;
  }
}

/* ===== Mobile: campos com 16px para não disparar zoom automático no iPhone =====
   O iOS Safari amplia a página sozinho quando o campo em foco tem menos de 16px.
   Isso tirava o usuário do lugar e obrigava a pinçar a tela de volta.
   Aplicado só em telas de toque (≤768px): a tipografia do desktop não muda.
   Só aumenta fonte, nunca reduz, nada que já esteja maior é afetado.
   Padding e min-height não são tocados. */
@media(max-width:1023px){
  input[type=text],input[type=number],input[type=email],input[type=date],
  input[type=tel],input[type=password],input[type=search],
  textarea,select{
    font-size:16px;
  }
  .crm-toolbar input[type=text],.crm-toolbar select,
  .kcard-move select,
  .da-inline-input,
  .danger-conf input,
  .login-form input,
  .etapas-edit-row .ec-txt,
  .rep-sel,
  .equipe-tbl .lim-inp{
    font-size:16px;
  }
}

/* ===== Mobile: botão Ajuda acima da barra inferior =====
   A Ajuda ficava em bottom:20px com z-index 9998, dentro dos 68px ocupados pela
   barra de navegação (z-index 60), cobria o item "Mais" e bloqueava o toque.
   Sobe para a mesma faixa livre já usada pelo botão "+" (.fab-nova, bottom 80px),
   deslocada para a esquerda para que os dois não se sobreponham.
   A Ajuda continua sempre visível; no desktop nada muda (a barra não existe lá). */
@media(max-width:1023px){
  .help-fab{
    bottom:calc(80px + env(safe-area-inset-bottom,0));
    right:84px;
    z-index:64;
  }
}
@media(max-width:640px){
  .help-fab{right:80px;}
}

/* =========================================================
   ROD. UX 2026, 5 ÁREAS, TIPOGRAFIA, DENSIDADE E MOBILE
   (bloco final: sobrescreve o que vier acima)
   ========================================================= */

/* ---- 1. ESCALA TIPOGRÁFICA ÚNICA ---- */
:root{
  --t-titulo:28px;      /* título de página */
  --t-secao:19px;       /* subtítulo de seção */
  --t-corpo:16px;       /* corpo e formulários */
  --t-dado:22px;        /* números, valores em R$ */
  --t-label:13px;       /* legendas */
}
body{font-size:var(--t-corpo);line-height:1.5;}
.wrap{font-size:var(--t-corpo);}
h1,.pagehead h1{font-size:var(--t-titulo);font-weight:700;line-height:1.15;}
h2{font-size:22px;font-weight:700;}
h3,.card h3{font-size:var(--t-secao);font-weight:600;line-height:1.25;}
h4{font-size:17px;font-weight:600;}
p,li,td,th,.card,.empty,.hint,.muted{font-size:var(--t-corpo);}
.pagehead p{font-size:var(--t-corpo);color:var(--tabaco);max-width:70ch;}
small,.small{font-size:14px;}
label,.eyebrow,.stat .lbl,.lbl{font-size:var(--t-label);letter-spacing:.06em;text-transform:uppercase;
  font-weight:700;color:var(--tabaco);opacity:.9;}
.card .sub,.stat .meta,.hint{font-size:14.5px;}
input,select,textarea,.btn,button{font-size:var(--t-corpo);}
.btn{font-size:15.5px;font-weight:700;padding:12px 20px;min-height:46px;letter-spacing:.2px;}
.btn.sm{font-size:14.5px;padding:9px 14px;min-height:40px;}
/* Dados e números: maiores, tabulares, fortes */
.stat .num,.kpi-num,.big-num,.valor,.money{
  font-size:var(--t-dado);font-weight:700;font-variant-numeric:tabular-nums;
  font-feature-settings:"tnum" 1;letter-spacing:-.01em;color:var(--capim);}
.stat .num{font-size:34px;line-height:1;}
/* nada abaixo de 13px em texto de tela */
.wrap [style*="font-size:11px"],.wrap [style*="font-size:12px"],
.wrap [style*="font-size: 11px"],.wrap [style*="font-size: 12px"]{font-size:13.5px !important;}

/* ---- 2. NAVEGAÇÃO LATERAL (desktop) ---- */
@media(min-width:1024px){
  .app-nav{
    display:flex;flex-direction:column;align-items:stretch;gap:6px;
    position:fixed;top:0;left:0;bottom:0;width:248px;padding:18px 12px;
    background:var(--capim);color:var(--areia);overflow-y:auto;z-index:50;
    border-bottom:none;border-right:3px solid var(--latao);
  }
  .app-nav .brand{font-size:21px;margin:0 6px 14px;}
  .app-nav .nav-cta{width:100%;background:var(--latao);color:var(--capim);border:none;
    padding:13px 14px;font-weight:700;border-radius:4px;margin-bottom:12px;min-height:48px;}
  .app-nav .nav-primary{display:flex;flex-direction:column;align-items:stretch;gap:2px;overflow:visible;}
  .app-nav .nav-spacer{flex:1 1 auto;}
  .nav-group{display:block;}
  .navlink{display:flex;align-items:center;gap:10px;width:100%;text-align:left;
    padding:11px 12px;min-height:46px;border:none;border-radius:6px;
    font-size:16px;font-weight:600;color:rgba(232,223,203,.78);position:relative;}
  .navlink .nav-ico{display:inline-flex;flex:none;}
  .navlink:hover{background:rgba(255,255,255,.07);color:var(--areia);}
  .navlink.active{background:rgba(168,136,74,.22);color:var(--areia);border-bottom:none;}
  .nav-subs{display:flex;flex-direction:column;gap:2px;margin:2px 0 8px 14px;
    padding-left:10px;border-left:2px solid rgba(168,136,74,.5);}
  .nav-sub{background:none;border:none;text-align:left;cursor:pointer;
    color:rgba(232,223,203,.72);font-family:var(--sans);font-size:15px;
    padding:9px 10px;min-height:40px;border-radius:5px;}
  .nav-sub:hover{background:rgba(255,255,255,.07);color:var(--areia);}
  .nav-sub.active{color:var(--areia);font-weight:700;background:rgba(255,255,255,.10);}
  .nav-foot{display:flex;flex-direction:column;gap:6px;padding:10px 6px 4px;
    border-top:1px solid rgba(255,255,255,.15);margin-top:10px;}
  .nav-foot-link{background:none;border:none;text-align:left;cursor:pointer;padding:9px 6px;
    color:rgba(232,223,203,.75);font-family:var(--sans);font-size:15px;min-height:40px;text-decoration:none;}
  .nav-foot-link:hover{color:var(--areia);}
  .nav-dot{position:static;margin-left:6px;box-shadow:none;}
  /* Sistema, engrenagem no rodapé, fora das 5 áreas da jornada */
  .nav-sistema{display:block;}
  .nav-sistema-btn{font-size:15px;font-weight:600;padding:9px 10px;min-height:42px;cursor:pointer;}
  .nav-sistema .nav-subs{margin:2px 0 6px 12px;}

  /* conteúdo desloca para a direita (ver bloco 7, canônico) */
  .wrap{max-width:1060px;padding:30px 34px 70px;}
  .fab-nova{display:none !important;}
}

@media(max-width:1023px){
  .app-nav{display:none;}
}

/* ---- 3. BARRA INFERIOR (celular): 5 itens, ícone + rótulo ---- */
@media(max-width:1023px){
  .bottom-nav{display:grid;grid-template-columns:repeat(5,1fr);}
  .bnav-item{min-height:58px;padding:7px 2px 8px;gap:3px;}
  .bnav-lbl{display:block;font-size:11.5px;font-weight:600;line-height:1.1;
    white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
  .bnav-item.active{color:var(--areia);}
  .bnav-item.active .bnav-ico{color:var(--latao);}
}
.more-item{min-height:48px;font-size:16px;}
.more-title{font-size:19px;}

/* ---- 4. DENSIDADE ---- */
.wrap{padding-bottom:110px;}
.pagehead{margin-bottom:18px;}
.pagehead p{margin-top:4px;}
.card{padding:16px 18px;margin-bottom:14px;}
.card h3{margin-bottom:8px;}
.stat{padding:14px 16px;}
.grid-3{gap:12px;}
.empty{padding:26px 18px;}
.sec-block{margin-bottom:16px;}
.q-block{margin-bottom:14px;}
input,select,textarea{padding:11px 12px;}
label{margin-bottom:5px;}

/* ---- 5. RESPONSIVO DE VERDADE ---- */
html,body{overflow-x:hidden;}
.wrap,.card{max-width:100%;}
img{max-width:100%;height:auto;}
table{width:100%;}
@media(max-width:1023px){
  :root{--t-titulo:26px;--t-secao:18px;--t-dado:21px;}
  .wrap{padding:18px 14px 120px;}
  .grid-3,.grid-2,.grid-4{grid-template-columns:1fr !important;}
  .row,.form-row,.two-col{display:block !important;}
  .row > *,.form-row > *{width:100% !important;}
  .btn{width:auto;min-height:48px;}
  button,.btn,a.btn,.nav-sub,.more-item{min-height:44px;}
  table,thead,tbody,tr,td,th{display:block;width:100%;}
  thead{display:none;}
  tr{border:1px solid var(--linha);border-radius:4px;background:var(--papel);
    margin-bottom:10px;padding:8px 10px;}
  td{border:none;padding:5px 0;}
  .table-scroll,.scroll-x{overflow-x:auto;-webkit-overflow-scrolling:touch;}
}

/* ---- 6. CORREÇÃO DE ESTOURO: ÁREA INÍCIO (home e painel de vendas) ---- */
/* 6.1 movido para o bloco 7 (regra canônica de offset da barra lateral) */

/* 6.2 Celular: conteúdo acima da barra inferior + safe area */
@media(max-width:1023px){
  body{padding-bottom:calc(72px + env(safe-area-inset-bottom,0));}
  .wrap{padding-bottom:calc(104px + env(safe-area-inset-bottom,0));}
}

/* 6.3 Nada pode vazar horizontalmente */
.wrap,.card,.stat,.empty,.listrow,.dash-acao,.dash-num,.dash-fila,.dash-acoes-card{
  max-width:100%;min-width:0;}
.card,.stat,.dash-num,.dash-acao,.listrow{overflow-wrap:anywhere;word-break:break-word;}
.grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
.grid-2{grid-template-columns:repeat(2,minmax(0,1fr));}
.dash-num-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));}
.dash-acao{grid-template-columns:minmax(0,1fr) minmax(0,auto);}
.da-body,.da-acts,.listrow>*,.btn-row>*{min-width:0;}
.da-acts .btn,.btn-row .btn{max-width:100%;white-space:normal;}
.da-inline{display:flex;flex-wrap:wrap;gap:8px;align-items:center;min-width:0;}
.da-inline .da-inline-input{max-width:100%;}
/* filhos de flex inline (cartão de vendas do mês na home) podem encolher */
.wrap [style*="display:flex"] > *{min-width:0;}

/* 6.4 Números grandes reduzem quando falta espaço */
.stat .num{font-size:clamp(22px,6vw,34px);line-height:1.05;overflow-wrap:anywhere;}
.dash-num .dn-val{font-size:clamp(20px,4.8vw,26px);overflow-wrap:anywhere;}
.dash-num-hero .dn-val{font-size:clamp(24px,7vw,38px);}
.pagehead h1{overflow-wrap:anywhere;}
.wrap [style*="font-size:24px"]{font-size:clamp(18px,5vw,24px) !important;line-height:1.2;}

/* 6.5 Celular: resumo e fila de ação em uma coluna */
@media(max-width:1023px){
  .grid-3,.grid-2{grid-template-columns:1fr !important;}
  /* Fase 6, no celular no máximo 2 números por linha, sem poluir. */
  .dash-num-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .dash-num{padding:12px 12px;}
  .dash-num .dn-val{font-size:20px;}
  .dash-num .dn-meta{font-size:11px;}
  .dash-acao{grid-template-columns:1fr !important;}
  .da-acts{width:100%;justify-content:flex-start;}
  .listrow{flex-direction:column;align-items:stretch;gap:8px;}
  .dash-acoes-card{padding:14px;}
}
/* 6.6 A caixa de agendamento não pode espremer o texto do cartão */
.da-acts{max-width:min(100%,420px);}
.da-inline{flex:1 0 100%;}

/* ================= 7. OFFSET CANÔNICO DA BARRA LATERAL =================
   Uma única variável controla a largura da barra lateral E o deslocamento
   do conteúdo, para nunca divergirem. Aplicado no layout raiz (body),
   pai comum de TODAS as views, e não tela a tela. */
:root{--sidebar-w:248px;--bottom-nav-h:72px;}

/* celular: sem barra lateral, offset zero */
@media(max-width:1023px){
  :root{--sidebar-w:0px;}
  body{padding-left:0 !important;padding-right:0;}
}

/* desktop: só desloca quando a barra lateral existe na página
   (a tela de login e as páginas públicas não têm .app-nav) */
@media(min-width:1024px){
  .app-nav{width:var(--sidebar-w);}
  body{padding-left:0;}
  body:has(> nav.app-nav),
  body:has(nav.app-nav){padding-left:var(--sidebar-w);}
  .wrap{margin-left:auto;margin-right:auto;width:100%;max-width:1060px;}
  /* elementos fixos do conteúdo também respeitam o offset */
  body:has(nav.app-nav) .toast{left:calc(50% + var(--sidebar-w)/2);}
  body:has(nav.app-nav) .pdf-preview-overlay,
  body:has(nav.app-nav) .limite-ia-overlay,
  body:has(nav.app-nav) .rep-modal,
  body:has(nav.app-nav) .help-overlay{left:var(--sidebar-w);}
  body:has(nav.app-nav) .sticky-bar,
  body:has(nav.app-nav) .prospec-actionbar{left:var(--sidebar-w);}
}

/* celular: nada cortado no fim da página (barra inferior + safe area) */
@media(max-width:1023px){
  body{padding-bottom:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom,0));}
  .wrap{padding-bottom:calc(var(--bottom-nav-h) + 40px + env(safe-area-inset-bottom,0));}
  .toast{left:12px;right:12px;transform:none;bottom:calc(var(--bottom-nav-h) + 16px + env(safe-area-inset-bottom,0));}
}

/* trava geral contra vazamento horizontal em qualquer módulo */
html,body{max-width:100%;overflow-x:hidden;}
.wrap > *{min-width:0;max-width:100%;}
.kanban,.table-scroll,.scroll-x,.pipeline-cols{max-width:100%;overflow-x:auto;}

/* ================= 8. RODADA 2: DENSIDADE E TIPOGRAFIA FLUIDA ================= */

/* 8.1 Escala tipográfica fluida (substitui os tamanhos fixos da rodada 1) */
:root{
  --t-titulo:clamp(22px, 1.6vw + 14px, 30px);
  --t-secao:clamp(17px, 1vw + 12px, 20px);
  --t-corpo:16px;
  --t-dado:clamp(20px, 1.8vw + 10px, 34px);
  --t-label:13px;
}
@media(max-width:1023px){
  /* no celular a escala fluida já cai sozinha; nada de tamanho gigante */
  :root{--t-titulo:clamp(21px, 4.4vw + 8px, 26px);--t-dado:clamp(20px, 5vw + 4px, 26px);}
}
h1,.pagehead h1{font-size:var(--t-titulo);}
h2{font-size:clamp(19px, 1.2vw + 13px, 24px);}
h3,.card h3{font-size:var(--t-secao);}
h4{font-size:clamp(16px, .5vw + 14px, 18px);}
.stat .num,.kpi-num,.big-num,.valor,.money{font-size:var(--t-dado);}
.stat .num{font-size:var(--t-dado);line-height:1.05;}
.dash-num .dn-val{font-size:clamp(20px, 1.6vw + 10px, 28px);}
.dash-num-hero .dn-val{font-size:clamp(22px, 2vw + 12px, 34px);}
.wrap [style*="font-size:24px"]{font-size:clamp(19px, 1.2vw + 13px, 24px) !important;}
small,.small,.card .sub,.stat .meta,.hint{font-size:14px;}
label,.eyebrow,.stat .lbl,.lbl{font-size:var(--t-label);}
.app-nav .brand{font-size:clamp(18px, .6vw + 15px, 21px);}

/* 8.2 Mais tela aproveitada no desktop */
@media(min-width:1024px){
  .wrap{max-width:1280px;padding:20px 26px 56px;}
}
@media(min-width:1440px){
  .wrap{max-width:1360px;padding-left:32px;padding-right:32px;}
}

/* 8.3 Respiros menores (corte ~30-50% onde havia folga) */
.pagehead{margin-bottom:12px;}
.card{padding:12px 14px;margin-bottom:9px;}
.card h3{margin-bottom:6px;}
.stat{padding:10px 12px;}
.empty{padding:16px 14px;}
.sec-block{margin-bottom:10px;}
.q-block{margin-bottom:9px;}
.grid-2,.grid-3,.grid-4,.dash-num-grid{gap:10px;}
.dash-acoes-card{padding:12px 14px;}
.dash-acao{padding:10px 12px;}
.listrow{padding:9px 12px;}
@media(min-width:1024px){
  .wrap > section,.wrap > .sec-block{margin-bottom:12px;}
}

/* 8.4 Grades com mais colunas quando cabe */
@media(min-width:1024px){
  .grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));}
  .grid-3{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));}
  .grid-4{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));}
  .dash-num-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));}
}

/* ===== Suporte (chat flutuante) + FAQ ===== */
.sup-fab{position:fixed;right:16px;bottom:calc(var(--fab-bottom, 88px) + 56px);z-index:70;display:flex;align-items:center;gap:8px;
  background:var(--brand,#1f5132);color:#fff;border:0;border-radius:999px;padding:10px 16px;font-weight:700;font-size:14px;
  box-shadow:0 8px 22px rgba(0,0,0,.22);cursor:pointer}
.sup-fab:hover{filter:brightness(1.06)}
.sup-fab-ic{font-size:16px;line-height:1}
.sup-overlay{position:fixed;inset:0;background:rgba(20,26,20,.45);z-index:90;display:flex;align-items:flex-end;justify-content:flex-end;padding:16px}
.sup-modal{background:#fff;border-radius:16px;width:min(420px,100%);max-height:min(640px,90vh);display:flex;flex-direction:column;
  box-shadow:0 18px 50px rgba(0,0,0,.28);overflow:hidden}
.sup-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:14px 16px;border-bottom:1px solid rgba(0,0,0,.08)}
.sup-body{flex:1;overflow-y:auto;padding:14px 16px;display:flex;flex-direction:column;gap:10px;background:#faf9f5}
.sup-hello{font-size:14px;line-height:1.5;color:#4a4436}
.sup-msg{max-width:86%;padding:10px 12px;border-radius:14px;font-size:14px;line-height:1.5;white-space:normal}
.sup-msg.me{align-self:flex-end;background:var(--brand,#1f5132);color:#fff;border-bottom-right-radius:4px}
.sup-msg.ia{align-self:flex-start;background:#fff;border:1px solid rgba(0,0,0,.08);border-bottom-left-radius:4px}
.sup-typing{opacity:.65;font-style:italic}
.sup-foot{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(0,0,0,.08);background:#fff}
.sup-foot input{flex:1;font-size:16px}
@media(max-width:640px){
  .sup-overlay{align-items:stretch;justify-content:stretch;padding:0}
  .sup-modal{width:100%;max-height:100vh;border-radius:0}
  .sup-fab{bottom:calc(var(--fab-bottom, 88px) + 52px);padding:9px 13px;font-size:13px}
}
.faq-item{border-bottom:1px solid rgba(0,0,0,.08);padding:10px 0}
.faq-item:last-child{border-bottom:0}
.faq-item summary{cursor:pointer;font-weight:700;font-size:15px;list-style:none}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::before{content:'+ ';color:var(--brand,#1f5132);font-weight:800}
.faq-item[open] summary::before{content:', '}
.faq-a{margin-top:8px;font-size:14px;line-height:1.6;color:#4a4436}

/* ---- Minha conta de preço / Recebimentos ---- */
#pc-custos .listrow{flex-wrap:wrap;align-items:center}
#pc-custos input{margin:0}
#pc-custohora{background:#f4f1e8;font-weight:600}
#mr-campos .field-row,#mre-desc{margin-top:0}
#mr-previa{background:#f4f1e8;border-radius:8px;padding:10px 12px}
@media (max-width:640px){
  #pc-custos .listrow input[type=text]{flex:1 1 100%}
  #pc-custos .listrow input[type=number]{max-width:none;flex:1}
}

/* ---------- FINANCEIRO ---------- */
.fin-atraso{margin-top:18px;border-left:4px solid #d08700}
.fin-chart{display:flex;align-items:stretch;gap:10px;margin-top:14px;padding:12px 4px 0;
  min-height:200px;overflow-x:auto}
.fin-bar-wrap{flex:1 1 0;min-width:52px;display:flex;flex-direction:column;align-items:center;
  justify-content:flex-end;height:190px}
.fin-bar-track{flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:flex-end;justify-content:center}
.fin-bar{width:100%;max-width:56px;flex:0 0 auto;min-height:4px;border-radius:6px 6px 0 0;
  background:linear-gradient(180deg,var(--brass,#b8894b),rgba(184,137,75,.55))}
.fin-bar-val{flex:0 0 auto;font-size:.72rem;color:var(--muted,#8b8c86);margin-bottom:6px;white-space:nowrap}
.fin-bar-lbl{flex:0 0 auto;font-size:.75rem;color:var(--muted,#8b8c86);margin-top:8px;white-space:nowrap}
.fin-range{display:flex;gap:12px;flex-wrap:wrap;margin:12px 0 4px}
.fin-range label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted,#8b8c86)}
.fin-range input{font-size:16px}
@media(max-width:640px){.fin-bar-wrap{min-width:44px;height:150px}.fin-chart{min-height:160px}}


/* ---- Financeiro: canais de aquisição ---- */
.fin-canais{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:12px}
@media(max-width:1023px){.fin-canais{grid-template-columns:1fr}}
.fin-sub{margin:0 0 8px;font-size:.86rem;text-transform:uppercase;letter-spacing:.04em;opacity:.7}
.fin-hbars{display:flex;flex-direction:column;gap:8px}
.fin-hrow{display:grid;grid-template-columns:minmax(90px,34%) 1fr auto;align-items:center;gap:8px;font-size:.9rem}
.fin-hlbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fin-htrack{background:rgba(0,0,0,.08);border-radius:999px;height:10px;overflow:hidden}
.fin-hfill{height:100%;border-radius:999px;background:var(--verde,#2f6b3f)}
.fin-hval{font-variant-numeric:tabular-nums;opacity:.85}
.fin-insight{margin-top:12px;padding:10px 12px;border-radius:10px;background:rgba(47,107,63,.08);font-size:.92rem}

/* ---- Card "em desenvolvimento" (calculadora atrás de flag) ---- */
.soon-card{border:1px dashed var(--linha);background:rgba(168,136,74,.07)}
.soon-card h3{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 6px}
.soon-tag{font-family:var(--sans);font-size:.82rem;font-weight:600;text-transform:uppercase;
  letter-spacing:.05em;background:var(--latao);color:var(--papel);padding:3px 9px;border-radius:999px}
.soon-card .sub{margin:0}

/* ---- Reapresentação WOW ---- */
.wow-ov{position:fixed;inset:0;z-index:6000;background:rgba(15,14,12,.92);
  display:flex;align-items:center;justify-content:center;padding:18px}
.wow-card{position:relative;width:100%;max-width:640px;max-height:92vh;overflow:auto;
  background:var(--papel);border:1px solid var(--linha);border-top:4px solid var(--latao);
  border-radius:14px;padding:34px 26px 18px;box-shadow:0 24px 60px rgba(0,0,0,.45)}
.wow-skip{position:absolute;top:10px;right:12px;background:none;border:none;cursor:pointer;
  font-family:var(--sans);font-size:.82rem;color:var(--tabaco);opacity:.7}
.wow-skip:hover{opacity:1}
.wow-mark{width:44px;height:44px;object-fit:contain;margin-bottom:14px;opacity:.9}
.wow-eyebrow{font-family:var(--sans);font-size:.74rem;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;color:var(--latao);margin-bottom:8px}
.wow-title{font-family:var(--serif);font-size:clamp(1.5rem,4.4vw,2rem);margin:0 0 12px;color:var(--capim)}
.wow-text p{margin:0 0 10px;font-size:1rem;line-height:1.55;color:var(--oleo)}
.wow-foot{display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:22px;padding-top:14px;border-top:1px solid var(--linha)}
.wow-dots{display:flex;gap:7px}
.wow-dot{width:8px;height:8px;border-radius:50%;background:var(--linha);cursor:pointer}
.wow-dot.on{background:var(--capim);transform:scale(1.15)}
.wow-btns{display:flex;gap:8px}
.wow-btn{font-family:var(--sans);font-size:.92rem;font-weight:600;border-radius:8px;
  padding:10px 18px;cursor:pointer;border:1px solid var(--linha);background:transparent;color:var(--tabaco)}
.wow-btn.primary{background:var(--capim);border-color:var(--capim);color:var(--areia)}
.wow-btn.primary:hover{background:var(--tabaco);border-color:var(--tabaco)}
@media(max-width:640px){
  .wow-card{padding:30px 18px 14px;border-radius:12px}
  .wow-foot{flex-direction:column-reverse;align-items:stretch}
  .wow-btns{width:100%}
  .wow-btn{flex:1}
  .wow-dots{justify-content:center}
}

/* ============ Chamados (dúvida, sugestão, problema) ============ */
.chamado-aviso{background:linear-gradient(135deg,#2d4a2b,#3d5e3a);color:#fff;border:none;margin-bottom:14px}
.chamado-aviso .sub{color:rgba(255,255,255,.85)}
.chamado-aviso-in{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}
.chamado-aviso .btn{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.4);color:#fff}

.cham-modal{max-width:640px}
.cham-form{padding:14px 16px 16px;display:flex;flex-direction:column;gap:12px;overflow:auto}
.cham-tipos{display:flex;gap:8px;flex-wrap:wrap}
.cham-tipo{cursor:pointer}
.cham-tipo input{position:absolute;opacity:0;pointer-events:none}
.cham-tipo span{display:inline-block;padding:8px 14px;border:1px solid var(--line,#d9ded6);border-radius:999px;font-size:15px;background:#fff}
.cham-tipo input:checked + span{background:#2d4a2b;color:#fff;border-color:#2d4a2b}
.cham-transcript{font-size:14px;color:var(--muted,#6b7280);background:#f4f6f2;border-radius:10px;padding:8px 10px}

.cham-lista{display:flex;flex-direction:column;gap:12px;margin-top:12px}
.cham-item{border:1px solid var(--line,#e3e7de);border-radius:12px;padding:12px 14px;background:#fff;margin-bottom:10px}
.cham-item.novo{border-color:#2d4a2b;box-shadow:0 0 0 2px rgba(45,74,43,.12)}
.cham-item-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.cham-tag,.cham-st{font-size:12px;font-weight:600;padding:3px 9px;border-radius:999px;background:#eef1ea;color:#3f4a3c}
.cham-tag.t-sugestao{background:#fff4d6;color:#7a5a06}
.cham-tag.t-problema{background:#fde8e6;color:#8a2b21}
.cham-st.s-aberto{background:#e6f0fb;color:#20507f}
.cham-st.s-em_atendimento{background:#fff4d6;color:#7a5a06}
.cham-st.s-resolvido{background:#e7f4e4;color:#2d4a2b}
.cham-data{font-size:12px;color:var(--muted,#6b7280)}
.cham-assunto{font-weight:650;margin-bottom:4px}
.cham-msg{font-size:15px;color:#41473f;white-space:pre-wrap}
.cham-resposta{margin-top:10px;background:#f2f7f0;border-left:3px solid #2d4a2b;border-radius:0 10px 10px 0;padding:9px 12px;font-size:15px}
.cham-resp-in{width:100%;margin-top:10px;font-size:16px;padding:8px 10px;border:1px solid var(--line,#d9ded6);border-radius:10px}
.cham-tr{margin-top:8px;font-size:14px}
.cham-tr .sup-msg{margin:6px 0}
.cham-resumo{margin-top:4px}

.sup-escala{padding:10px 14px;border-top:1px solid var(--line,#e3e7de);background:#f7f9f5;text-align:center;font-size:14px}
.sup-escala .btn{margin-left:6px}
.sup-escala .hint{margin-top:4px;font-size:12px;color:var(--muted,#6b7280)}

/* ---- Projeção de contratos no Financeiro ---- */
.fin-bar.proj{
  background:repeating-linear-gradient(45deg,var(--verde-claro,#bcd9b4) 0 6px,transparent 6px 12px),var(--papel-2,#eee);
  border:1px dashed var(--verde,#4a7c3f);
  opacity:.85;
}
.fin-proj-tag{font-size:10px;opacity:.7;display:block}
.fin-legenda{margin-top:8px;font-size:12px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.fin-key{display:inline-block;width:14px;height:10px;border-radius:2px;background:var(--verde,#4a7c3f)}
.fin-key.proj{background:repeating-linear-gradient(45deg,var(--verde-claro,#bcd9b4) 0 4px,transparent 4px 8px);border:1px dashed var(--verde,#4a7c3f)}
.badge.badge-contrato{background:var(--verde,#4a7c3f);color:#fff;letter-spacing:.03em;font-size:10px}

/* ---- Frequência do contrato ---- */
.ct-freq-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:6px}
.ct-freq{display:flex;flex-direction:column;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--linha,#d8d3c6);border-radius:10px;background:var(--papel,#fff);cursor:pointer}
.ct-freq .cf-t{font-weight:600;font-size:14px}
.ct-freq .cf-d{font-size:12px;opacity:.7}
.ct-freq.on{border-color:var(--verde,#4a7c3f);box-shadow:inset 0 0 0 1px var(--verde,#4a7c3f);background:var(--papel-2,#f6f4ee)}
.ct-dias{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ct-dia{padding:7px 12px;border:1px solid var(--linha,#d8d3c6);border-radius:999px;background:var(--papel,#fff);font-size:14px;cursor:pointer}
.ct-dia.on{background:var(--verde,#4a7c3f);color:#fff;border-color:var(--verde,#4a7c3f)}
.agenda-posto{margin:2px 0 10px;padding:7px 10px;border-left:3px solid var(--verde,#4a7c3f);background:var(--papel-2,#f6f4ee);border-radius:6px;font-size:13px;opacity:.9}

/* ===== Indicadores acionáveis do Início ===== */
.ind-grid{display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin:14px 0}
.ind-card{background:var(--card,#fff);border:1px solid var(--line,#e6e3dc);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;justify-content:space-between}
.ind-card.destaque{border-color:#b34d00;background:linear-gradient(180deg,rgba(179,77,0,.06),transparent)}
.ind-card .ind-txt{font-size:15px;line-height:1.35}
.ind-card .ind-txt strong{font-size:19px}
.ind-card .meta{font-size:12.5px;opacity:.72;margin-top:4px;font-weight:400}

/* ===== Clima da semana ===== */
.clima-faixa{margin:14px 0;border:1px solid var(--line,#e6e3dc);border-radius:14px;padding:10px 12px;background:var(--card,#fff)}
.clima-faixa .clima-tit{font-size:12px;text-transform:uppercase;letter-spacing:.06em;opacity:.6;margin-bottom:8px}
.clima-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.clima-dia{text-align:center;padding:6px 2px;border-radius:10px}
.clima-dia.chuva{background:rgba(40,90,140,.10)}
.clima-dia .cd-lbl{font-size:11px;opacity:.7;text-transform:capitalize}
.clima-dia .cd-ico{font-size:18px;line-height:1.4}
.clima-dia .cd-tmp{font-size:14px;font-weight:600}
.clima-dia .cd-chu{font-size:10px;opacity:.65}
@media(max-width:640px){.clima-dias{grid-template-columns:repeat(4,1fr)}}

.clima-aviso{border:1px solid rgba(40,90,140,.35);background:rgba(40,90,140,.08);border-radius:12px;padding:10px 12px;margin-bottom:10px}
.clima-aviso .ca-txt{font-size:14px;font-weight:600}
.clima-aviso .ca-itens{margin-top:8px;display:flex;flex-direction:column;gap:6px}
.clima-aviso .ca-item{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between;font-size:13px}
.clima-aviso .ca-dt{max-width:150px}

/* ===== Revelação progressiva: convites de estado vazio e balão do Guia ===== */
.card.convite{ border-left:4px solid var(--verde,#2d4a2b); }
.card.convite-lg{ padding:26px 22px; }
.card.convite-lg h3{ font-size:22px; line-height:1.25; margin:6px 0 4px; }
.card.convite-lg .sub{ font-size:15px; max-width:52ch; }
.card.convite .btn-row{ flex-wrap:wrap; }
@media (max-width:640px){
  .card.convite-lg h3{ font-size:20px; }
  .card.convite .btn-row .btn{ width:100%; }
}
.guia-balao{
  position:fixed; right:16px; bottom:96px; z-index:60; max-width:270px;
  display:flex; gap:10px; align-items:flex-start; cursor:pointer;
  background:#2d4a2b; color:#fff; border-radius:14px; padding:12px 14px;
  font-size:14px; line-height:1.35; box-shadow:0 10px 26px rgba(0,0,0,.22);
}
.guia-balao-x{
  background:transparent; border:0; color:#fff; opacity:.75;
  font-size:18px; line-height:1; cursor:pointer; padding:0 2px;
}
@media (max-width:640px){ .guia-balao{ bottom:150px; left:16px; right:16px; max-width:none; } }

/* Celebração da primeira venda, uma vez só. */
.card.celebra{
  border:none;
  background:linear-gradient(135deg,#2d4a2b,#3d5e3a);
  color:#fff;
}
.card.celebra h3{ color:#fff; }
.card.celebra .sub{ color:rgba(255,255,255,.92); }
.card.celebra .btn.ghost{ background:rgba(255,255,255,.15); border-color:rgba(255,255,255,.4); color:#fff; }

/* ---- Rodada de lapidação: Início em 4 blocos, indicadores limpos ---- */
.sec-h{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.sec-h h3{margin:0}
.sec-h .sub{margin:2px 0 0;font-size:13px;opacity:.75}
.sec-empresa{margin-top:14px;padding:12px 14px}
.sec-vendas{margin-top:14px}
.sec-embreve{margin-top:14px;background:var(--papel-2,#f6f4ee);border-style:dashed}
.sec-embreve .sub{max-width:60ch}
.ind-grid{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.ind-tile{background:var(--card,#fff);border:1px solid var(--line,#e6e3dc);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:2px}
.ind-num{font-size:24px;font-weight:700;line-height:1.1}
.ind-rot{font-size:13px;font-weight:600;opacity:.85}
.ind-ctx{font-size:12px;opacity:.62}
.ind-tile .btn-row{margin-top:8px}
.ag-filtros{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 12px}
.clima-em{font-size:11px;opacity:.6;font-weight:400;margin-left:6px}

/* Convite do clima quando falta cidade ou a previsão não veio */
.clima-convite{ display:block; }
.clima-convite .clima-tit{ margin-bottom:2px; }

/* Indicador de cadastro completo (Minha empresa / Início) */
.emp-prog{height:8px;border-radius:99px;background:var(--papel-2,#efe9dd);overflow:hidden;margin-top:10px}
.emp-prog>i{display:block;height:100%;border-radius:99px;background:var(--verde,#3f6b3a);transition:width .3s ease}
.emp-faltas{margin:8px 0 0;padding-left:18px;font-size:14px;line-height:1.55}
.emp-faltas li{margin-bottom:4px}

/* Resumo do cliente ideal (ICP) */
.icp-resumo{background:var(--papel-2,#f6f1e6);border:1px solid var(--linha,#e3d9c6);border-radius:4px;padding:14px 16px;line-height:1.55;white-space:normal}

/* Mapa do cliente ideal, uma página só, pra ver e imprimir */
.icp-mapa-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap;
  border-bottom:1px solid var(--linha,#e3d9c6);padding-bottom:10px;margin-bottom:14px}
.icp-mapa-head h3{margin:2px 0 0}
.icp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.icp-bloco{background:var(--papel-2,#f6f1e6);border:1px solid var(--linha,#e3d9c6);border-radius:6px;padding:10px 12px}
.icp-bloco.wide{grid-column:span 3}
.icp-bloco.alerta{background:rgba(143,47,34,.07);border-color:rgba(143,47,34,.25)}
.icp-rot{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.65;margin-bottom:4px}
.icp-val{line-height:1.45;font-weight:500}
.icp-mapa-resumo{margin-top:14px}
@media(max-width:1023px){.icp-grid{grid-template-columns:1fr 1fr}.icp-bloco.wide{grid-column:span 2}}
@media(max-width:640px){.icp-grid{grid-template-columns:1fr}.icp-bloco.wide{grid-column:span 1}}
@media print{.icp-grid{grid-template-columns:repeat(3,1fr)}.icp-bloco.wide{grid-column:span 3}}


/* Fase 7, Contas a receber: filtros roláveis no celular e selo de origem. */
.chips-rol{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
.chips-rol::-webkit-scrollbar{display:none}
.chips-rol .cfg-tab{white-space:nowrap;flex:0 0 auto}
.receb-origem{display:inline-block;font-size:.78rem;opacity:.85;border:1px solid var(--linha);border-radius:999px;padding:1px 8px;margin-top:4px}

/* ---------- Mapa do cliente ideal (v2) ---------- */
.icp-form{display:grid;gap:16px}
.icp-campo{border-bottom:1px dashed var(--linha,#e3d9c6);padding-bottom:14px}
.icp-campo:last-child{border-bottom:0;padding-bottom:0}
.icp-campo.ns{opacity:.7}
.icp-campo-rot{display:flex;justify-content:space-between;align-items:center;gap:10px;
  font-weight:500;margin-bottom:8px;line-height:1.35}
.icp-campo-rot .icp-ns{flex:0 0 auto;font-size:.72rem;padding:4px 8px}
.icp-nota{font-size:1.45rem;font-weight:600;line-height:1}
.icp-seg{border:1px solid var(--linha,#e3d9c6);border-radius:6px;padding:12px 14px;margin-top:10px;
  background:var(--papel-2,#f6f1e6)}
.icp-comp{display:grid;grid-template-columns:1fr 1fr;gap:6px 14px;margin-top:10px}
.icp-comp-i{display:flex;align-items:center;gap:8px;font-size:.82rem;line-height:1.3}
.icp-comp-i span{flex:1;min-width:0}
.icp-comp-i em{opacity:.55;font-style:normal}
.icp-comp-i b{font-variant-numeric:tabular-nums}
@media(max-width:640px){.icp-comp{grid-template-columns:1fr}}

/* ---------- Mapa do cliente ideal, Fase 2 (mapa escrito) ---------- */
.icp-legenda{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0 4px}
.icp-tipo{display:inline-block;font-size:.68rem;line-height:1.6;padding:0 7px;border-radius:999px;
  border:1px solid var(--linha,#e3d9c6);opacity:.9;white-space:nowrap;vertical-align:middle}
.icp-t-inf{background:#eef4ea}
.icp-t-cal{background:#eaf0f6}
.icp-t-ia{background:#f6efe3}
.icp-t-hip{background:#f6eeee}
.icp-secao{border-top:1px solid var(--linha,#e3d9c6);margin-top:16px;padding-top:14px}
.icp-secao-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.icp-secao-head h4{margin:0;font-size:1rem}
.icp-linha{margin-bottom:12px}
.icp-linha .icp-rot{font-size:.78rem;opacity:.7;margin-bottom:3px}
.icp-linha .icp-val{line-height:1.45}
.icp-ul{margin:4px 0 0;padding-left:18px;line-height:1.5}
.icp-conf{font-size:.8rem;opacity:.75;margin-top:8px;line-height:1.45}
.icp-num .icp-nota{font-size:1.8rem}

/* ---- Fase 3: qualificador de oportunidades ---- */
.icp-combina .sec-h{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.icp-comb-nota{display:flex;align-items:center;gap:12px;margin:8px 0 12px}
.icp-comb-bloco{margin-top:10px}
.icp-ul.alerta li{color:var(--warn,#b06a1c)}
.icp-comb-rec{margin-top:12px;padding:10px 12px;border-radius:10px;
  border-left:4px solid var(--line,#d7d2c6);background:rgba(0,0,0,.035);line-height:1.5}
.icp-comb-rec .meta{margin-top:4px}
.icp-comb-rec.rec-ouro{border-left-color:#2e7d4f;background:rgba(46,125,79,.09)}
.icp-comb-rec.rec-bom{border-left-color:#4a7fb5;background:rgba(74,127,181,.09)}
.icp-comb-rec.rec-atencao{border-left-color:#b58a2b;background:rgba(181,138,43,.10)}
.icp-comb-rec.rec-fora{border-left-color:#9c4b3f;background:rgba(156,75,63,.09)}
.badge.icp-b-ouro{background:rgba(46,125,79,.14);color:#2e7d4f;border-color:rgba(46,125,79,.35)}
.badge.icp-b-bom{background:rgba(74,127,181,.14);color:#3a6a99;border-color:rgba(74,127,181,.35)}
.badge.icp-b-atencao{background:rgba(181,138,43,.16);color:#8d6a1c;border-color:rgba(181,138,43,.38)}
.badge.icp-b-fora{background:rgba(156,75,63,.14);color:#9c4b3f;border-color:rgba(156,75,63,.35)}
.icp-sug{margin-top:10px;padding:10px 12px;border-radius:10px;border:1px dashed var(--line,#d7d2c6);line-height:1.45}
@media (max-width:640px){
  .icp-comb-nota{gap:10px}
  .icp-combina .sec-h{align-items:flex-start}
}

/* ---- Fase 3: impressão A4 do mapa ---- */
@media print{
  @page{size:A4;margin:14mm}
  .icp-combina,.icp-sug{display:none !important}
  .icp-mapa-sec,.icp-bloco,.icp-linha{break-inside:avoid;page-break-inside:avoid}
  .icp-mapa-sec h3,.icp-mapa-sec h4{break-after:avoid;page-break-after:avoid}
  .icp-ul{page-break-inside:avoid}
}

/* Mapa do cliente ideal, versões e link público */
.icp-linha-diff{padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06);font-size:14px}
.icp-linha-diff:last-child{border-bottom:0}
.icp-link{margin-top:10px;padding:10px 12px;border:1px dashed var(--latao);border-radius:10px;
  font-size:13px;word-break:break-all;background:rgba(0,0,0,.02)}
@media (max-width:640px){
  .icp-link{font-size:12px}
  .icp-linha-diff{font-size:13.5px}
}

/* =========================================================
   VISÃO GERAL NAVEGÁVEL: cartão inteiro é o toque
   ========================================================= */
.nav-card{cursor:pointer;position:relative;min-height:44px;
  transition:background .12s ease, box-shadow .12s ease, transform .06s ease;}
.nav-card:hover{background:#fbf8f1;}
.nav-card:active{transform:scale(.995);background:#f5efe2;}
.nav-card:focus-visible{outline:2px solid #3d6b3a;outline-offset:2px;}
.nav-go{display:flex;align-items:center;gap:6px;white-space:nowrap;
  font-size:12.5px;color:#7a6a4f;font-weight:600;}
.nav-chev{font-size:20px;line-height:1;color:#8a7f6a;}
.dash-num.nav-card .nav-chev{font-size:16px;color:#8a7f6a;}
.destaque-chegada{animation:destaqueChegada 2.4s ease;box-shadow:0 0 0 3px rgba(61,107,58,.55);border-radius:8px;}
@keyframes destaqueChegada{
  0%{box-shadow:0 0 0 4px rgba(61,107,58,.75);}
  70%{box-shadow:0 0 0 3px rgba(61,107,58,.45);}
  100%{box-shadow:0 0 0 0 rgba(61,107,58,0);}
}
@media(max-width:640px){
  .nav-card{padding-right:12px;}
  .nav-go .nav-go-lbl{display:none;}
  .dash-acao.nav-card{grid-template-columns:minmax(0,1fr) auto !important;align-items:center;}
  .listrow.nav-card{flex-direction:row !important;align-items:center;gap:10px;}
}

/* ---- SIDEBAR RECOLHÍVEL (desktop) ---- */
.nav-collapse{display:none;}
@media(min-width:1024px){
  .nav-collapse{display:block;position:absolute;top:14px;right:8px;width:28px;height:28px;
    border:none;border-radius:50%;background:rgba(255,255,255,.10);color:var(--areia);
    font-size:16px;line-height:1;cursor:pointer;}
  .nav-collapse:hover{background:rgba(255,255,255,.20);}
  body.nav-collapsed{--sidebar-w:72px;}
  body.nav-collapsed .app-nav{padding:18px 8px;align-items:center;}
  body.nav-collapsed .app-nav .brand{font-size:0;margin:0 0 12px;}
  body.nav-collapsed .app-nav .brand-mark{margin:0;}
  body.nav-collapsed .nav-collapse{right:50%;transform:translateX(50%);top:auto;bottom:8px;}
  body.nav-collapsed .app-nav .nav-cta{font-size:0;padding:13px 0;width:48px;}
  body.nav-collapsed .app-nav .nav-cta::before{content:"+";font-size:22px;font-weight:700;}
  body.nav-collapsed .navlink{justify-content:center;padding:11px 0;}
  body.nav-collapsed .nav-lbl,
  body.nav-collapsed .nav-subs,
  body.nav-collapsed .nav-foot-link,
  body.nav-collapsed #uso-badge-slot{display:none;}
  body.nav-collapsed .nav-foot{padding-bottom:44px;}
}

/* ================= 9. FIDELIDADE VISUAL: SIDEBAR + INÍCIO =================
   Editorial de campo: capim, areia, latão, tabaco. Bordas finas, cantos
   discretos, densidade alta. Nada de card branco inflado. */

@media(min-width:1024px){
  :root{--sidebar-w:300px;}
  .app-nav{
    padding:26px 18px 18px;gap:4px;
    background-color:#232E19;
    background-image:
      radial-gradient(circle at 18% 12%, rgba(168,136,74,.10), transparent 60%),
      url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
    border-right:1px solid rgba(168,136,74,.55);
  }
  .app-nav .brand{font-family:var(--serif);font-size:30px;line-height:1;letter-spacing:.02em;
    color:var(--areia);margin:0 4px 22px;gap:12px;align-items:center;}
  .app-nav .brand .brand-mark{height:34px;}
  .brand-txt{display:inline-flex;gap:8px;align-items:baseline;text-transform:uppercase;font-weight:600;}
  .brand-a{color:var(--latao);}
  .navlink{font-size:17px;padding:13px 14px;min-height:52px;border-radius:4px;
    color:rgba(232,223,203,.82);letter-spacing:.01em;}
  .navlink .nav-seta{margin-left:auto;font-size:15px;color:rgba(232,223,203,.55);}
  .navlink.active{background:rgba(122,148,86,.22);border:1px solid rgba(168,136,74,.45);
    color:var(--areia);}
  .nav-subs{margin:2px 0 10px 18px;border-left:1px solid rgba(168,136,74,.45);}
  .nav-foot{gap:2px;border-top:1px solid rgba(232,223,203,.16);padding-top:10px;}
  .nav-foot-link{border-radius:4px;padding:9px 10px;}
  .nav-foot-link.active{color:var(--areia);background:rgba(255,255,255,.08);font-weight:700;}
  .nav-perfil{margin-top:8px;}
  .nf-card{display:flex;align-items:center;gap:10px;width:100%;background:rgba(255,255,255,.06);
    border:1px solid rgba(232,223,203,.18);border-radius:5px;padding:9px 10px;min-height:56px;
    cursor:pointer;color:var(--areia);text-align:left;font-family:var(--sans);}
  .nf-card:hover{background:rgba(255,255,255,.11);}
  .nf-avatar{flex:none;width:34px;height:34px;border-radius:4px;overflow:hidden;
    background:var(--latao);color:var(--capim);display:flex;align-items:center;justify-content:center;
    font-weight:700;font-size:15px;}
  .nf-avatar-img{width:100%;height:100%;object-fit:cover;display:block;}
  .nf-txt{display:flex;flex-direction:column;min-width:0;line-height:1.2;}
  .nf-neg{font-size:14px;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
  .nf-nome{font-size:12.5px;color:rgba(232,223,203,.7);}
  .nf-chev{margin-left:auto;color:rgba(232,223,203,.6);font-size:13px;}
  .nf-menu{display:flex;flex-direction:column;gap:2px;margin-top:4px;}
  body.nav-collapsed .brand-txt,
  body.nav-collapsed .nav-seta,
  body.nav-collapsed .nf-txt,
  body.nav-collapsed .nf-chev{display:none;}
}

/* ---- INÍCIO: cabeçalho editorial ---- */
.home-topo{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:14px;
  margin:2px 0 14px;}
.topo-saud{font-family:var(--serif);font-size:clamp(26px,3.2vw,44px);line-height:1.05;
  color:var(--capim);letter-spacing:-.01em;}
.topo-sub{color:var(--tabaco);font-size:15.5px;margin-top:4px;}
.topo-lado{display:flex;align-items:center;gap:10px;flex:none;}
.topo-data{font-size:13px;color:var(--tabaco);text-transform:uppercase;letter-spacing:.12em;}
.topo-btn,.topo-avatar{position:relative;width:44px;height:44px;min-width:44px;min-height:44px;
  max-width:44px;max-height:44px;flex:0 0 44px;box-sizing:border-box;border-radius:4px;
  border:1px solid var(--linha);background:transparent;color:var(--tabaco);cursor:pointer;
  display:flex;align-items:center;justify-content:center;overflow:hidden;padding:0;}
.topo-avatar{background:var(--areia,#f4efe4);padding:3px;}
.topo-btn:hover,.topo-avatar:hover{background:rgba(168,136,74,.14);}
.topo-badge{position:absolute;top:3px;right:3px;background:#B4452F;color:#fff;font-size:10.5px;
  font-weight:700;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;
  justify-content:center;padding:0 4px;}
.topo-avatar-img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;
  object-fit:contain;}
.topo-avatar-ini{font-family:var(--serif);font-weight:700;font-size:17px;color:var(--capim);}
/* Ações discretas dentro da faixa de clima */
.cb-acoes{display:flex;flex-wrap:wrap;gap:14px;margin-top:6px;}
.cb-link{background:none;border:0;padding:6px 0;min-height:32px;color:inherit;opacity:.85;
  font-size:13.5px;text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.cb-link:hover{opacity:1;}
@media(max-width:640px){
  .topo-data{display:none;}
  .home-topo{gap:8px;margin-bottom:10px;}
  .topo-btn,.topo-avatar{width:40px;height:40px;min-width:40px;min-height:40px;
    max-width:40px;max-height:40px;flex:0 0 40px;}
  .cb-link{min-height:44px;padding:10px 0;}
}


/* ---- INÍCIO: faixa de clima ---- */
.clima-banda{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;
  background-color:#2A3620;color:var(--areia);border:1px solid rgba(168,136,74,.5);
  background-image:repeating-linear-gradient(115deg,rgba(232,223,203,.045) 0 1px,transparent 1px 13px);
  padding:14px 18px;margin-bottom:12px;}
.clima-banda .cb-esq{display:flex;align-items:center;gap:10px;}
.clima-banda .cb-ico{display:flex;align-items:center;font-size:26px;line-height:1;}
.clima-banda .cb-ico svg{width:30px;height:30px;}
.clima-banda .cb-tmp{font-family:var(--serif);font-size:clamp(30px,3.4vw,44px);line-height:1;}
.clima-banda .cb-resumo{font-size:15px;}
.clima-banda .cb-atencao{font-size:13px;color:#EBC98D;margin-top:3px;}
.clima-banda .cb-atencao.ok{color:rgba(232,223,203,.7);}
.clima-banda .clima-acao{background:#C05A31;color:#fff;border:none;min-height:44px;
  padding:0 18px;border-radius:3px;font-weight:700;cursor:pointer;white-space:nowrap;}
.clima-banda .clima-acao:hover{filter:brightness(1.07);}
.clima-consultando{min-height:36px;margin-bottom:12px;padding:8px 12px;border-left:3px solid var(--linha);
  color:var(--tabaco);font-size:13px;line-height:1.45;}
/* Celular e tablet: faixa leve, clara, uma linha, sem bloco escuro nem botão cheio */
@media(max-width:1023px){
  .clima-banda{grid-template-columns:auto minmax(0,1fr);gap:10px;padding:10px 12px;
    background-color:var(--areia,#F4EFE4);background-image:none;color:var(--tabaco,#3B3324);
    border:1px solid var(--linha,#e6e3dc);border-left:4px solid var(--capim,#2A3620);}
  .clima-banda .cb-ico{font-size:20px;}
  .clima-banda .cb-ico svg{width:22px;height:22px;}
  .clima-banda .cb-tmp{font-size:24px;}
  .clima-banda .cb-resumo{font-size:14.5px;line-height:1.35;}
  .clima-banda .cb-atencao{font-size:13px;color:#8A4A1F;}
  .clima-banda .cb-atencao.ok{display:none;}
  .clima-banda .cb-acoes{gap:16px;margin-top:2px;}
  .clima-banda .cb-dir{grid-column:2/-1;margin-top:-6px;}
  .clima-banda .clima-acao{background:none;color:inherit;border:0;padding:10px 0;min-height:44px;
    font-weight:600;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;
    border-radius:0;width:auto;box-shadow:none;}
  /* Só vira botão laranja quando existe serviço em risco pelo tempo */
  .clima-banda.risco .clima-acao{background:#C05A31;color:#fff;text-decoration:none;
    padding:0 18px;border-radius:3px;font-size:15px;}
}

/* ---- INÍCIO: grade assimétrica ---- */
.home-grade{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:12px;align-items:start;}
@media(max-width:1023px){ .home-grade{grid-template-columns:minmax(0,1fr);} }
.home-col-a,.home-col-b{min-width:0;display:flex;flex-direction:column;gap:10px;}

.home-inds{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
@media(max-width:640px){ .home-inds{grid-template-columns:minmax(0,1fr);} }
.ind-card{position:relative;background:var(--papel);border:1px solid var(--linha);
  padding:14px 14px 12px;min-height:118px;cursor:pointer;}
.ind-card:hover{background:#F7F2E6;}
.ind-lbl{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--tabaco);}
.ind-val{font-family:var(--serif);font-size:clamp(26px,2.6vw,36px);line-height:1.05;
  color:var(--capim);margin-top:6px;overflow-wrap:anywhere;}
.ind-meta{font-size:13px;color:var(--tabaco);margin-top:4px;}
.ind-card .nav-go{position:absolute;top:10px;right:10px;}

/* ---- INÍCIO: resumo compacto em um card só ---- */
.home-resumo{margin-top:12px;}
.home-resumo .resumo-linha{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:6px;}
@media(max-width:640px){ .home-resumo .resumo-linha{grid-template-columns:minmax(0,1fr);} }
.resumo-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;
  min-height:44px;padding:10px 12px;border:1px solid var(--linha);background:var(--papel);
  cursor:pointer;font-family:var(--sans);color:var(--capim);width:100%;}
.resumo-item:hover{background:#F7F2E6;border-color:var(--latao);}
.resumo-item .ri-lbl{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--tabaco);}
.resumo-item .ri-val{font-family:var(--serif);font-size:clamp(22px,2.2vw,30px);line-height:1.1;
  color:var(--capim);overflow-wrap:anywhere;}
.resumo-item .ri-meta{font-size:13px;color:var(--tabaco);}

.home-atalhos .atalho-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:6px;}

.atalho-bloco{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;
  min-height:64px;padding:10px 12px;border:1px solid var(--linha);background:var(--papel);
  cursor:pointer;font-family:var(--sans);color:var(--capim);}
.atalho-bloco:hover{background:#F7F2E6;border-color:var(--latao);}
.atalho-bloco .ab-ttl{font-weight:700;font-size:14.5px;}
.atalho-bloco .ab-sub{font-size:12.5px;color:var(--tabaco);}

.home-atencao{margin-top:12px;}
.home-atencao .atencao-cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
@media(max-width:1023px){ .home-atencao .atencao-cols{grid-template-columns:minmax(0,1fr);} }

/* Hierarquia do Início: título, prioridade, conteúdo e ações em níveis distintos. */
.home-topo .topo-saud{font-size:clamp(30px,3vw,42px);font-weight:700;line-height:1.12;}
.home-topo .topo-sub{font-size:16px;line-height:1.45;}
.home-atencao .sec-h h3{font-size:clamp(22px,1.2vw + 16px,28px);font-weight:700;}
.home-atencao > .sub{font-size:15px;line-height:1.5;color:var(--tabaco);}
.home-atencao .listrow .ttl{font-size:17px;font-weight:700;line-height:1.35;color:var(--capim);}
.home-atencao .listrow .meta{font-size:15px;line-height:1.5;color:var(--tabaco);}
.sec-agenda .sec-h h3{font-size:clamp(20px,.8vw + 16px,24px);font-weight:700;}
.home-atencao .sec-h .btn,.sec-agenda .sec-h .btn{font-family:var(--sans);font-size:14px;font-weight:600;}

/* nenhum overflow horizontal no celular */
@media(max-width:640px){
  .home-grade,.home-inds,.atalho-grid{gap:8px;}
  .ind-val{font-size:clamp(22px,7vw,30px);}
  .home-topo .topo-saud{font-size:32px;}
  .home-atencao .sec-h,.sec-agenda .sec-h{display:grid;grid-template-columns:minmax(0,1fr) auto;
    align-items:center;gap:10px;}
  .home-atencao .sec-h h3{font-size:24px;}
  .sec-agenda .sec-h h3{font-size:22px;}
  .home-atencao .sec-h .btn{padding-inline:14px;white-space:nowrap;}
  .sec-agenda .sec-h .btn-row{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;width:100%;}
  .sec-agenda .sec-h .btn{white-space:normal;line-height:1.3;}
}

/* ===== Núcleo financeiro: tabelas de fluxo de caixa e resultado ===== */
.fin-tabela-rol{ overflow-x:auto; -webkit-overflow-scrolling:touch; margin-top:12px; }
.fin-tabela{ width:100%; border-collapse:collapse; font-size:15px; min-width:520px; }
.fin-tabela th,.fin-tabela td{ padding:10px 12px; text-align:left; border-bottom:1px solid var(--linha,rgba(0,0,0,.08)); }
.fin-tabela th{ font-size:12px; text-transform:uppercase; letter-spacing:.06em; opacity:.7; font-weight:600; }
.fin-tabela .num{ text-align:right; white-space:nowrap; font-variant-numeric:tabular-nums; }
.fin-tabela .neg{ color:#a3402f; }
.fin-tabela.dre{ min-width:360px; }
.fin-tabela.dre tr.forte td{ font-weight:600; }
.fin-tabela.dre tr.dre-sub td{ padding-left:26px; font-size:14px; opacity:.75; border-bottom:0; }
.fin-tabela.dre tr.destaque td{ font-weight:600; background:rgba(0,0,0,.03); }
.fin-tabela.dre tr.total td{ font-weight:700; font-size:17px; border-top:2px solid var(--linha,rgba(0,0,0,.15)); }
.dre-pct{ font-size:12px; opacity:.6; margin-left:6px; }
@media (max-width:640px){
  .fin-tabela{ font-size:14px; }
  .fin-tabela th,.fin-tabela td{ padding:9px 10px; }
}

/* ===== Painel "Enviar proposta": overlay isolado, some ao trocar de tela ===== */
.selva-envio-overlay{position:fixed;inset:0;z-index:10050;background:rgba(20,15,8,.72);
  display:flex;align-items:center;justify-content:center;padding:16px;}
.selva-envio-modal{background:var(--papel,#fbf7ec);border:1px solid var(--linha,#e8dcc0);border-radius:14px;
  width:min(620px,100%);max-height:min(88vh,860px);display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45);}
.selva-envio-head{display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 18px;border-bottom:1px solid var(--linha,#e8dcc0);background:#fff;}
.selva-envio-head h3{margin:0;font-size:17px;color:var(--verde-escuro,#2e3a23);}
.selva-envio-x{background:none;border:0;font-size:18px;line-height:1;cursor:pointer;color:#5a4a30;
  min-width:44px;min-height:44px;border-radius:8px;}
.selva-envio-x:hover{background:#f0e8d4;}
.selva-envio-body{padding:16px 18px;overflow:auto;flex:1;}
.selva-envio-body textarea,.selva-envio-body input{width:100%;font:inherit;font-size:16px;}
.selva-envio-foot{display:flex;flex-wrap:wrap;gap:8px;padding:14px 18px;
  border-top:1px solid var(--linha,#e8dcc0);background:#fff;}
.selva-envio-foot .btn{min-height:44px;}
@media (max-width:640px){
  .selva-envio-overlay{padding:0;align-items:flex-end;}
  .selva-envio-modal{width:100%;max-height:94vh;border-radius:14px 14px 0 0;}
}

/* ===== Bloco do Google Agenda ===== */
.gcal-bloco{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;
  margin:14px 0;padding:14px 16px;background:var(--papel-2,#f6f1e7);
  border:1px solid var(--linha,#d9cfb8);border-radius:12px;}
.gcal-bloco .gcal-txt{min-width:220px;flex:1;}
.gcal-bloco .hint{margin-top:4px;}
.gcal-bloco .btn{min-height:44px;}
@media (max-width:640px){ .gcal-bloco .btn-row{width:100%;} .gcal-bloco .btn{flex:1;} }
.pagehead-acao{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.pagehead-acao .pagehead-txt{flex:1;min-width:220px;}
.gcal-mini{display:flex;flex-direction:column;align-items:flex-end;gap:4px;max-width:100%;}
.gcal-mini-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;}
.gcal-mini-nota{font-size:12px;opacity:.7;text-align:right;}
@media (max-width:1023px){
  .pagehead-acao{flex-direction:column;align-items:stretch;}
  .gcal-mini{align-items:stretch;width:100%;}
  .gcal-mini-btn{width:100%;justify-content:center;}
  .gcal-mini-nota{text-align:left;}
}

/* ===== Resumo financeiro ===== */
.fin-res-topo{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:16px;}
.fin-res-grupo{background:var(--papel,#fbf7ec);border:1px solid var(--linha,#e8dcc0);border-radius:12px;padding:14px 16px;}
.fin-res-grupo h3{margin:0 0 10px;font-size:15px;letter-spacing:.02em;color:var(--verde-escuro,#2e3a23);}
.fin-res-cards{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fin-res-card{background:#fff;border:1px solid var(--linha,#e8dcc0);border-radius:10px;padding:12px;}
.fin-res-card.alerta{border-color:#c9836a;background:#fdf3ef;}
.frc-lbl{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--tabaco,#7a6a4a);}
.frc-val{font-family:Lora,serif;font-size:22px;line-height:1.2;margin-top:4px;color:var(--verde-escuro,#2e3a23);}
.fin-res-card.alerta .frc-val{color:#8f3a22;}
.frc-meta{font-size:12px;color:var(--tabaco,#7a6a4a);margin-top:2px;}
.frc-extra{margin-top:8px;padding-top:8px;border-top:1px dashed var(--linha,#e8dcc0);font-size:12px;color:var(--tabaco,#7a6a4a);}
.fin-res-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:18px;align-items:start;}
.fin-res-grid .fin-painel{margin-top:0;min-width:0;}
.fin-saldo-total{font-family:Lora,serif;font-size:26px;color:var(--verde-escuro,#2e3a23);margin:2px 0 10px;}
.fin-saldo-total small{display:block;font-family:inherit;font-size:12px;color:var(--tabaco,#7a6a4a);letter-spacing:.04em;}
.fin-contas-lista{list-style:none;margin:0;padding:0;}
.fin-contas-lista li{display:flex;justify-content:space-between;align-items:center;gap:10px;
  padding:9px 0;border-top:1px solid var(--linha,#e8dcc0);font-size:14px;}
.fcl-nome{display:flex;flex-direction:column;}
.fcl-nome small{color:var(--tabaco,#7a6a4a);font-size:12px;}
.fcl-val{font-weight:600;}
.fcl-val.neg{color:#8f3a22;}
.fin-svg-fluxo{width:100%;height:130px;display:block;}
.fin-legenda{display:flex;flex-wrap:wrap;gap:12px;margin-top:10px;font-size:12px;color:var(--tabaco,#7a6a4a);}
.fin-legenda i{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;}
@media (max-width:1100px){ .fin-res-grid{grid-template-columns:1fr 1fr;} }
@media (max-width:1023px){
  .fin-res-topo{grid-template-columns:1fr;}
  .fin-res-grid{grid-template-columns:1fr;}
}
@media (max-width:640px){ .fin-res-cards{grid-template-columns:1fr;} }

/* ================= 10. COESÃO DE LAYOUT: MODAIS, FORMULÁRIOS E ROLAGEM =====
   Correção estrutural. Antes: .modal-backdrop/.modal não tinham estilo algum
   e caíam no fluxo da página (formulário "preso" embaixo do conteúdo, botão
   cortado). E os formulários reaproveitavam .pdf-preview-modal, com altura
   travada em 92vh e overflow escondido. Agora tudo vira sobreposição real,
   centralizada, com rolagem só quando o conteúdo passa da tela. */

.modal-backdrop{
  position:fixed;inset:0;z-index:9999;
  background:rgba(20,15,8,.62);
  display:flex;align-items:center;justify-content:center;
  padding:24px 20px;overflow-y:auto;overscroll-behavior:contain;
  animation:pdfFade .15s ease-out;
}
.modal-backdrop > .modal{
  background:var(--papel);color:var(--oleo);
  border:1px solid var(--linha);border-radius:6px;
  box-shadow:0 26px 70px rgba(15,14,12,.42);
  width:min(560px,100%);max-width:100%;margin:auto;
  max-height:calc(100dvh - 48px);overflow-y:auto;overscroll-behavior:contain;
  padding:22px 24px 20px;
}
.modal-backdrop > .modal > h3{font-size:var(--t-secao,20px);margin-bottom:6px;}
.modal-backdrop > .modal > .sub,
.modal-backdrop > .modal .sub{color:var(--tabaco);margin-bottom:12px;}
.modal-backdrop > .modal label{display:block;margin-top:12px;}
.modal-backdrop > .modal label input,
.modal-backdrop > .modal label select,
.modal-backdrop > .modal label textarea{margin-top:5px;}
.modal-backdrop > .modal input,
.modal-backdrop > .modal select,
.modal-backdrop > .modal textarea{width:100%;}
.modal-backdrop > .modal .btn-row{
  display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  position:sticky;bottom:-20px;margin-top:18px;
  padding:14px 0 2px;background:var(--papel);
  border-top:1px solid var(--linha);
}

/* Formulário dentro do casco do visualizador de PDF: nada de altura travada. */
.pdf-preview-modal:not(:has(iframe)){height:auto;max-height:calc(100dvh - 40px);}
.pdf-preview-overlay:has(.pdf-preview-modal:not(:has(iframe))){
  align-items:flex-start;overflow-y:auto;overscroll-behavior:contain;
}
.pdf-preview-overlay:has(.pdf-preview-modal:not(:has(iframe))) .pdf-preview-modal{margin:auto;}
.pdf-preview-body:not(:has(iframe)){
  background:var(--papel);color:var(--oleo);
  overflow-y:auto;overscroll-behavior:contain;min-height:0;
}
.pdf-preview-body:not(:has(iframe)) .btn-row{
  display:flex;flex-wrap:wrap;gap:10px;
  position:sticky;bottom:-20px;padding:14px 0 2px;
  background:var(--papel);border-top:1px solid var(--linha);
}
.pdf-preview-modal:not(:has(iframe)) .pdf-preview-head{
  background:var(--papel-2);border-bottom:1px solid var(--linha);
}
.pdf-preview-modal:not(:has(iframe)) .pdf-preview-head h3{
  font-family:var(--serif);color:var(--capim);font-size:18px;
}
.pdf-preview-modal:not(:has(iframe)) input,
.pdf-preview-modal:not(:has(iframe)) select,
.pdf-preview-modal:not(:has(iframe)) textarea{width:100%;}

/* Celular: folha que sobe pela base, com a ação sempre alcançável. */
@media(max-width:640px){
  .modal-backdrop{align-items:flex-end;padding:0;}
  .modal-backdrop > .modal{
    width:100%;border-radius:12px 12px 0 0;border-bottom:none;
    max-height:92dvh;padding:20px 16px calc(16px + env(safe-area-inset-bottom,0));
  }
  .pdf-preview-modal:not(:has(iframe)){max-height:94dvh;}
}

/* Rolagem única da página. Só a barra lateral e sobreposições rolam por conta
   própria, o conteúdo acompanha a página inteira. */
html,body{height:auto;min-height:100%;}
.wrap{height:auto;max-height:none;overflow:visible;}

/* Barra de rolagem discreta, na mesma paleta, sem virar divisória visual. */
@media(min-width:1024px){
  .app-nav{scrollbar-width:thin;scrollbar-color:rgba(168,136,74,.45) transparent;}
  .app-nav::-webkit-scrollbar{width:6px;}
  .app-nav::-webkit-scrollbar-thumb{background:rgba(168,136,74,.45);border-radius:999px;}
  .app-nav::-webkit-scrollbar-track{background:transparent;}
}
html{scrollbar-color:var(--linha) transparent;}

/* Alinhamento vertical entre barra lateral e conteúdo: mesmo respiro no topo
   e mesma margem interna, para não parecerem dois sistemas diferentes. */
@media(min-width:1024px){
  .wrap{padding:26px 34px 90px;}
  .app-nav{padding-top:26px;}
}

/* ---------- Clientes e vendas: abas de visualização ---------- */
.cv-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px;padding:4px;background:var(--papel-2,#f6f1e7);
  border:1px solid var(--linha,#d9cfb8);border-radius:12px;width:fit-content;max-width:100%}
.cv-tab{appearance:none;border:0;background:transparent;color:#5c5344;font:inherit;font-size:14px;font-weight:600;
  min-height:44px;padding:0 16px;border-radius:9px;cursor:pointer;white-space:nowrap}
.cv-tab:hover{background:rgba(58,74,42,.08)}
.cv-tab.on{background:var(--capim,#3a4a2a);color:#fff}
.cv-tab:focus-visible{outline:2px solid var(--latao,#a9822f);outline-offset:2px}
@media(max-width:640px){.cv-tabs{width:100%;overflow-x:auto}.cv-tab{flex:1 0 auto}}

.linklike{appearance:none;border:0;background:none;padding:0;font:inherit;color:var(--capim,#3a4a2a);
  text-decoration:underline;cursor:pointer}

/* ---------- Kanban: pista de que há mais colunas para o lado ---------- */
.kanban-wrap{position:relative}
.kanban-wrap .kanban{scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:var(--latao,#a9822f) transparent}
.kanban-wrap .kanban::-webkit-scrollbar{height:8px}
.kanban-wrap .kanban::-webkit-scrollbar-track{background:var(--papel-2,#f6f1e7);border-radius:8px}
.kanban-wrap .kanban::-webkit-scrollbar-thumb{background:var(--latao,#a9822f);border-radius:8px}
.kanban-fade{position:absolute;top:0;bottom:12px;width:52px;pointer-events:none;opacity:0;transition:opacity .18s}
.kanban-fade.left{left:0;background:linear-gradient(to right,var(--papel,#faf6ec),transparent)}
.kanban-fade.right{right:0;background:linear-gradient(to left,var(--papel,#faf6ec),transparent)}
.kanban-wrap.has-left .kanban-fade.left,.kanban-wrap.has-right .kanban-fade.right{opacity:1}
.kanban-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;
  border:1px solid var(--linha,#d9cfb8);background:#fff;color:var(--capim,#3a4a2a);font-size:22px;line-height:1;
  cursor:pointer;display:none;align-items:center;justify-content:center;box-shadow:0 2px 10px rgba(0,0,0,.12);z-index:2}
.kanban-arrow.prev{left:-6px}
.kanban-arrow.next{right:-6px}
.kanban-wrap.has-left .kanban-arrow.prev,.kanban-wrap.has-right .kanban-arrow.next{display:flex}
.kanban-arrow:focus-visible{outline:2px solid var(--latao,#a9822f);outline-offset:2px}
.kanban-arrow.next[data-restantes]:not([data-restantes=""])::after{content:attr(data-restantes);position:absolute;
  top:-6px;right:-4px;background:var(--latao,#a9822f);color:#fff;font-size:11px;font-weight:700;
  border-radius:10px;padding:1px 6px}

/* ================= INÍCIO: QUADRO COMPACTO DA AGENDA ================= */
.agk{display:grid;grid-template-columns:1fr;gap:14px;margin-top:12px;}
@media(min-width:640px){ .agk{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media(min-width:1100px){ .agk{grid-template-columns:repeat(3,minmax(0,1fr));} }
.agk-col{min-width:0;display:flex;flex-direction:column;gap:8px;}
.agk-head{display:flex;align-items:center;gap:8px;justify-content:space-between;
  border-bottom:1px solid var(--linha,#d9cfb8);padding-bottom:6px;}
.agk-head h4{margin:0;font-size:14px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--oleo);min-width:0;}
.agk-count{flex:0 0 auto;font-size:13px;font-weight:700;color:var(--capim);
  background:rgba(122,148,86,.16);border-radius:999px;padding:2px 9px;}
.agk-card{width:100%;text-align:left;background:#fff;border:1px solid var(--linha,#d9cfb8);
  border-radius:8px;padding:12px 14px;min-height:56px;cursor:pointer;display:block;}
.agk-card:hover,.agk-card:focus-visible{border-color:var(--latao);box-shadow:0 2px 10px rgba(0,0,0,.06);}
.agk-ttl{font-size:16px;line-height:1.35;font-weight:600;color:var(--oleo);word-break:break-word;}
.agk-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin-top:6px;font-size:13.5px;color:#5d5849;}
.agk-vazio{margin:0;font-size:13.5px;color:#6d6757;}

/* Sidebar acompanha a rolagem normal da página no desktop, sem barra interna. */
@media(min-width:1024px){
  body{position:relative;}
  .app-nav{position:absolute;top:0;left:0;bottom:auto;min-height:100%;
    overflow:visible;max-height:none;}
}

/* ================= TOUR GUIADO: alvo destacado e toque confortável ================= */
.help-btn,.help-close,.help-go{min-height:44px;}
.help-btn{padding:11px 16px;}
.help-btn:focus-visible,.help-close:focus-visible,.help-go:focus-visible{
  outline:3px solid var(--latao,#a8884a);outline-offset:2px;}
.tour-alvo{position:relative;z-index:6100;border-radius:10px;
  outline:3px solid var(--latao,#a8884a);outline-offset:2px;
  box-shadow:0 0 0 6px rgba(168,136,74,.25);}
@media(prefers-reduced-motion:reduce){
  .tour-alvo{box-shadow:0 0 0 6px rgba(168,136,74,.25);}
}

/* Sugestões rápidas do Assistente */
.sup-sug{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;}
.sup-sug-btn{min-height:44px;padding:10px 14px;border-radius:999px;cursor:pointer;
  border:1px solid var(--linha,#d9cfb8);background:#fff;color:var(--oleo,#2c2a24);
  font-family:var(--sans);font-size:14px;text-align:left;}
.sup-sug-btn:hover{border-color:var(--latao,#a8884a);}
.sup-sug-btn:focus-visible{outline:3px solid var(--latao,#a8884a);outline-offset:2px;}

/* ====== Contratos: formulário em blocos ====== */
.ct-modal{max-width:1023px}
.ct-bloco{border-top:1px solid var(--linha,#e6e1d6);padding-top:14px;margin-top:14px}
.ct-bloco:first-of-type{border-top:0;margin-top:0}
.ct-bloco h4{margin:0 0 10px;font-size:15px;letter-spacing:.02em}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.ct-grid > .ct-full{grid-column:1 / -1}
.ct-grid label,.ct-grid > div{display:flex;flex-direction:column;gap:6px;font-size:13px}
.ct-grid input,.ct-grid select,.ct-grid textarea{min-height:44px;font-size:16px;width:100%}
.ct-grid textarea{min-height:66px}
.ct-dias-linha{display:flex;flex-wrap:wrap;gap:10px}
.ct-chk{display:inline-flex;align-items:center;gap:6px;min-height:44px;font-size:14px}
.ct-chk input{min-height:auto;width:auto}
.ct-dica{font-size:12px;opacity:.75;margin:0}
.ct-err{font-size:12px;color:#a3341f;font-weight:600}
.ct-aviso{font-size:13px;background:rgba(176,137,58,.12);border-left:3px solid var(--latao,#b0893a);padding:8px 10px;border-radius:8px;margin-bottom:10px}
.ct-incompleto{color:#8a6a1f}
.ct-resumo{font-size:15px;font-weight:600;line-height:1.5;background:rgba(0,0,0,.04);border-radius:10px;padding:12px}
.ct-acoes{margin-top:16px}
.ct-acoes .btn{min-height:44px}
@media (max-width:720px){
  .ct-grid{grid-template-columns:1fr}
}
.ct-dica,.ct-err,.ct-resumo,.ct-aviso,.ct-chk,.ct-grid .lbl{text-transform:none;letter-spacing:normal}

/* ===== Contas a pagar: grupos e prévia de parcelas ===== */
.pg-grupo{border:1px solid var(--linha,rgba(0,0,0,.1));border-radius:14px;margin:10px 0;overflow:hidden;background:var(--card,#fff)}
.pg-cab{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:12px 14px;background:none;border:0;text-align:left;cursor:pointer;font:inherit;color:inherit}
.pg-cab:focus-visible{outline:2px solid var(--acento,#7a8a4a);outline-offset:-2px}
.pg-cab-txt{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pg-cab .ttl{font-weight:600;line-height:1.3}
.pg-quem{font-weight:400;opacity:.7}
.pg-seta{opacity:.6;font-size:14px}
.pg-parcelas{padding:0 12px 12px;border-top:1px solid var(--linha,rgba(0,0,0,.08))}
.pg-parcelas .listrow{border-bottom:1px dashed var(--linha,rgba(0,0,0,.08))}
.pg-acoes{margin-top:10px}
.lp-modal{max-width:640px}
.lp-body{display:flex;flex-direction:column;gap:16px;padding:20px 22px}
@media(max-width:640px){.lp-body{padding:14px 14px calc(14px + env(safe-area-inset-bottom,0))}}
.lp-bloco{display:flex;flex-direction:column;gap:6px;padding:14px;border:1px solid var(--linha,rgba(0,0,0,.1));border-radius:14px}
.lp-grid{display:grid;grid-template-columns:1fr;gap:10px}
@media(min-width:520px){.lp-grid{grid-template-columns:1fr 1fr}}
.lp-body input,.lp-body select{width:100%;font-size:16px;min-height:44px;box-sizing:border-box}
.lp-prev{display:flex;flex-direction:column;gap:10px;max-height:46vh;overflow:auto}
.lp-parc{border:1px solid var(--linha,rgba(0,0,0,.1));border-radius:12px;padding:10px}
.lp-parc.paga{background:rgba(122,138,74,.08)}
.lp-parc-top{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.lp-parc-num{font-weight:600}
.lp-check{display:flex;align-items:center;gap:8px;min-height:44px;font-size:14px}
.lp-check input{width:20px;min-height:20px}
.lp-prev-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.lp-erro{color:#a33}
.lp-aviso{background:rgba(200,150,40,.14);border-radius:10px;padding:10px;font-size:14px}
.lp-acoes{position:sticky;bottom:0;background:var(--card,#fff);padding-top:10px}

/* LEITURA FÁCIL: campos com 16px no celular (evita zoom automático no iPhone)
   e alvos de toque confortáveis. */
@media(max-width:1023px){
  input[type=text],input[type=number],input[type=email],input[type=date],
  input[type=tel],input[type=password],textarea,select{
    font-size:16px;min-height:46px;}
  .btn{font-size:14.5px;min-height:44px;}
  .btn.sm{font-size:13.5px;min-height:40px;}
  .card .sub{font-size:15px;}
  label{font-size:14px;}
}


/* ================= 9. CAMADA CANÔNICA DE TELAS (rodada final) =================
   Quatro tamanhos, um desenho para cada. Tudo que vier acima é remendo antigo;
   este bloco é a fonte única. Celular ≤640 · Tablet 641-1023 · Notebook 1024-1439
   · Monitor ≥1440. */

/* 9.1 HIERARQUIA DE TEXTO (uma escala só, todas as telas) */
:root{
  --t-titulo:clamp(24px, 1.5vw + 16px, 34px);
  --t-secao:clamp(18px, .7vw + 14px, 22px);
  --t-corpo:16px;
  --t-apoio:15.5px;
  --t-label:13px;
  --t-dado:clamp(22px, 1.8vw + 12px, 36px);
}
body,.wrap{font-size:var(--t-corpo);line-height:1.55;}
h1,.pagehead h1{font-family:var(--serif);font-size:var(--t-titulo);font-weight:700;
  line-height:1.15;letter-spacing:-.01em;color:var(--capim);}
h2{font-family:var(--serif);font-size:clamp(20px, 1vw + 15px, 26px);font-weight:700;line-height:1.2;}
h3,.card h3{font-family:var(--serif);font-size:var(--t-secao);font-weight:600;line-height:1.25;}
h4,.sec-block .sec-title h4{font-family:var(--serif);font-size:clamp(16px,.4vw+15px,18px);font-weight:600;}
p,li,td,th{font-size:var(--t-corpo);}
.card .sub,.pagehead p,.stat .meta,.empty p{font-size:var(--t-apoio);line-height:1.6;color:var(--tabaco);}
.hint{font-size:14px;color:#6B5A3E;}
label,.eyebrow,.stat .lbl,.lbl{font-size:var(--t-label);letter-spacing:.06em;
  text-transform:uppercase;font-weight:700;color:var(--tabaco);}
.badge,.soon-tag{font-size:13px;}
.stat .num,.kpi-num,.big-num,.valor,.money{font-size:var(--t-dado);font-weight:700;
  font-variant-numeric:tabular-nums;line-height:1.05;color:var(--capim);}

/* 9.2 CELULAR (até 640px): uma coluna, barra inferior, toque confortável */
@media(max-width:640px){
  .wrap{padding:18px 14px calc(var(--bottom-nav-h) + 44px + env(safe-area-inset-bottom,0));}
  .grid-2,.grid-3,.grid-4,.field-row{grid-template-columns:1fr !important;}
  .card{padding:16px 16px;}
  input,select,textarea{font-size:16px;min-height:46px;}
  .btn{min-height:46px;}
  .card .sub{font-size:15px;}
}

/* 9.3 TABLET (641 a 1023px): duas colunas, barra inferior, mais respiro */
@media(min-width:641px) and (max-width:1023px){
  .wrap{max-width:820px;padding:26px 26px calc(var(--bottom-nav-h) + 48px + env(safe-area-inset-bottom,0));}
  .grid-2,.grid-3,.grid-4,.dash-num-grid,.field-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .card{padding:20px 22px;margin-bottom:16px;}
  .listrow{flex-direction:row;align-items:center;}
  .dash-acao{grid-template-columns:minmax(0,1fr) minmax(0,auto) !important;}
  table,thead,tbody,tr,td,th{display:revert;}
  thead{display:table-header-group;}
  .table-scroll,.scroll-x{overflow-x:auto;}
}

/* 9.4 NOTEBOOK (1024 a 1439px): barra lateral + coluna de leitura */
@media(min-width:1024px) and (max-width:1439px){
  .wrap{max-width:1040px;padding:32px 34px 80px;}
  .grid-3{grid-template-columns:repeat(3,minmax(0,1fr));}
  .card{padding:22px 24px;}
}

/* 9.5 MONITOR GRANDE (1440px ou mais): mais respiro, texto sem esticar */
@media(min-width:1440px){
  .wrap{max-width:1240px;padding:40px 48px 90px;}
  .card{padding:26px 28px;margin-bottom:18px;}
  .grid-3{gap:18px;}
  .pagehead p,.card .sub{max-width:72ch;}
}

/* 9.6 Travas gerais que valem em toda tela */
html,body{max-width:100%;overflow-x:hidden;}
.wrap > *,.card,.stat,.listrow{min-width:0;max-width:100%;}
img{max-width:100%;height:auto;}
button,.btn,a.btn,.navlink,.nav-sub,.more-item,.bnav-item{min-height:44px;}
:focus-visible{outline:2px solid var(--latao);outline-offset:2px;}
.kanban,.table-scroll,.scroll-x,.pipeline-cols{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;}

/* Contas a pagar: ações do grupo visíveis e parcela cancelada riscada */
.pg-cab-acoes{ padding:0 14px 12px; gap:8px; flex-wrap:wrap; }
.pg-cab-acoes .btn{ min-height:40px; }
.listrow.cancelada .ttl,
.listrow.cancelada .meta{ text-decoration:line-through; opacity:.7; }
.lp-resumo{ margin:8px 0 0; font-size:.95rem; line-height:1.5; }
.lp-resumo.lp-erro{ color:var(--perigo,#a33); font-weight:600; }
@media (max-width:640px){
  .pg-cab-acoes{ padding:0 12px 12px; }
  .pg-cab-acoes .btn{ flex:1 1 100%; }
}

/* Investimento por itens: editor e tabela do cliente */
.wz-inv-modo{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.wz-inv-modo .btn{min-height:44px;}
.inv-itens{display:flex;flex-direction:column;gap:12px;margin-bottom:18px;}
.inv-item{border:1px solid var(--linha,#e3dbc9);border-radius:10px;padding:12px;display:flex;flex-direction:column;gap:10px;}
.inv-item label{margin:0 0 4px;}
.inv-item input{min-height:44px;font-size:16px;}
.inv-item-nums{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.inv-item-fim{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.inv-item-sub{font-weight:600;}
.inv-item-fim .btn{min-height:44px;}
@media(min-width:720px){
  .inv-item{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,2fr) auto;align-items:end;}
  .inv-item-desc{min-width:0;}
}
.pr-inv-tab{width:100%;border-collapse:collapse;margin-bottom:16px;font-size:15px;}
.pr-inv-tab th,.pr-inv-tab td{text-align:left;padding:8px 6px;border-bottom:1px solid #e6dcc6;}
.pr-inv-tab th:nth-child(n+2),.pr-inv-tab td:nth-child(n+2){text-align:right;white-space:nowrap;}
.pr-inv-tab th{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#7d6b4d;}
@media(max-width:640px){ .pr-inv-tab{font-size:13.5px;} }
