
  :root{--paper:#FBF6F2;--paper2:#FFFFFF;--ink:#2E2326;--muted:#7A6A6E;--line:#EAD9D6;--rose:#C97B84;--rose-dark:#9C4F58;--rose-tint:#F7E4E4;--sage:#7A8C6E;--sage-dark:#4f5f44;--sage-tint:#E7EDE0;--amber:#B98A2C;--amber-tint:#F6EBCB;--radius:16px;}
  @media (prefers-color-scheme: dark){:root:not([data-theme="light"]){--paper:#1E1719;--paper2:#2A2124;--ink:#F3E9E6;--muted:#B9A6A9;--line:#43343A;--rose-tint:#3A2428;--sage-tint:#27302A;--sage-dark:#B7C9AB;--amber-tint:#3A3220;}}
  *{box-sizing:border-box;margin:0;} html{scroll-behavior:smooth;}
  body{background:var(--paper);color:var(--ink);font:400 16px/1.55 'Work Sans',system-ui,sans-serif;-webkit-font-smoothing:antialiased;}
  .wrap{max-width:900px;margin:0 auto;padding:0 16px 90px;}
  header.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--muted);}
  header.top b{color:var(--ink);font-weight:600;letter-spacing:.02em;}
  .link{background:none;border:0;color:var(--rose-dark);font:600 13px 'Work Sans';cursor:pointer;text-decoration:underline;}
  /* login */
  #login{min-height:100vh;display:grid;place-items:center;padding:24px 16px;}
  .lbox{width:100%;max-width:420px;background:var(--paper2);border:1px solid var(--line);border-radius:22px;padding:34px 28px;text-align:center;box-shadow:0 20px 60px rgba(156,79,88,.12);}
  .lbox .eyebrow{margin-bottom:6px;}
  .lbox h1{font-size:30px;margin:4px 0 8px;}
  .lbox p{color:var(--muted);font-size:14.5px;}
  .pin{display:flex;gap:8px;justify-content:center;margin:22px 0 8px;}
  .pin input{width:46px;height:56px;text-align:center;font:600 24px 'Fraunces',serif;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);}
  .pin input:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-tint);}
  .err{color:var(--rose-dark);font-size:13.5px;min-height:20px;margin-bottom:6px;}
  .demohint{margin-top:16px;font-size:12px;color:var(--muted);border-top:1px dashed var(--line);padding-top:12px;}
  .eyebrow{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rose-dark);font-weight:600;}
  h1{font:600 clamp(30px,6vw,46px)/1.08 'Fraunces',Georgia,serif;margin:8px 0 10px;letter-spacing:-.01em;}
  h1 em{color:var(--rose);font-style:italic;font-weight:500;}
  .lead{color:var(--muted);max-width:58ch;}
  .hero{position:relative;padding:54px 0 8px;}
  .ring{margin-top:34px;}
  .hgrid{display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center;}
  .ring{position:relative;width:168px;height:168px;flex:none;}
  .ring svg{width:100%;height:100%;transform:rotate(-90deg);}
  .ring .track{fill:none;stroke:var(--line);stroke-width:5;stroke-dasharray:1.5 7;stroke-linecap:round;}
  .ring .arc{fill:none;stroke:var(--rose-dark);stroke-width:6;stroke-linecap:round;transition:stroke-dashoffset 1.1s cubic-bezier(.22,1,.36,1);}
  .ring .center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;}
  .ring .pct{font-family:'Fraunces',serif;font-size:38px;font-weight:600;line-height:1;}
  .ring .cap{font-size:11.5px;color:var(--muted);margin-top:4px;letter-spacing:.04em;text-align:center;}
  .sprig{position:absolute;right:-6px;top:-6px;width:150px;opacity:.9;pointer-events:none;}
  @media (max-width:760px){.hgrid{grid-template-columns:1fr;}.ring{justify-self:start;}.sprig{display:none;}}
  .cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:22px 0 8px;}
  .card{background:var(--paper2);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;}
  .card .k{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;}
  .card .v{font:600 25px/1.15 'Fraunces',serif;margin-top:4px;}
  .card .s{font-size:13px;color:var(--muted);margin-top:2px;}
  .card.prazo{border-color:var(--rose);background:linear-gradient(180deg,var(--rose-tint),var(--paper2));}
  .banner{margin:18px 0 0;padding:14px 18px;border-radius:14px;background:var(--sage-tint);border:1px solid var(--sage);color:var(--ink);font-size:14.5px;}
  .banner b{color:var(--sage-dark);}
  h2{font:600 24px/1.2 'Fraunces',serif;margin:40px 0 4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
  h2 .n{font:600 13px 'Work Sans';padding:2px 10px;border-radius:99px;background:var(--rose-tint);color:var(--rose-dark);}
  h2 .n.g{background:var(--sage-tint);color:var(--sage-dark);} h2 .n.b{background:var(--amber-tint);color:#7a5a12;}
  .sub{color:var(--muted);font-size:14px;margin-bottom:12px;}
  /* etapas em ordem */
  .road{display:grid;gap:12px;counter-reset:e;}
  .stg{display:grid;grid-template-columns:44px 1fr;gap:14px;background:var(--paper2);border:1px solid var(--line);border-radius:var(--radius);padding:16px;position:relative;}
  .stg .num{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;font:600 16px 'Fraunces',serif;background:var(--paper);border:2px solid var(--line);color:var(--muted);}
  .stg.ok .num{background:var(--sage);border-color:var(--sage);color:#fff;}
  .stg.now{border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-tint);} .stg.now .num{background:var(--rose);border-color:var(--rose);color:#fff;}
  .stg.next{opacity:.88;}
  .stg h3{font:600 17px/1.3 'Work Sans';display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
  .stg .meta{font-size:13.5px;color:var(--muted);margin-top:4px;}
  .stg .dep{font-size:13px;margin-top:8px;display:flex;gap:6px;flex-wrap:wrap;}
  .chip{font-size:12px;padding:2px 10px;border-radius:99px;font-weight:600;white-space:nowrap;}
  .chip.ok{background:var(--sage-tint);color:var(--sage-dark);} .chip.al{background:var(--amber-tint);color:#7a5a12;} .chip.mid{background:var(--rose-tint);color:var(--rose-dark);} .chip.go{background:var(--rose);color:#fff;}
  .list{display:grid;gap:10px;}
  .it{display:grid;grid-template-columns:34px 1fr auto;gap:12px;align-items:center;background:var(--paper2);border:1px solid var(--line);border-radius:14px;padding:13px 16px;}
  .ic{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-size:15px;background:var(--sage-tint);color:var(--sage-dark);}
  .it.fal .ic{background:var(--amber-tint);color:var(--amber);} .it.fal{border-color:#E7D6A8;}
  .it.ag .ic{background:var(--rose-tint);color:var(--rose-dark);} .it.ag{border-color:var(--rose-tint);}
  .it h3{font:600 15.5px/1.3 'Work Sans';} .it p{font-size:13.5px;color:var(--muted);margin-top:2px;}
  .when{font-size:12px;color:var(--muted);text-align:right;margin-top:4px;}
  .adm{display:none;margin-top:8px;} body.agencia .adm{display:flex;gap:8px;flex-wrap:wrap;}
  .btn{font:600 13px 'Work Sans';border:1px solid var(--line);background:var(--paper2);color:var(--ink);padding:9px 18px;border-radius:99px;cursor:pointer;}
  .btn:hover{border-color:var(--rose);} .btn.p{background:var(--rose-dark);color:#fff;border-color:var(--rose-dark);}
  .up{margin-top:14px;border:2px dashed var(--line);border-radius:var(--radius);padding:22px;text-align:center;color:var(--muted);background:var(--paper2);}
  .up b{color:var(--ink);display:block;font-size:15px;margin-bottom:2px;}
  .note{margin-top:30px;border-left:3px solid var(--sage);padding:10px 16px;background:var(--sage-tint);border-radius:0 12px 12px 0;font-size:14px;}
  .demo{position:fixed;right:14px;bottom:14px;background:var(--ink);color:var(--paper);padding:10px 14px;border-radius:14px;font-size:12.5px;display:none;gap:10px;align-items:center;box-shadow:0 8px 28px rgba(0,0,0,.25);z-index:20;}
  body.logado .demo{display:flex;} .demo label{display:flex;gap:6px;align-items:center;cursor:pointer;}
  footer{margin-top:50px;font-size:12.5px;color:var(--muted);text-align:center;}
  #app{display:none;} body.logado #app{display:block;} body.logado #login{display:none;}
  @media (max-width:560px){.it{grid-template-columns:30px 1fr;} .it .side{grid-column:2;display:flex;gap:8px;align-items:center;flex-wrap:wrap;} .when{text-align:left;margin:0;} .stg{grid-template-columns:36px 1fr;} .pin input{width:40px;height:50px;}}
  @media (prefers-reduced-motion:no-preference){.it,.card,.stg{animation:up .5s both;} @keyframes up{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}}

  /* ---- site dos clientes ---- */
  .pinbox{width:100%;max-width:220px;text-align:center;font:600 28px 'Fraunces',serif;letter-spacing:.4em;padding:10px 6px 10px 18px;border:1.5px solid var(--line);border-radius:12px;background:var(--paper);color:var(--ink);margin:18px 0 6px;}
  .pinbox:focus{outline:none;border-color:var(--rose);box-shadow:0 0 0 4px var(--rose-tint);}
  #app{display:block;} body.logado #login{display:none;}
  .up2{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px;}
  .up2 input[type=text],.up2 textarea{font:inherit;font-size:14px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);flex:1;min-width:200px;}
  .msgok{color:var(--sage-dark);font-size:13px;} .msger{color:var(--rose-dark);font-size:13px;}
  .linkbtn{background:none;border:0;color:var(--rose-dark);font:600 12.5px 'Work Sans';cursor:pointer;text-decoration:underline;padding:0;}

  /* ---- abas ---- */
  .tabs{display:flex;gap:6px;overflow-x:auto;margin:30px 0 8px;padding-bottom:2px;border-bottom:1px solid var(--line);-webkit-overflow-scrolling:touch;}
  .tab{flex:none;font:600 13.5px 'Work Sans',sans-serif;color:var(--muted);background:none;border:0;border-bottom:3px solid transparent;padding:10px 14px;cursor:pointer;white-space:nowrap;margin-bottom:-1px;}
  .tab:hover{color:var(--ink);} .tab[aria-selected="true"]{color:var(--rose-dark);border-bottom-color:var(--rose-dark);}
  .tab .count{display:inline-block;margin-left:6px;padding:0 8px;border-radius:99px;background:var(--rose-tint);color:var(--rose-dark);font-size:12px;}
  .tab.alerta .count{background:var(--amber-tint);color:#7a5a12;}
  .painel{padding-top:14px;}

  /* ---- próximo passo, botões, agenda ---- */
  .proximo{margin:20px 0 4px;padding:14px 18px;border:1px solid var(--rose);border-radius:14px;background:linear-gradient(180deg,var(--rose-tint),var(--paper2));display:flex;flex-direction:column;gap:2px;}
  .proximo b{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--rose-dark);} .proximo span{font:600 17px/1.35 'Fraunces',Georgia,serif;}
  .acoes{display:flex;gap:10px;flex-wrap:wrap;margin:14px 0 0;} .acoes .btn{text-decoration:none;}
  h3.sec{font:600 18px 'Fraunces',Georgia,serif;margin:16px 0 8px;} .it a.btn{text-decoration:none;display:inline-block;}
