/* Paleta e tipos provisórios, até a identidade visual da marca ficar pronta */
:root{
  /* Tema clássico (padrão): a primeira versão do app */
  --bg:#f3eff2;
  --surface:#fffcfd;
  --ink:#251e27;
  --muted:#6e6370;
  --line:#e7dfe5;
  --accent:#9b2f5c;
  --on-accent:#ffffff;
  --accent-soft:#f6e3eb;
  --pink:#9b2f5c;
  --pink-soft:#f6e3eb;
  --gold:#8b6f7b;
  --sage:#4f7562;
  --sage-soft:#e3eee7;
  --amber:#93590f;
  --sos:#efe7f6;
  --sos-ink:#5b3f7a;
  --display:"Young Serif", Georgia, serif;
  --body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --scallop-oval:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20400%20500%22%3E%3Cpath%20d%3D%22M386.0%2C250.0%20A17.7%2C17.7%200%200%201%20384.1%2C283.6%20A17.5%2C17.5%200%200%201%20378.5%2C316.5%20A17.3%2C17.3%200%200%201%20369.2%2C348.0%20A16.9%2C16.9%200%200%201%20356.5%2C377.6%20A16.4%2C16.4%200%200%201%20340.6%2C404.5%20A15.9%2C15.9%200%200%201%20321.8%2C428.4%20A15.4%2C15.4%200%200%201%20300.6%2C448.5%20A14.9%2C14.9%200%200%201%20277.3%2C464.7%20A14.4%2C14.4%200%200%201%20252.4%2C476.4%20A14.1%2C14.1%200%200%201%20226.5%2C483.6%20A14.0%2C14.0%200%200%201%20200.0%2C486.0%20A14.0%2C14.0%200%200%201%20173.5%2C483.6%20A14.1%2C14.1%200%200%201%20147.6%2C476.4%20A14.4%2C14.4%200%200%201%20122.7%2C464.7%20A14.9%2C14.9%200%200%201%2099.4%2C448.5%20A15.4%2C15.4%200%200%201%2078.2%2C428.4%20A15.9%2C15.9%200%200%201%2059.4%2C404.5%20A16.4%2C16.4%200%200%201%2043.5%2C377.6%20A16.9%2C16.9%200%200%201%2030.8%2C348.0%20A17.3%2C17.3%200%200%201%2021.5%2C316.5%20A17.5%2C17.5%200%200%201%2015.9%2C283.6%20A17.7%2C17.7%200%200%201%2014.0%2C250.0%20A17.7%2C17.7%200%200%201%2015.9%2C216.4%20A17.5%2C17.5%200%200%201%2021.5%2C183.5%20A17.3%2C17.3%200%200%201%2030.8%2C152.0%20A16.9%2C16.9%200%200%201%2043.5%2C122.4%20A16.4%2C16.4%200%200%201%2059.4%2C95.5%20A15.9%2C15.9%200%200%201%2078.2%2C71.6%20A15.4%2C15.4%200%200%201%2099.4%2C51.5%20A14.9%2C14.9%200%200%201%20122.7%2C35.3%20A14.4%2C14.4%200%200%201%20147.6%2C23.6%20A14.1%2C14.1%200%200%201%20173.5%2C16.4%20A14.0%2C14.0%200%200%201%20200.0%2C14.0%20A14.0%2C14.0%200%200%201%20226.5%2C16.4%20A14.1%2C14.1%200%200%201%20252.4%2C23.6%20A14.4%2C14.4%200%200%201%20277.3%2C35.3%20A14.9%2C14.9%200%200%201%20300.6%2C51.5%20A15.4%2C15.4%200%200%201%20321.8%2C71.6%20A15.9%2C15.9%200%200%201%20340.6%2C95.5%20A16.4%2C16.4%200%200%201%20356.5%2C122.4%20A16.9%2C16.9%200%200%201%20369.2%2C152.0%20A17.3%2C17.3%200%200%201%20378.5%2C183.5%20A17.5%2C17.5%200%200%201%20384.1%2C216.4%20A17.7%2C17.7%200%200%201%20386.0%2C250.0Z%22%20fill%3D%22%2305382e%22/%3E%3Cpath%20d%3D%22M370.0%2C250.0%20A16.5%2C16.5%200%200%201%20368.3%2C281.3%20A16.3%2C16.3%200%200%201%20363.1%2C312.0%20A16.1%2C16.1%200%200%201%20354.6%2C341.4%20A15.7%2C15.7%200%200%201%20343.0%2C368.9%20A15.2%2C15.2%200%200%201%20328.5%2C394.1%20A14.7%2C14.7%200%200%201%20311.3%2C416.3%20A14.2%2C14.2%200%200%201%20291.9%2C435.1%20A13.7%2C13.7%200%200%201%20270.6%2C450.1%20A13.2%2C13.2%200%200%201%20247.9%2C461.1%20A12.9%2C12.9%200%200%201%20224.2%2C467.8%20A12.8%2C12.8%200%200%201%20200.0%2C470.0%20A12.8%2C12.8%200%200%201%20175.8%2C467.8%20A12.9%2C12.9%200%200%201%20152.1%2C461.1%20A13.2%2C13.2%200%200%201%20129.4%2C450.1%20A13.7%2C13.7%200%200%201%20108.1%2C435.1%20A14.2%2C14.2%200%200%201%2088.7%2C416.3%20A14.7%2C14.7%200%200%201%2071.5%2C394.1%20A15.2%2C15.2%200%200%201%2057.0%2C368.9%20A15.7%2C15.7%200%200%201%2045.4%2C341.4%20A16.1%2C16.1%200%200%201%2036.9%2C312.0%20A16.3%2C16.3%200%200%201%2031.7%2C281.3%20A16.5%2C16.5%200%200%201%2030.0%2C250.0%20A16.5%2C16.5%200%200%201%2031.7%2C218.7%20A16.3%2C16.3%200%200%201%2036.9%2C188.0%20A16.1%2C16.1%200%200%201%2045.4%2C158.6%20A15.7%2C15.7%200%200%201%2057.0%2C131.1%20A15.2%2C15.2%200%200%201%2071.5%2C105.9%20A14.7%2C14.7%200%200%201%2088.7%2C83.7%20A14.2%2C14.2%200%200%201%20108.1%2C64.9%20A13.7%2C13.7%200%200%201%20129.4%2C49.9%20A13.2%2C13.2%200%200%201%20152.1%2C38.9%20A12.9%2C12.9%200%200%201%20175.8%2C32.2%20A12.8%2C12.8%200%200%201%20200.0%2C30.0%20A12.8%2C12.8%200%200%201%20224.2%2C32.2%20A12.9%2C12.9%200%200%201%20247.9%2C38.9%20A13.2%2C13.2%200%200%201%20270.6%2C49.9%20A13.7%2C13.7%200%200%201%20291.9%2C64.9%20A14.2%2C14.2%200%200%201%20311.3%2C83.7%20A14.7%2C14.7%200%200%201%20328.5%2C105.9%20A15.2%2C15.2%200%200%201%20343.0%2C131.1%20A15.7%2C15.7%200%200%201%20354.6%2C158.6%20A16.1%2C16.1%200%200%201%20363.1%2C188.0%20A16.3%2C16.3%200%200%201%20368.3%2C218.7%20A16.5%2C16.5%200%200%201%20370.0%2C250.0Z%22%20fill%3D%22%23fbf4f2%22/%3E%3C/svg%3E");
  --scallop-rect:url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%20400%20200%22%20preserveAspectRatio%3D%22none%22%3E%3Cpath%20d%3D%22M14.0%2C14.0%20A13.3%2C13.3%200%200%201%2040.6%2C14.0%20A13.3%2C13.3%200%200%201%2067.1%2C14.0%20A13.3%2C13.3%200%200%201%2093.7%2C14.0%20A13.3%2C13.3%200%200%201%20120.3%2C14.0%20A13.3%2C13.3%200%200%201%20146.9%2C14.0%20A13.3%2C13.3%200%200%201%20173.4%2C14.0%20A13.3%2C13.3%200%200%201%20200.0%2C14.0%20A13.3%2C13.3%200%200%201%20226.6%2C14.0%20A13.3%2C13.3%200%200%201%20253.1%2C14.0%20A13.3%2C13.3%200%200%201%20279.7%2C14.0%20A13.3%2C13.3%200%200%201%20306.3%2C14.0%20A13.3%2C13.3%200%200%201%20332.9%2C14.0%20A13.3%2C13.3%200%200%201%20359.4%2C14.0%20A13.3%2C13.3%200%200%201%20386.0%2C14.0%20A14.3%2C14.3%200%200%201%20386.0%2C42.7%20A14.3%2C14.3%200%200%201%20386.0%2C71.3%20A14.3%2C14.3%200%200%201%20386.0%2C100.0%20A14.3%2C14.3%200%200%201%20386.0%2C128.7%20A14.3%2C14.3%200%200%201%20386.0%2C157.3%20A14.3%2C14.3%200%200%201%20386.0%2C186.0%20A13.3%2C13.3%200%200%201%20359.4%2C186.0%20A13.3%2C13.3%200%200%201%20332.9%2C186.0%20A13.3%2C13.3%200%200%201%20306.3%2C186.0%20A13.3%2C13.3%200%200%201%20279.7%2C186.0%20A13.3%2C13.3%200%200%201%20253.1%2C186.0%20A13.3%2C13.3%200%200%201%20226.6%2C186.0%20A13.3%2C13.3%200%200%201%20200.0%2C186.0%20A13.3%2C13.3%200%200%201%20173.4%2C186.0%20A13.3%2C13.3%200%200%201%20146.9%2C186.0%20A13.3%2C13.3%200%200%201%20120.3%2C186.0%20A13.3%2C13.3%200%200%201%2093.7%2C186.0%20A13.3%2C13.3%200%200%201%2067.1%2C186.0%20A13.3%2C13.3%200%200%201%2040.6%2C186.0%20A13.3%2C13.3%200%200%201%2014.0%2C186.0%20A14.3%2C14.3%200%200%201%2014.0%2C157.3%20A14.3%2C14.3%200%200%201%2014.0%2C128.7%20A14.3%2C14.3%200%200%201%2014.0%2C100.0%20A14.3%2C14.3%200%200%201%2014.0%2C71.3%20A14.3%2C14.3%200%200%201%2014.0%2C42.7%20A14.3%2C14.3%200%200%201%2014.0%2C14.0Z%22%20fill%3D%22%23f9f0c9%22/%3E%3C/svg%3E");
  color-scheme:light;
}
/* Tema harry: marfim, verde floresta e rosa só nos detalhes */
:root[data-theme="harry"]{
  --bg:#fbf8f1;
  --surface:#fffefa;
  --ink:#05382e;
  --muted:#586c63;
  --line:#ece5d3;
  --accent:#05382e;
  --on-accent:#fbf8f1;
  --accent-soft:#e8efe9;
  --pink:#ff93d6;
  --pink-soft:#ffe8f6;
  --gold:#9c7a3c;
  --sage:#2f6b4f;
  --sage-soft:#e6efe8;
  --sos:#ffe8f6;
  --sos-ink:#7a2d5f;
  --display:"Playfair Display", Georgia, serif;
  --body:"Bricolage Grotesque", system-ui, -apple-system, "Segoe UI", sans-serif;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{height:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}
.app{max-width:480px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;position:relative}
.hidden{display:none!important}

/* Topo e progresso */
.top{position:sticky;top:0;z-index:5;background:var(--bg);padding:calc(14px + var(--safe-top)) 20px 10px;display:grid;gap:10px}
.toprow{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:var(--muted)}
.brand{font-family:var(--display);font-size:18px;color:var(--ink)}
.bar{height:4px;background:var(--line);border-radius:4px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--accent);width:0;transition:width .3s}
main{flex:1;padding:8px 20px 24px}
.foot{position:sticky;bottom:0;background:linear-gradient(transparent,var(--bg) 30%);padding:18px 20px calc(20px + var(--safe-bottom));display:flex;gap:10px;z-index:4}

/* Tipografia */
h1{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.12;margin:6px 0 10px;text-wrap:balance}
h2{font-size:17px;font-weight:600;margin:0 0 4px}
h3{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin:18px 0 8px;font-weight:700}
p{margin:0 0 12px}
.lead{color:var(--muted);font-size:15px}
.why{font-size:13px;color:var(--muted);margin:0 0 10px;display:flex;gap:6px}
.why::before{content:"Por quê:";font-weight:600;color:var(--gold)}
.note{font-size:12.5px;color:var(--muted);margin-top:10px}

/* Cartões e perguntas */
.q{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:18px;margin:0 0 12px;transition:border-color .2s}
.q.answered{border-color:#d9c9d2}
.q h2 .ok{display:inline-block;width:18px;height:18px;border-radius:50%;background:var(--sage);color:#fff;font-size:11px;line-height:18px;text-align:center;margin-left:6px;vertical-align:2px;opacity:0;transform:scale(.5);transition:opacity .2s,transform .2s}
.q.answered h2 .ok{opacity:1;transform:scale(1)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:transparent;color:var(--ink);font:inherit;font-size:14px;padding:8px 13px;border-radius:999px;cursor:pointer;min-height:38px;transition:transform .12s ease,background-color .18s,color .18s,border-color .18s}
.chip:active{transform:scale(.94)}
.chip[aria-pressed="true"]{background:var(--accent);border-color:var(--accent);color:var(--on-accent);animation:pop .25s ease}
.scale{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.scale .chip{padding:8px 4px;text-align:center;font-size:12.5px;border-radius:10px;line-height:1.2}
input[type=text],input[type=email],input[type=password],select,textarea{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}
textarea{min-height:70px;resize:vertical}
label.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;cursor:pointer}
label.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent);flex:none}
.field{display:grid;gap:6px;margin-bottom:12px;font-size:14px;font-weight:600}
.row{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* Botões */
.btn{font:inherit;font-weight:600;font-size:16px;border-radius:14px;padding:14px 18px;border:1px solid var(--accent);cursor:pointer;min-height:50px;transition:transform .12s,opacity .2s;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none}
.btn.primary{background:var(--accent);color:var(--on-accent);flex:1}
.btn.ghost{background:transparent;color:var(--accent)}
.btn.small{min-height:40px;padding:8px 14px;font-size:14px;border-radius:12px}
.btn.block{width:100%}
.btn:active:not(:disabled){transform:scale(.97)}
.btn:disabled{opacity:.45;cursor:not-allowed}
.link{background:none;border:0;color:var(--accent);font:inherit;font-weight:600;cursor:pointer;padding:6px 0}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Fotos guiadas */
.shots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 0 12px}
.shot{position:relative;aspect-ratio:3/4;border-radius:16px;border:1.5px dashed #d6c6d0;background:var(--surface);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:8px;cursor:pointer;overflow:hidden;transition:transform .15s,border-color .2s}
.shot svg{position:absolute;inset:10px 10px 30px;width:calc(100% - 20px);height:calc(100% - 40px);color:#d9c3cf}
.shot span{position:relative;font-size:12.5px;font-weight:600;text-align:center;line-height:1.2}
.shot.done{border-style:solid;border-color:var(--sage)}
.shot.done img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.shot.done span{background:rgba(255,252,253,.92);border-radius:999px;padding:2px 8px;color:var(--sage)}
.shot.done span::before{content:"✓ "}
.shot:active{transform:scale(.97)}
.shot:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.shot input,.extra-add input,.prodphoto input{position:absolute;opacity:0;width:1px;height:1px}
.extras{display:flex;gap:8px;flex-wrap:wrap;margin:6px 0 0}
.extras .th{width:64px;height:64px;border-radius:12px;object-fit:cover;border:1px solid var(--line)}
.extra-add{width:64px;height:64px;border-radius:12px;border:1.5px dashed #d6c6d0;display:grid;place-items:center;font-size:26px;color:var(--accent);cursor:pointer;position:relative;background:var(--surface)}
.count{font-size:13px;color:var(--muted);margin:0 0 10px}
.count b{color:var(--sage)}
.tips{font-size:14px;color:var(--muted);padding-left:18px;margin:0}

/* Produtos */
.thumb{width:52px;height:52px;border-radius:12px;background:var(--accent-soft);display:grid;place-items:center;overflow:hidden;flex:none}
.thumb img{width:100%;height:100%;object-fit:cover}
.thumb svg{width:34px;height:34px}
.list{display:grid;gap:8px;margin:0 0 12px;padding:0;list-style:none}
.list li{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px;font-size:14px}
.list .item{display:flex;gap:12px;align-items:center;min-width:0}
.list .item b{display:block;font-weight:600;font-size:15px}
.list small{display:block;color:var(--muted);font-size:12px}
.x{border:0;background:none;color:var(--muted);font-size:22px;cursor:pointer;padding:4px 8px}
.prodphoto{display:flex;align-items:center;gap:10px;margin-top:10px;font-size:14px}
.prodphoto label{cursor:pointer;color:var(--accent);font-weight:600;position:relative}
.pill{display:inline-block;font-size:11.5px;font-weight:600;border-radius:999px;padding:1px 8px;background:var(--bg);border:1px solid var(--line);color:var(--muted)}
.pill.uso{color:var(--sage);border-color:#c9dccf;background:var(--sage-soft)}
.pill.guardado{color:var(--amber);border-color:#ecd6b4;background:#fbf1e1}

/* Leitura */
.layer{border-radius:16px;padding:16px;margin:0 0 12px;border:1px solid var(--line);background:var(--surface)}
.layer .tag{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gold);margin-bottom:4px}
.layer ul{margin:6px 0 0;padding-left:18px;font-size:15px}
.layer li{margin-bottom:6px}
.layer.alert{border-left:4px solid var(--amber)}
.layer.alert .tag{color:var(--amber)}
.phase{background:var(--sage-soft);border:1px solid #c9dccf;border-radius:16px;padding:14px 16px;margin:0 0 12px;font-size:14px}
.phase strong{color:var(--sage)}
.step{display:grid;grid-template-columns:30px 52px 1fr;gap:10px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px;margin-bottom:8px;transition:opacity .2s,background-color .2s}
.step .num{width:30px;height:30px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700;display:grid;place-items:center;font-size:14px;border:0;cursor:pointer;font-family:inherit;transition:background-color .2s,transform .15s}
.step .cat{font-size:12px;color:var(--muted)}
.step .prod{font-weight:600;font-size:15px}
.step .how{font-size:13.5px;margin-top:4px}
.step .wait{display:inline-block;font-size:12px;color:var(--sage);background:var(--sage-soft);border-radius:999px;padding:1px 8px;margin-top:6px}
.step .buy{color:var(--amber);font-size:12.5px;font-weight:600}
.step.done{background:var(--sage-soft);border-color:#c9dccf}
.step.done .num{background:var(--sage);color:#fff}
.step.done .prod{text-decoration:line-through;text-decoration-color:rgba(79,117,98,.5)}
.locked{border:1px dashed var(--line);border-radius:14px;padding:12px 14px;font-size:14px;color:var(--muted)}

/* Hoje */
.hello{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:4px 0 14px}
.hello h1{margin:0}
.seg{display:grid;grid-template-columns:1fr 1fr;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px;margin:0 0 12px}
.seg button{font:inherit;font-weight:600;font-size:14px;border:0;background:transparent;color:var(--muted);padding:10px;border-radius:10px;cursor:pointer;transition:background-color .2s,color .2s}
.seg button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.progress-ring{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 12px}
.progress-ring svg{width:46px;height:46px;flex:none}
.progress-ring b{display:block;font-size:15px}
.progress-ring small{color:var(--muted);font-size:13px}

/* Navegação inferior */
.tabs{position:sticky;bottom:0;z-index:6;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(251,244,242,.95);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--line);padding:6px 6px calc(6px + var(--safe-bottom))}
.tabs button{font:inherit;font-size:11.5px;font-weight:600;border:0;background:none;color:var(--muted);display:grid;justify-items:center;gap:2px;padding:6px 0;cursor:pointer;border-radius:12px}
.tabs button svg{width:24px;height:24px}
.tabs button[aria-current="page"]{color:var(--ink)}
.tabs button[aria-current="page"] svg{background:var(--pink-soft);border-radius:10px;box-shadow:0 0 0 4px var(--pink-soft)}

/* Modo guiado */
.guided{position:fixed;inset:0;z-index:20;background:var(--bg);display:flex;flex-direction:column;padding:calc(16px + var(--safe-top)) 24px calc(24px + var(--safe-bottom));max-width:480px;margin:0 auto}
.guided .gtop{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:var(--muted)}
.guided .gbody{flex:1;display:flex;flex-direction:column;justify-content:center;text-align:center;gap:14px}
.guided .thumb{width:96px;height:96px;border-radius:24px;margin:0 auto}
.guided .thumb svg{width:60px;height:60px}
.guided h2{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.15}
.guided .how{font-size:17px;max-width:32ch;margin:0 auto}
.timer{font-family:var(--display);font-size:56px;color:var(--sage);font-variant-numeric:tabular-nums}
.dots{display:flex;gap:6px;justify-content:center}
.dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.dots i.on{background:var(--accent)}

/* Carregando e avisos */
.splash,.loading{min-height:70vh;display:grid;place-items:center;text-align:center}
/* carregando: a janelinha da casa harry acendendo, recortada da pintura */
.orb{width:78px;height:86px;border-radius:50% 50% 14px 14px/42% 42% 14px 14px;background:#3a3427 url(/icons/loader.jpg) center/cover;margin:0 auto 14px;box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line);animation:windowGlow 1.8s ease-in-out infinite}
@keyframes windowGlow{0%,100%{filter:brightness(.72) saturate(.85);box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line),0 0 0 rgba(255,196,90,0)}50%{filter:brightness(1.12) saturate(1.1);box-shadow:0 0 0 3px var(--surface),0 0 0 4px var(--line),0 0 26px rgba(255,196,90,.55)}}
@media (prefers-reduced-motion:reduce){.orb{animation:none}}
.loading p{font-family:var(--display);font-size:22px;margin:0}
.loading small{color:var(--muted)}
.toast{position:fixed;left:50%;bottom:calc(90px + var(--safe-bottom));transform:translate(-50%,20px);background:var(--ink);color:#fff;padding:10px 16px;border-radius:12px;font-size:14px;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;z-index:30;max-width:90vw}
.toast.show{opacity:1;transform:translate(-50%,0)}
.error{color:#a3262b;font-size:14px;margin:6px 0 0}
.card-install{background:var(--accent-soft);border-radius:16px;padding:14px 16px;font-size:14px;margin:0 0 12px}


/* Modo bateria baixa */
.lowcard{display:flex;justify-content:space-between;align-items:center;gap:12px;background:var(--surface);border:1px dashed var(--line);border-radius:16px;padding:12px 14px;margin:0 0 12px}
.lowcard b{display:block;font-size:15px}
.lowcard small{color:var(--muted);font-size:13px}
.lowcard.on{background:#fbf1e1;border:1px solid #ecd6b4}
.lowcard .btn{flex:none}

/* Diário */
.daynav{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px 6px;margin:0 0 12px}
.daynav b{font-size:15px}
.daynav .x{font-size:26px;line-height:1;padding:6px 14px}
.daynav .x:disabled{opacity:.25;cursor:default}
.di-ic{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;flex:none}
.di-ic svg{width:60%;height:60%}
.batt{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.bt{font:inherit;font-size:12.5px;border:1px solid var(--line);background:var(--bg);color:var(--muted);border-radius:12px;padding:10px 4px 8px;display:grid;justify-items:center;gap:4px;cursor:pointer;transition:transform .12s,background-color .18s,color .18s}
.bt svg{width:36px;height:18px}
.bt:active{transform:scale(.95)}
.bt.on{background:var(--sage-soft);border-color:#c9dccf;color:var(--sage);font-weight:600;animation:pop .25s ease}
.water{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 12px}
.water>div:first-child{display:flex;align-items:center;gap:10px}
.water b{display:block;font-size:18px;font-variant-numeric:tabular-nums}
.water small{color:var(--muted);font-size:12.5px}
.water .btn{border-color:var(--ink);color:var(--ink);background:transparent}
.quick{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 8px}
.quick button{font:inherit;font-size:12.5px;font-weight:600;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 6px;display:grid;justify-items:center;gap:6px;cursor:pointer;text-align:center;line-height:1.2;transition:transform .12s}
.quick button:active{transform:scale(.95)}
.timeline{list-style:none;margin:0 0 24px;padding:0;display:grid;gap:8px}
.timeline li{display:grid;grid-template-columns:44px 34px 1fr auto;gap:10px;align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 12px}
.timeline .tm{font-size:13px;font-weight:700;color:var(--muted);padding-top:8px;font-variant-numeric:tabular-nums}
.timeline .di-ic{border-radius:10px}
.timeline .tx{min-width:0;font-size:14px}
.timeline .tx b{display:block;font-size:13px;color:var(--muted);font-weight:600}
.timeline .tx span{display:block;overflow-wrap:anywhere}
.timeline .tx img{display:block;margin-top:8px;max-width:160px;border-radius:10px}
.timeline .acts{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.timeline .acts .link{font-size:12.5px;padding:2px 0}
.sheet-bg{position:fixed;inset:0;z-index:25;background:rgba(37,30,39,.35);display:flex;align-items:flex-end;justify-content:center}
.sheet{background:var(--bg);width:100%;max-width:480px;border-radius:24px 24px 0 0;padding:10px 20px calc(20px + var(--safe-bottom));max-height:88vh;overflow:auto}
.sheet .grab{width:40px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 14px}
.sheet .chips{margin:4px 0 8px}
input[type=time],input[type=date]{width:100%;font:inherit;font-size:16px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink)}
.tabs{grid-template-columns:repeat(5,1fr)}
.pagecard{position:relative;display:flex;align-items:center;gap:12px;background:var(--pink-soft);border:1px solid #f7bfe3;border-radius:16px;padding:12px 14px;margin:0 0 12px;cursor:pointer;transition:transform .12s}
.pagecard:active{transform:scale(.98)}
.pagecard:focus-within{outline:2px solid var(--accent);outline-offset:2px}
.pagecard b{display:block;font-size:15px}
.pagecard small{color:var(--muted);font-size:13px}
.pagecard .arrow{margin-left:auto;font-size:24px;color:var(--accent)}
.pagecard input{position:absolute;opacity:0;width:1px;height:1px}
.review{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.review li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:10px 12px}

/* Movimento */
@keyframes pop{0%{transform:scale(.92)}60%{transform:scale(1.05)}100%{transform:scale(1)}}
@keyframes breathe{0%,100%{transform:scale(.92)}50%{transform:scale(1.05)}}
@keyframes inR{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}
@keyframes inL{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
@keyframes rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
main.enter-fwd{animation:inR .32s cubic-bezier(.2,.8,.2,1)}
main.enter-back{animation:inL .32s cubic-bezier(.2,.8,.2,1)}
.rise>*{animation:rise .45s cubic-bezier(.2,.8,.2,1) both}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------- harry · diário ---------- */
.eyebrow{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);font-weight:600;margin:0}
h1 .cap,h2 .cap{font-style:italic;color:var(--ink)}
/* Login: listras do planner com moldura ondulada */
.stripes{min-height:100vh;min-height:100dvh;background:radial-gradient(120% 60% at 50% 0%,var(--accent-soft),var(--bg) 70%);display:grid;place-items:center;padding:calc(24px + var(--safe-top)) 16px calc(24px + var(--safe-bottom))}
.frame{width:min(420px,100%);display:grid;place-items:center;padding:24px 16px 8px}
:root[data-theme="harry"] .stripes{background:repeating-linear-gradient(90deg,var(--ink) 0 13px,var(--surface) 13px 24px)}
:root[data-theme="harry"] .frame{background:var(--scallop-oval) center/100% 100% no-repeat;aspect-ratio:4/5;padding:16% 15%}
.frame-in{width:100%;text-align:center}
.frame-in h1{font-size:30px;margin:0 0 4px}
.frame-in .lead{font-size:14px;margin-bottom:14px}
.frame-in .field{text-align:left}
.auth-extra{background:var(--surface);border-radius:20px;padding:16px;margin-top:14px;width:min(420px,100%)}
@media (max-width:400px){:root[data-theme="harry"] .frame{aspect-ratio:auto;background:var(--surface);border-radius:28px;padding:28px 20px;box-shadow:0 0 0 6px var(--ink),0 0 0 9px var(--surface)}}
/* Hoje: cartão ondulado do planner */
.hero{position:relative;background:var(--ink);border-radius:22px;padding:14px;margin:0 0 14px}
.hero-in{background:var(--scallop-rect) center/100% 100% no-repeat;padding:26px 26px 24px;text-align:center}
.hero-in h1{margin:4px 0 2px;font-size:28px}
.hero-in p{margin:0;color:var(--muted);font-size:14px}
.lowbanner{background:var(--pink-soft);border:1px solid #f7bfe3;border-radius:16px;padding:12px 14px;margin:0 0 12px;font-size:14px}
.lowbanner b{display:block;font-size:15px}
.mod{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 10px;cursor:pointer;width:100%;font:inherit;color:inherit;text-align:left}
.mod b{display:block;font-size:15px}
.mod small{display:block;color:var(--muted);font-size:13px}
.mod .arrow{margin-left:auto;font-size:24px;color:var(--gold)}
.mod:active{transform:scale(.98)}
.foco{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.foco li{display:flex;align-items:center;gap:10px;font-size:15px}
.foco li.done span{text-decoration:line-through;color:var(--muted)}
.foco input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink);flex:none}
.foco .x{margin-left:auto;font-size:18px}
.addrow{display:flex;gap:8px}
.addrow input{flex:1}
/* Cuidados: sub-abas */
.subnav{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:4px;margin:0 0 14px}
.subnav button{font:inherit;font-weight:600;font-size:14px;border:0;background:transparent;color:var(--muted);padding:9px 4px;border-radius:10px;cursor:pointer}
.subnav button[aria-pressed="true"]{background:var(--accent);color:var(--on-accent)}
.cta{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:18px;text-align:center}
.cta h2{font-family:var(--display);font-weight:500;font-size:22px;margin:6px 0}
/* Semana */
.week{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;margin:0 0 12px;overflow-x:auto}
.week table{border-collapse:collapse;width:100%;min-width:320px;font-size:12.5px}
.week th{font-weight:600;color:var(--gold);text-transform:lowercase;padding:4px 2px;text-align:center}
.week td{text-align:center;padding:6px 2px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}
.week td:first-child,.week th:first-child{text-align:left;color:var(--muted);font-weight:600;white-space:nowrap;padding-right:6px}
.lv{display:inline-block;width:14px;height:14px;border-radius:50%;border:1.5px solid var(--ink)}
.lv.l1{background:transparent}.lv.l2{background:linear-gradient(0deg,var(--ink) 35%,transparent 35%)}.lv.l3{background:linear-gradient(0deg,var(--ink) 65%,transparent 65%)}.lv.l4{background:var(--ink)}
.dash{color:var(--line)}
.counts{display:flex;flex-wrap:wrap;gap:6px}
.counts span{background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:5px 11px;font-size:13.5px}
.counts span b{color:var(--gold);margin-left:4px}
.stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 12px}
.stat{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px;text-align:center}
.stat b{display:block;font-family:var(--display);font-size:22px;font-weight:500}
.stat small{color:var(--muted);font-size:12px}

/* ---------- refinamentos: Hoje, semana e patinhas ---------- */
.sub{font-size:13px;color:var(--muted);margin:10px 0 8px}
.q-head{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.q-head .link{font-size:14px;padding:0}
.sheet-title{font-family:var(--display);font-weight:400;font-size:24px;margin:0 0 4px}
.topline{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin:6px 0 16px}
.topline h1{margin:2px 0 0}
.topline .eyebrow{text-transform:none;letter-spacing:0;font-size:14px;font-weight:500;color:var(--muted)}
.topline .eyebrow::first-letter{text-transform:uppercase}
.streak{display:flex;align-items:center;gap:4px;border:0;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:8px 14px 8px 10px;font:inherit;cursor:pointer;flex:none}
.streak svg{width:24px;height:24px}
.streak b{font-family:var(--display);font-weight:400;font-size:22px;line-height:1;color:var(--ink)}
.streak.pop{animation:pawpop .7s cubic-bezier(.2,.8,.2,1)}
@keyframes pawpop{0%{transform:scale(1)}30%{transform:scale(1.25) rotate(-8deg)}60%{transform:scale(.95) rotate(4deg)}100%{transform:scale(1)}}
.weekcard{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:14px 12px 12px;margin:0 0 12px;cursor:pointer}
.wk-head{display:flex;justify-content:space-between;align-items:baseline;padding:0 4px 8px}
.wk-head span{font-weight:600;font-size:15px}
.wk-head small{color:var(--muted);font-size:13px}
.wlabels{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-size:12px;color:var(--muted);margin-bottom:6px}
.wrow{display:grid;grid-template-columns:repeat(7,1fr);align-items:center;padding:4px 0;border-radius:999px}
.wd{position:relative;height:38px;margin:0 3px;display:grid;place-items:center;border-radius:999px;font-size:13.5px;font-weight:600;color:var(--muted);background:var(--bg);font-variant-numeric:tabular-nums}
.wd svg{width:18px;height:18px}
.wd.on{background:var(--accent);color:var(--on-accent)}
.wd.on.jl{margin-left:0;border-top-left-radius:0;border-bottom-left-radius:0}
.wd.on.jr{margin-right:0;border-top-right-radius:0;border-bottom-right-radius:0}
.wd.today:not(.on){box-shadow:inset 0 0 0 2px var(--accent);color:var(--accent);font-size:12px}
.wd.today.on::after{content:"";position:absolute;bottom:-7px;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.wd.fut{opacity:.55}
.wd.out{opacity:.3}
.cal{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px;margin:0 0 12px}
.cal .wrow{margin:4px 0;padding:5px 2px;border:1.5px solid transparent}
.cal .wrow.met{border-color:var(--accent);background:var(--accent-soft)}
.indcard .checks{display:grid;gap:8px;margin-top:4px}
.ck{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;font-size:15px;color:var(--ink);background:transparent;border:1px solid var(--line);border-radius:14px;padding:11px 12px;cursor:pointer;transition:background-color .2s,border-color .2s,transform .12s}
.ck:active{transform:scale(.98)}
.ck .box{width:24px;height:24px;border-radius:8px;border:1.5px solid var(--line);display:grid;place-items:center;flex:none;color:transparent;transition:all .2s}
.ck .box svg{width:16px;height:16px}
.ck.on{background:var(--accent-soft);border-color:transparent}
.ck.on .box{background:var(--accent);border-color:var(--accent);color:var(--on-accent);animation:pop .25s ease}
.indcard.complete{border-color:var(--accent)}
.indcard.complete #indSub{color:var(--accent);font-weight:600}
.sos{background:var(--sos);border-radius:20px;margin:0 0 12px;overflow:hidden}
.sos.nudge{box-shadow:inset 0 0 0 1.5px var(--sos-ink)}
.sos-head{display:flex;align-items:center;gap:12px;width:100%;border:0;background:transparent;font:inherit;color:var(--ink);text-align:left;padding:14px 16px;cursor:pointer}
.sos-head b{display:block;font-size:15px}
.sos-head small{display:block;color:var(--sos-ink);font-size:13px}
.sos-ic{font-size:11px;font-weight:800;letter-spacing:.06em;color:var(--surface);background:var(--sos-ink);border-radius:10px;padding:7px 7px;flex:none}
.sos .chev{margin-left:auto;color:var(--sos-ink);font-size:20px;transition:transform .2s}
.sos.open .chev{transform:rotate(180deg)}
.sos-body{padding:0 16px 16px}
.sos-body .chip{background:var(--surface)}
.sos-body .chip[aria-pressed="true"]{background:var(--sos-ink);border-color:var(--sos-ink);color:#fff}
.fullpage{position:fixed;inset:0;z-index:22;background:var(--bg);overflow:auto;max-width:480px;margin:0 auto}
.fp-hero{background:var(--accent-soft);padding:calc(14px + var(--safe-top)) 22px 22px;position:relative}
.fp-back{border:0;background:transparent;font-size:34px;line-height:1;color:var(--ink);cursor:pointer;padding:0 8px 0 0}
.fp-big{display:flex;align-items:center;gap:8px;margin:14px 0 2px;color:var(--accent)}
.fp-big b{font-family:var(--display);font-weight:400;font-size:64px;line-height:1;color:var(--ink)}
.fp-big svg{width:52px;height:52px}
.fp-hero p{font-size:18px;font-weight:600;margin:0 0 4px}
.fp-hero small{color:var(--muted);font-size:13px}
.fp-body{padding:16px 20px calc(24px + var(--safe-bottom))}
.daynav b{text-transform:none}
.daynav b::first-letter{text-transform:uppercase}
.pawburst{position:fixed;left:50%;top:40%;transform:translate(-50%,-50%);z-index:40;display:grid;justify-items:center;gap:6px;color:var(--accent);pointer-events:none;animation:burst 1.8s ease forwards}
.pawburst svg{width:96px;height:96px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.12))}
.pawburst span{font-family:var(--display);font-size:22px;color:var(--ink);background:var(--surface);border-radius:999px;padding:4px 14px}
@keyframes burst{0%{opacity:0;transform:translate(-50%,-30%) scale(.6)}20%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}35%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1}100%{opacity:0;transform:translate(-50%,-70%) scale(.95)}}
.themes{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.theme{font:inherit;color:inherit;text-align:left;background:var(--bg);border:1.5px solid var(--line);border-radius:16px;padding:12px;cursor:pointer;display:grid;gap:2px}
.theme.on{border-color:var(--accent)}
.theme .sw{display:flex;gap:4px;margin-bottom:6px}
.theme .sw i{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.theme small{color:var(--muted);font-size:12.5px}
.mod{border-radius:18px}
.water{border-radius:18px}
.pagecard{border-radius:18px}
.lowcard,.phase{border-radius:18px}

/* Marca harry (buldogue) pintada com a cor do tema */
.hmark{display:inline-block;width:24px;height:30px;background:currentColor;-webkit-mask:url(icons/harry-mark.png) center/contain no-repeat;mask:url(icons/harry-mark.png) center/contain no-repeat;flex:none}
.streak .hmark{width:22px;height:28px}
.fp-big .hmark{width:52px;height:68px}
.pawburst .hmark{width:96px;height:128px}

/* Bateria social (estilo Apple) */
.batt{gap:8px}
.bt{background:transparent;border:1px solid var(--line);color:var(--ink);padding:12px 4px 9px;border-radius:14px}
.bt svg{width:38px;height:18px}
.bt span{color:var(--muted)}
.bt.on{background:color-mix(in srgb,var(--lv) 14%,var(--surface));border-color:color-mix(in srgb,var(--lv) 60%,transparent);color:var(--ink);font-weight:600}
.bt.on span{color:var(--ink)}
/* Hidratação */
.hydra{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;margin:0 0 10px}
.hy-top{display:flex;align-items:center;gap:10px}
.hy-top b{display:block;font-size:18px;font-variant-numeric:tabular-nums}
.hy-top small{color:var(--muted);font-size:12.5px}
.hy-undo{margin-left:auto;font:inherit;font-size:13px;font-weight:600;color:var(--accent);background:transparent;border:1px solid var(--line);border-radius:999px;padding:6px 12px;cursor:pointer}
.hy-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;margin:12px 0 6px;border-radius:14px;background:var(--bg);scrollbar-width:none}
.hy-track::-webkit-scrollbar{display:none}
.hy-slide{flex:0 0 100%;scroll-snap-align:center;text-align:center;padding:12px 8px}
.hy-slide b{display:block;font-family:var(--display);font-weight:400;font-size:20px}
.hy-slide small{color:var(--muted);font-size:12.5px}
.hy-dots{display:flex;justify-content:center;gap:5px;margin-bottom:10px}
.hy-dots i{width:6px;height:6px;border-radius:50%;background:var(--line);transition:background-color .2s,width .2s}
.hy-dots i.on{background:var(--accent);width:16px;border-radius:3px}
.hy-add{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.hy-other{display:block;margin:10px auto 0;font-size:13.5px}
.hy-custom{display:flex;align-items:center;gap:8px;margin-top:10px}
.hy-custom input{flex:1;min-width:0;font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--bg);color:var(--ink)}
.hy-custom span{color:var(--muted);font-size:14px}
.hy-custom .btn{flex:none}
.hy-toggle{display:block;margin:10px auto 0;font-size:13.5px}
.hy-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:4px}
.hy-list li{display:flex;justify-content:space-between;align-items:center;font-size:14px;border-top:1px solid var(--line);padding-top:4px}

/* Editor de aparência */
.themes{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}
.dots{display:flex;flex-wrap:wrap;gap:10px}
.dot{width:38px;height:38px;border-radius:50%;border:2px solid var(--surface);box-shadow:0 0 0 1px var(--line);cursor:pointer;position:relative;display:grid;place-items:center;font:inherit;font-size:20px;color:var(--muted);transition:transform .12s}
.dot:active{transform:scale(.92)}
.dot.on{box-shadow:0 0 0 2px var(--ink)}
.dot.pick{background:conic-gradient(#ff5c7a,#ff9f43,#f2c200,#34c759,#3f6b55,#6a4a8c,#c2357f,#ff5c7a);color:#fff;text-shadow:0 1px 2px rgba(0,0,0,.4)}
.dot.pick input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}
.fonts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.fontopt{font:inherit;background:transparent;border:1.5px solid var(--line);border-radius:14px;padding:10px 4px;cursor:pointer;display:grid;justify-items:center;gap:2px;color:var(--ink)}
.fontopt span{font-size:26px;line-height:1.1}
.fontopt small{font-size:11.5px;color:var(--muted)}
.fontopt.on{border-color:var(--accent);background:var(--accent-soft)}
.fullpage .fp-back{display:block;margin:0 0 4px -4px}
/* Foto de fundo: cartões translúcidos para a foto aparecer */
body{background-size:cover;background-position:center;background-attachment:fixed}
.has-photo body{background-color:var(--bg)}
.has-photo .app{background:transparent}
.has-photo .q,.has-photo .weekcard,.has-photo .mod,.has-photo .hydra,.has-photo .sos,.has-photo .cal,.has-photo .stat,.has-photo .phase,.has-photo .step,.has-photo .layer,.has-photo .daynav,.has-photo .subnav,.has-photo .seg,.has-photo .lowcard,.has-photo .pagecard,.has-photo .week,.has-photo .timeline li{background:color-mix(in srgb,var(--surface) 95%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}
.has-photo .topline,.has-photo h1,.has-photo h3{text-shadow:0 1px 8px color-mix(in srgb,var(--surface) 70%,transparent)}
.has-photo .tabs{background:color-mix(in srgb,var(--surface) 96%,transparent)}
.has-photo .ck,.has-photo .chip:not([aria-pressed="true"]),.has-photo .bt,.has-photo .list li,.has-photo .nlist,.has-photo .an-step,.has-photo .plist li{background:var(--surface)}
.has-photo main>h1{background:color-mix(in srgb,var(--surface) 90%,transparent);border-radius:14px;padding:4px 12px;display:inline-block}
.has-photo .topline,.has-photo .hello{background:color-mix(in srgb,var(--surface) 90%,transparent);border-radius:18px;padding:10px 14px;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}
.has-photo .fullpage{background:color-mix(in srgb,var(--bg) 96%,transparent)}
.hy-hint{text-align:center;font-size:11.5px;color:var(--muted);margin:-6px 0 10px}

/* Emoções coloridas */
.chip.emo{border-color:color-mix(in srgb,var(--emo) 70%,var(--line));position:relative;padding-left:26px}
.chip.emo::before{content:"";position:absolute;left:10px;top:50%;width:10px;height:10px;margin-top:-5px;border-radius:50%;background:var(--emo);box-shadow:inset 0 0 0 1px rgba(0,0,0,.08)}
.chip.emo[aria-pressed="true"]{background:var(--emo);border-color:color-mix(in srgb,var(--emo) 60%,#000 12%);color:#251e27;font-weight:600}
.chip.emo[aria-pressed="true"]::before{background:#251e27;opacity:.55;width:8px;height:8px;margin-top:-4px}
.counts span.emo{background:var(--emo);border-color:transparent;color:#251e27}
/* O que fiz hoje */
.plus{width:34px;height:34px;border-radius:50%;border:0;background:var(--accent);color:var(--on-accent);font-size:22px;line-height:1;cursor:pointer;display:grid;place-items:center;flex:none}
.plus:active{transform:scale(.92)}
.feito{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px}
.feito li{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:8px;padding:6px 0;border-top:1px solid var(--line);font-size:15px}
.feito li:first-child{border-top:0}
.feito .tm{font-size:12.5px;color:var(--muted);font-variant-numeric:tabular-nums}

/* Sua letra */
:root{--hand:"Caveat",cursive}
.ut{font-family:var(--hand)}
[data-hand="caveat"] .ut{font-size:1.25em;line-height:1.25}
[data-hand="caveat"] input.ut,[data-hand="caveat"] textarea.ut{font-size:21px}
/* Planner */
.lists{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 12px}
.listcard{font:inherit;color:inherit;text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:14px;cursor:pointer;display:grid;gap:2px;min-height:112px;align-content:start;transition:transform .12s}
.listcard:active{transform:scale(.97)}
.listcard .lc-ic{font-size:20px;color:var(--accent);margin-bottom:6px}
.listcard b{font-size:15px;line-height:1.25}
.listcard small{color:var(--muted);font-size:12.5px}
.iconbtn{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--ink);display:grid;place-items:center;cursor:pointer;flex:none}
.iconbtn svg{width:20px;height:20px}
.hello{align-items:center}
.plist{list-style:none;margin:0 0 20px;padding:0;display:grid;gap:8px}
.plist li{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 12px}
.plist li>div{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;min-width:0}
.plist .pt{overflow-wrap:anywhere}
.stpill{font:inherit;font-size:12px;font-weight:600;border:0;background:var(--accent-soft);color:var(--accent);border-radius:999px;padding:3px 10px;cursor:pointer}
.stars button{border:0;background:none;font-size:16px;color:var(--line);cursor:pointer;padding:0 1px}
.stars button.on{color:var(--accent)}
.chip.small{font-size:13px;min-height:32px;padding:5px 11px}
/* QR codes */
.qrs{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.qr{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;display:grid;justify-items:center;text-align:center;gap:2px}
.qr img{width:100%;max-width:150px;image-rendering:pixelated;border-radius:8px}
.qr b{font-size:13.5px;margin-top:6px}
.qr small{font-size:12px;color:var(--muted)}
.pagecard.pulse{animation:pulse 1.2s ease 3}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 transparent}50%{box-shadow:0 0 0 6px var(--accent-soft)}}

/* ---------- entrada imersiva: jardim da casa harry ---------- */
.intro2{position:fixed;inset:0;z-index:60;background:#1d2216;overflow:hidden}
.intro2 .backdrop{position:absolute;inset:-40px;display:none}
.intro2.wide .backdrop{display:block}
.intro2 .backdrop img{width:100%;height:100%;object-fit:cover;filter:blur(28px) brightness(.55) saturate(.9);transform:scale(1.08)}
.intro2 .scene{position:absolute;filter:brightness(.7) saturate(.9);transition:filter 1.6s ease;will-change:transform}
.intro2.wide .scene{box-shadow:0 0 60px rgba(0,0,0,.45)}
.intro2 .house{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .9s ease}
.intro2 .house.on{opacity:1}
.intro2 .house:first-child{opacity:1}
.intro2 .doorglow{position:absolute;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(255,220,140,.6),rgba(255,200,110,.2) 55%,rgba(255,190,90,0));mix-blend-mode:screen;opacity:.5;pointer-events:none;transition:opacity 1.4s ease}
.intro2 .fx{position:absolute;inset:0;pointer-events:none}
.intro2 .veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,14,8,.62),rgba(10,14,8,.2) 30%,rgba(10,14,8,0) 50%,rgba(10,14,8,.2));pointer-events:none;transition:opacity .6s ease}
.intro2.ready .scene{filter:brightness(.92) saturate(1)}
.i2-head{position:absolute;left:0;right:0;top:calc(54px + env(safe-area-inset-top,0px));display:grid;justify-items:center;text-align:center;padding:0 24px;opacity:0;transform:translateY(-8px);transition:opacity 1.2s .3s ease,transform 1.2s .3s ease}
.intro2.ready .i2-head{opacity:1;transform:none}
.i2-brand{font-family:"Playfair Display",Georgia,serif;font-size:15px;letter-spacing:.06em;color:#fbf4e4;margin:0 0 6px;text-shadow:0 1px 10px rgba(0,0,0,.5)}
.i2-head h1{font-family:"Playfair Display",Georgia,serif;font-weight:400;font-size:32px;color:#fffaf0;margin:0;text-shadow:0 2px 16px rgba(0,0,0,.55)}
.i2-head p{color:#f4ead2;margin:0 0 16px;font-family:"Bricolage Grotesque",system-ui,sans-serif;text-shadow:0 1px 10px rgba(0,0,0,.6)}
.i2-head .btn{background:#fbf8f1;border-color:#fbf8f1;color:#05382e;min-width:190px;animation:breatheBtn 2.8s ease-in-out infinite}
/* ao entrar: zoom contínuo até a sala do piano, a luz aumenta e o app aparece */
.intro2.go .scene{transform:scale(7);filter:brightness(1.18) saturate(1.05);transition:transform 2s cubic-bezier(.6,0,.3,1),filter 2s ease}
.intro2.go .doorglow{opacity:1}
.intro2.go .i2-head,.intro2.go .snd,.intro2.go .fx,.intro2.go .veil{opacity:0;transition:opacity .45s ease}
.intro2.go .backdrop{opacity:0;transition:opacity .8s ease}
.intro2.go{opacity:0;transition:opacity .55s 1.6s ease}
.intro2.still .house{transition:none}
@keyframes breatheBtn{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
.snd{position:absolute;right:16px;top:calc(14px + env(safe-area-inset-top,0px));width:40px;height:40px;border-radius:50%;font-size:18px;color:#fbf4e4;background:rgba(5,56,46,.35);border:1px solid rgba(251,244,228,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;z-index:2}
.sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
/* barra "Salvar o dia" */
.savebar{position:fixed;left:50%;bottom:calc(74px + var(--safe-bottom));z-index:20;width:calc(100% - 24px);max-width:456px;transform:translate(-50%,16px);opacity:0;display:flex;align-items:center;gap:10px;padding:10px 10px 10px 16px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:0 10px 30px rgba(37,30,39,.16);transition:transform .25s ease,opacity .25s ease}
.savebar.show{transform:translate(-50%,0);opacity:1}
.savebar span{flex:1;min-width:0;display:grid;line-height:1.25}
.savebar b{font-size:14.5px}
.savebar small{color:var(--muted);font-size:12px}
.savebar .link{font-size:13.5px;flex:none}
.savebar .btn{flex:none}
body:has(.savebar) main{padding-bottom:110px}
/* acolhimento */
.care h2{margin:0 0 4px}
.care-help{background:var(--accent-soft);border-radius:16px;padding:12px 14px;margin:12px 0 0;font-size:14.5px}
.care-help p{margin:6px 0 0}
.care-help a{color:inherit;font-weight:700}
.care-tips{list-style:none;margin:10px 0 12px;padding:0;display:grid;gap:8px}
.care-tips li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px;display:grid;gap:2px}
.care-tips b{font-size:15px}
.care-tips span{font-size:14px;color:var(--muted)}
.care-tips .link{justify-self:start;font-size:13.5px;margin-top:2px}
/* termos */
.terms main{padding:calc(18px + var(--safe-top)) 22px 32px;max-width:640px;margin:0 auto}
.terms h1{font-family:var(--display);font-weight:400;font-size:28px;margin:4px 0 10px}
.terms h2{font-size:16px;margin:20px 0 4px}
.terms p{margin:0;font-size:15px;line-height:1.6}
.terms a{color:inherit;font-weight:600}
.terms-accept{position:sticky;bottom:0;margin:22px -22px -32px;padding:14px 22px calc(16px + var(--safe-bottom));background:var(--bg);border-top:1px solid var(--line);display:grid;gap:12px}
.terms-accept .btn:disabled{opacity:.45}
/* notas */
.nsearch input{width:100%;font:inherit;font-size:16px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);margin-bottom:10px}
.nsec{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 2px 6px}
.nlist{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.nrow{display:grid;gap:2px;width:100%;text-align:left;font:inherit;color:var(--ink);background:none;border:0;border-top:1px solid var(--line);padding:12px 16px;cursor:pointer}
.nrow:first-child{border-top:0}
.nrow b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nrow small{color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nrow small span{color:var(--ink);font-weight:600;margin-right:4px}
.noteed{display:flex;flex-direction:column;z-index:23}
.ne-top{display:flex;align-items:center;gap:6px;padding:calc(12px + var(--safe-top)) 16px 6px;position:sticky;top:0;background:var(--bg);z-index:1}
.ne-top .link{padding:0;margin-right:auto}
.ne-st{font-size:12.5px;color:var(--muted);margin-right:4px}
.ne-top .iconbtn[aria-pressed="true"]{color:var(--accent);background:var(--accent-soft)}
.ne-top .iconbtn.armed{color:#a3262b}
.ne-top .iconbtn svg{width:20px;height:20px}
.ne-body{flex:1;padding:6px 20px 120px;font-size:17px;line-height:1.55;outline:none;min-height:50vh}
.ne-body:empty:before{content:attr(data-ph);color:var(--muted)}
.ne-body>div:first-child,.ne-body>h2:first-child{font-weight:700;font-size:1.3em}
.ne-body h2{font-size:1.3em;margin:.4em 0 .2em}
.ne-body ul{padding-left:22px;margin:.3em 0}
.ne-body ul.chk{list-style:none;padding-left:0}
.ne-body ul.chk>li{position:relative;padding-left:30px;margin:.25em 0}
.ne-body ul.chk>li:before{content:"";position:absolute;left:2px;top:.25em;width:18px;height:18px;border:1.6px solid var(--muted);border-radius:50%}
.ne-body ul.chk>li.done{color:var(--muted);text-decoration:line-through}
.ne-body ul.chk>li.done:before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 3px var(--bg)}
.ne-tools{position:sticky;bottom:0;display:flex;align-items:center;gap:4px;padding:8px 12px calc(8px + var(--safe-bottom));background:var(--surface);border-top:1px solid var(--line)}
.ne-tools button{font:inherit;font-size:16px;min-width:42px;height:38px;border:0;border-radius:10px;background:none;color:var(--ink);cursor:pointer}
.ne-tools button:active{background:var(--accent-soft)}
.ne-tools .ne-done{margin-left:auto;font-size:14.5px;font-weight:700;color:var(--accent);padding:0 10px}
/* lembretes */
.rem-tag{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:600;color:var(--accent);background:var(--accent-soft);border-radius:999px;padding:1px 8px 1px 6px;margin-left:6px;vertical-align:2px;white-space:nowrap}
.rem-tag svg{width:12px;height:12px}
.x.bell{color:var(--muted)}
.x.bell svg{width:18px;height:18px}
.iconbtn.on{color:var(--accent);background:var(--accent-soft)}
input[type=date]{min-height:48px;-webkit-appearance:none;appearance:none}
/* escaneamento do rosto */
.scan-cta{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:#fbf8f1;background:#05382e;border:0;border-radius:18px;padding:16px 18px;margin:4px 0 12px;cursor:pointer;box-shadow:0 8px 22px rgba(5,56,46,.22)}
.scan-cta b{display:block;font-size:16.5px}
.scan-cta small{color:rgba(251,248,241,.78);font-size:13px}
.scan-ic{flex:none;width:44px;height:44px;border-radius:14px;background:rgba(251,248,241,.12);display:grid;place-items:center}
.scan-ic svg{width:26px;height:26px}
.scan{position:fixed;inset:0;z-index:40;background:#0f1d18;color:#fbf8f1;display:flex;flex-direction:column;align-items:center;padding:calc(10px + var(--safe-top)) 20px calc(18px + var(--safe-bottom));overflow:auto}
.scan-top{width:100%;max-width:480px;display:flex;align-items:center;justify-content:space-between;font-weight:600;font-size:15px}
.scan-top .link{color:#fbf8f1;padding:0;width:64px;text-align:left}
.scan-say{font-family:var(--display);font-size:24px;text-align:center;margin:22px 0 18px;min-height:2.6em;display:flex;align-items:center;justify-content:center;max-width:360px;line-height:1.25}
.scan-stage{position:relative;width:min(78vw,330px);aspect-ratio:1/1.22;flex:none}
.scan-oval{position:absolute;inset:6%;border-radius:50%;overflow:hidden;background:#1d2a24}
.scan-oval video{width:100%;height:100%;object-fit:cover;transform:scaleX(-1)}
.scan-ring{position:absolute;inset:0;width:100%;height:100%;transform:scaleY(1.22) rotate(-90deg);transform-origin:50% 50%;overflow:visible}
.scan-ring .tr{fill:none;stroke:rgba(251,248,241,.16);stroke-width:2.4}
.scan-ring .pr{fill:none;stroke:#3fbf7f;stroke-width:3.2;stroke-linecap:round;transition:stroke-dashoffset .18s linear;filter:drop-shadow(0 0 4px rgba(63,191,127,.6))}
.scan-tip{font-size:13.5px;color:rgba(251,248,241,.75);text-align:center;margin:16px 0 10px;min-height:1.4em;max-width:340px}
.scan-steps{list-style:none;display:flex;gap:16px;padding:0;margin:4px 0 0;font-size:13px;color:rgba(251,248,241,.6)}
.scan-steps li{display:flex;align-items:center;gap:6px}
.scan-steps i{width:10px;height:10px;border-radius:50%;border:1.5px solid currentColor}
.scan-steps li.done{color:#fbf8f1}
.scan-steps li.done i{background:#3fbf7f;border-color:#3fbf7f}
.scan-done{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;width:100%;max-width:420px}
.scan-done figure{margin:0;text-align:center;font-size:12.5px;color:rgba(251,248,241,.8)}
.scan-done img{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:14px;display:block;margin-bottom:6px}
.scan-acts{width:100%;max-width:420px;margin-top:18px}
.scan-acts .btn{background:#fbf8f1;color:#05382e;border-color:#fbf8f1}
.scan-acts .link{color:#fbf8f1}
/* estante: armário em arco */
.cabinet{background:linear-gradient(180deg,#f7efe0,#efe3cc);border-radius:48% 48% 22px 22px/22% 22% 22px 22px;padding:12px;box-shadow:0 1px 0 rgba(255,255,255,.7) inset,0 14px 34px rgba(60,44,20,.14),0 0 0 1px rgba(120,90,50,.12);margin:4px 0 18px}
.cab-in{position:relative;background:radial-gradient(120% 70% at 50% 0%,#fffdf7,#f6eedf 70%);border-radius:46% 46% 14px 14px/20% 20% 14px 14px;padding:58px 12px 10px;box-shadow:inset 0 2px 10px rgba(90,65,30,.12)}
.cab-mark{position:absolute;top:18px;left:50%;width:26px;height:26px;transform:translateX(-50%);background:#05382e;opacity:.55;-webkit-mask:url(/icons/harry-mark.png) center/contain no-repeat;mask:url(/icons/harry-mark.png) center/contain no-repeat}
.cab-shelf{position:relative;margin-bottom:12px}
.cab-items{display:grid;grid-template-columns:repeat(4,1fr);align-items:end;gap:6px;min-height:104px;padding:0 4px;position:relative;z-index:1}
.cab-board{height:12px;margin:-3px -6px 0;border-radius:3px;background:linear-gradient(180deg,#e8d6b6 0,#dcc49c 55%,#c9ad80 100%);box-shadow:0 6px 10px -4px rgba(90,60,25,.35)}
.cab-p{border:0;background:none;padding:0;cursor:pointer;display:flex;align-items:flex-end;justify-content:center;height:104px;transition:transform .2s ease}
.cab-p:active{transform:translateY(-3px)}
.cab-p img{max-width:100%;max-height:100px;object-fit:contain;filter:drop-shadow(0 5px 4px rgba(60,40,15,.22))}
.cab-p.photo img{max-height:76px;border-radius:10px;object-fit:cover;width:100%;aspect-ratio:3/4;box-shadow:0 4px 8px rgba(60,40,15,.18)}
.cab-p.ic svg{width:62px;height:62px;filter:drop-shadow(0 4px 3px rgba(60,40,15,.18))}
.cab-p.off{opacity:.45}
.cab-empty{grid-column:1/-1;align-self:center;text-align:center;font-family:var(--display);color:#a08a63;font-size:15px}
.list li.flash{animation:flash 1.4s ease}
@keyframes flash{0%,100%{background:transparent}25%{background:var(--accent-soft)}}
/* adicionar produto */
.addprod .prodphoto small{display:block;color:var(--muted);font-size:12.5px;font-weight:400}
.webpics:empty{display:none}
.wp-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:none}
.wp{flex:none;width:68px;height:68px;border-radius:12px;border:1px solid var(--line);background:#fff;padding:4px;cursor:pointer}
.wp img{width:100%;height:100%;object-fit:contain}
.wp-cred{font-size:11px;color:var(--muted);margin:2px 0 8px}
.thumb.cut{background:#fffdf7;border:1px solid var(--line)}
.thumb.cut img{object-fit:contain;padding:3px}
/* recorte */
.cut-stage{position:relative;border-radius:16px;overflow:hidden;background:repeating-conic-gradient(#f1ece3 0 25%,#fbf8f1 0 50%) 0 0/18px 18px;margin:8px 0 14px;min-height:200px;display:grid;place-items:center;cursor:crosshair}
.cut-stage #cuOrig{max-width:100%;max-height:46vh;display:block;transition:opacity .3s}
.cut-stage #cuOrig.dim{opacity:.18}
.cut-res{position:absolute;inset:0;display:grid;place-items:center;pointer-events:none;opacity:0;transition:opacity .3s}
.cut-res.on{opacity:1}
.cut-res img{max-width:86%;max-height:42vh;filter:drop-shadow(0 8px 10px rgba(0,0,0,.18))}
.cut-busy{position:absolute;inset:0;display:grid;place-items:center;background:rgba(251,248,241,.55)}
.cut-busy .orb{margin:0}
/* adicionar por foto */
.addcta{position:relative;margin:0 0 10px}
.addcta input{position:absolute;opacity:0;width:1px;height:1px}
details.addprod>summary{cursor:pointer;font-weight:600;font-size:15px;color:var(--accent);list-style:none}
details.addprod>summary::-webkit-details-marker{display:none}
details.addprod>summary:after{content:" ›";}
details.addprod[open]>summary:after{content:" ⌄"}
.addsheet .field{margin-bottom:10px}
.addsheet select,.psheet select{font:inherit}
.ap-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.ap-tile{position:relative;border:1.5px solid var(--line);background:#fffdf8;border-radius:14px;padding:6px 6px 22px;cursor:pointer;aspect-ratio:1/1.15;display:flex;align-items:center;justify-content:center;overflow:hidden}
.ap-tile img{max-width:100%;max-height:100%;object-fit:contain}
.ap-tile.photo img{width:100%;height:100%;object-fit:cover;border-radius:9px}
.ap-tile span{position:absolute;left:0;right:0;bottom:4px;font-size:11px;font-weight:600;color:var(--muted);text-align:center}
.ap-tile.on{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ap-tile.on span{color:var(--accent)}
.ap-tile.wait img{opacity:.35}
.ap-ingr{margin-top:14px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:12px 14px;display:grid;gap:4px}
.ap-ingr b{font-size:15px}
.ap-ingr small{color:var(--muted);font-size:13px}
.ap-ingr.need{background:#fff4ec;border-color:#f3cfb2}
.ap-ingr .btn{justify-self:start;margin-top:6px;position:relative}
.ap-ingr .btn input{position:absolute;opacity:0;width:1px;height:1px}
.ap-ingr.pulse{animation:needPulse .9s ease}
@keyframes needPulse{0%,100%{transform:none}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}
.act-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.act{font-size:12.5px;font-weight:600;border-radius:999px;padding:3px 10px;background:var(--accent-soft);color:var(--ink)}
.act.forte{background:#e8e1f5;color:#4f3a7a}
.act.medio{background:#e3efe6;color:#1f5a3c}
.act.leve{background:#eaf1f6;color:#2f5470}
.act.atencao{background:#fdf0cf;color:#7a5410}
/* ficha do produto */
.ps-top{display:flex;gap:14px;align-items:flex-start}
.ps-img{flex:none;width:96px;height:118px;border-radius:16px;background:#fffdf8;border:1px solid var(--line);display:grid;place-items:center;overflow:hidden}
.ps-img img{width:100%;height:100%;object-fit:cover}
.ps-img.cut img{object-fit:contain;padding:6px}
.ps-img svg{width:60px;height:60px}
.ps-ingr{margin-top:14px;font-size:13.5px}
.ps-ingr summary{cursor:pointer;font-weight:600;color:var(--accent)}
.ps-ingr p{margin:8px 0 4px;color:var(--muted);line-height:1.5}
.ps-ingr small{color:var(--muted);font-size:12px}
/* anamnese: rascunho e etapas */
.toprow .link{font-size:13px;padding:0;font-weight:600}
.an-saved{margin:-6px 0 0;font-size:11.5px;color:var(--muted);text-align:center;min-height:1em}
.an-steps{display:grid;gap:8px;margin:16px 0}
.an-step{display:flex;align-items:center;gap:12px;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;cursor:pointer}
.an-step b{display:block;font-size:15.5px}
.an-step small{color:var(--muted);font-size:13px}
.an-step .arrow{margin-left:auto;color:var(--muted);font-size:20px}
.an-dot{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--line);display:grid;place-items:center;font-size:13px;font-weight:700;color:#fff}
.an-step.full .an-dot{background:var(--accent);border-color:var(--accent)}
/* passo a passo: tela inicial */
.ig{text-align:left}
.ig-icon{display:block;width:64px;height:64px;border-radius:16px;margin:4px auto 10px;background:url(/icons/icon-192.png) center/cover;box-shadow:0 6px 16px rgba(0,0,0,.12)}
.ig h2{text-align:center;margin:0 0 4px}
.ig>.sub{text-align:center;margin-top:0}
.ig-os{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:14px 0 6px}
.ig-steps{list-style:none;margin:0 0 16px;padding:0;display:grid;gap:8px}
.ig-steps li{display:flex;align-items:center;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px}
.ig-n{flex:none;width:22px;height:22px;border-radius:50%;background:var(--accent);color:#fff;font-size:12.5px;font-weight:700;display:grid;place-items:center}
.ig-ic{flex:none;width:38px;height:38px;border-radius:11px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.ig-ic svg{width:22px;height:22px}
.ig-steps b{display:block;font-weight:500;font-size:15px;line-height:1.35}
.ig-steps b b{font-weight:700;display:inline}
.ig-steps small{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.ig-steps small b{display:inline;font-size:inherit;font-weight:700;line-height:inherit}
/* guia rápido */
.onb{min-height:100vh;display:flex;flex-direction:column;max-width:520px;margin:0 auto}
.onb main{flex:1;padding:calc(10px + var(--safe-top)) 22px 20px}
.onb h1{font-family:var(--display);font-weight:400;font-size:28px;line-height:1.2;margin:6px 0 8px}
.ob-dots{display:flex;gap:6px;justify-content:center;padding:calc(16px + var(--safe-top)) 0 6px}
.ob-dots i{width:7px;height:7px;border-radius:50%;background:var(--line);transition:all .2s}
.ob-dots i.on{width:20px;border-radius:4px;background:var(--accent)}
.ob-dots i.done{background:var(--accent);opacity:.45}
.ob-foot{position:sticky;bottom:0;display:flex;gap:10px;align-items:center;justify-content:space-between;padding:14px 22px calc(18px + var(--safe-bottom));background:linear-gradient(transparent,var(--bg) 30%)}
.ob-foot .btn.primary{flex:1;max-width:260px;margin-left:auto}
.ob-tabs{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:8px}
.ob-tabs li{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 14px}
.ob-tabs b{display:block;font-size:15.5px}
.ob-tabs small{color:var(--muted);font-size:13px}
.ob-ic{flex:none;width:40px;height:40px;border-radius:12px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center}
.ob-ic svg{width:22px;height:22px}
.ob-opts{display:grid;gap:8px;margin-top:16px}
.ob-opt{display:grid;gap:2px;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:14px 16px;cursor:pointer}
.ob-opt b{font-size:16px}
.ob-opt small{color:var(--muted);font-size:13.5px}
.ob-opt[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.ob-looks{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:16px}
.ob-look{display:grid;gap:8px;justify-items:start;font:inherit;font-weight:600;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:16px;padding:12px 14px;cursor:pointer}
.ob-look .sw{display:flex;gap:4px}
.ob-look .sw i{width:22px;height:22px;border-radius:50%;border:1px solid rgba(0,0,0,.08)}
.ob-look[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
/* devocional */
.dv-streak{display:grid;justify-items:center;line-height:1;font-size:11.5px;color:var(--muted);background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 12px}
.dv-streak b{font-family:var(--display);font-size:24px;color:var(--ink);font-weight:400;margin-bottom:2px}
.verse{background:linear-gradient(160deg,#fbf6ea,#f4ead3);border:1px solid #eadcbc;border-radius:18px;padding:16px 18px;margin:0 0 12px;color:#3a2f1c}
.verse .vt{font-family:var(--display);font-size:19px;line-height:1.45;margin:0}
.verse .vr{font-weight:700;font-size:14px;margin:10px 0 0}
.verse .vc{font-size:11px;color:#8a7650;margin:6px 0 0}
.dv-done{display:flex;align-items:center;gap:14px;width:100%;text-align:left;font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:18px;padding:14px 16px;cursor:pointer}
.dv-done .box{flex:none;width:28px;height:28px;border-radius:50%;border:2px solid var(--accent);display:grid;place-items:center;color:#fff;font-weight:700}
.dv-done.on{border-color:var(--accent);background:var(--accent-soft)}
.dv-done.on .box{background:var(--accent)}
.dv-done b{display:block;font-size:16px}
.dv-done small{color:var(--muted);font-size:13px}
#dvNote{width:100%;min-height:130px;font-size:17px;border:1px solid var(--line);border-radius:12px;padding:10px 12px;background:var(--bg);color:var(--ink)}
.dv-past{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.dv-past li{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px}
.dv-past span{font-size:12.5px;font-weight:700;color:var(--muted);text-transform:capitalize}
.dv-past p{margin:4px 0 0;white-space:pre-wrap}
.dv-set summary{cursor:pointer;font-weight:600;color:var(--accent)}
/* visual Floresta: tudo mais sóbrio (SOS em vermelho fechado, sem rosas) */
.rem-ic{background:#fde3ec;color:#a3365f}
html:root[data-preset="floresta"]{--pink:#3b4148;--pink-soft:#e2e7e3;--sos:#f0e6e2;--sos-ink:#7a2e26}
html:root[data-preset="floresta"] .pagecard,html:root[data-preset="floresta"] .lowbanner{border-color:#cfd7d1}
html:root[data-preset="floresta"] .rem-ic{background:#e2e7e3;color:#05382e}
html:root[data-preset="floresta"] .act.forte{background:#e1e3e8;color:#38404d}
html:root[data-preset="floresta"] .ap-ingr.need{background:#f3ece4;border-color:#dccbb8}
html:root[data-preset="floresta"] .scan-cta{background:#1f2a26}
.sos-body a{color:var(--sos-ink);font-weight:700}
/* impressão dentro do app */
.printview{display:flex;flex-direction:column;z-index:30;max-width:none;background:var(--bg)}
.pv-top{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:calc(12px + var(--safe-top)) 16px 10px;border-bottom:1px solid var(--line);background:var(--bg)}
.pv-top .link{padding:0}
.pv-top .btn{flex:none;width:auto;padding:8px 18px}
.pv-top b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.printview iframe{flex:1;width:100%;border:0;background:#fff}
.intro2.go{pointer-events:none}
.dpick{position:relative;display:flex;align-items:center;gap:8px;cursor:pointer;padding:4px 10px;border-radius:12px}
.dpick:active{background:var(--accent-soft)}
.dpick .cal-ic svg{width:18px;height:18px;color:var(--accent);display:block}
.dpick input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer;border:0}
/* finanças */
.fin-ic{background:#e3ece6;color:#05382e}
.fin-sum{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 12px}
.fin-sum div:last-child{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center}
.fin-sum div:last-child b{font-size:18px}
.fin-sum div{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 12px}
.fin-sum small{display:block;color:var(--muted);font-size:12px}
.fin-sum b{font-size:15.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.fin-sum b.in,.fin-row b.in{color:#2f6b4a}
.fin-sum b.out,.fin-row b.out{color:#8a3a2e}
.fin-sum b.neg{color:#a3262b}
.seg2{display:grid;grid-template-columns:1fr 1fr;background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:3px;margin-bottom:12px}
.seg2 button{font:inherit;font-weight:600;border:0;background:none;border-radius:9px;padding:8px;color:var(--muted);cursor:pointer}
.seg2 button[aria-pressed="true"]{background:var(--surface);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.fin-add .field input{font-size:16px}
.fin-bar{display:grid;grid-template-columns:86px 1fr auto;align-items:center;gap:10px;font-size:13.5px;margin:6px 0}
.fin-bar i{height:8px;border-radius:4px;background:var(--accent);opacity:.75}
.fin-bar b{font-variant-numeric:tabular-nums;font-size:13px}
.fin-row{display:flex;align-items:center;gap:10px;padding:10px 8px 10px 14px;border-top:1px solid var(--line)}
.fin-row:first-child{border-top:0}
.fin-row span{flex:1;min-width:0;display:grid}
.fin-row span b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fin-row small{color:var(--muted);font-size:12.5px}
.fin-row>b{font-variant-numeric:tabular-nums;font-size:14.5px;white-space:nowrap}
/* importar extrato */
.fin-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 0 10px}
.fin-actions .btn{position:relative;justify-content:center}
.fin-actions input{position:absolute;opacity:0;width:1px;height:1px}
.impsheet{max-height:92vh}
.im-list{display:grid;gap:6px;max-height:52vh;overflow:auto;margin-top:6px}
.im-row{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:8px 10px}
.im-row.off{opacity:.55}
.im-row input[type=checkbox]{width:20px;height:20px;flex:none;accent-color:var(--accent)}
.im-d{flex:1;min-width:0;display:grid;gap:2px}
.im-d b{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.im-d small{color:var(--muted);font-size:12px}
.im-d select{font:inherit;font-size:12.5px;padding:2px 6px;border:1px solid var(--line);border-radius:8px;background:var(--bg);color:var(--ink);width:auto;justify-self:start}
.im-row>b{font-size:13.5px;font-variant-numeric:tabular-nums;white-space:nowrap}
.im-row>b.in{color:#2f6b4a}.im-row>b.out{color:#8a3a2e}
.an-step.danger b{color:#a3262b}
.an-step.armed{border-color:#a3262b;background:#fbecec}
.an-step.armed small{color:#a3262b;font-weight:600}
/* compatibilidade com a pele */
.ap-tile.wait{display:grid;place-items:center;align-content:center;gap:6px;min-height:96px}
.compat{display:flex;align-items:center;gap:12px;margin:10px 0 4px}
.compat small{display:block;color:var(--muted);font-size:12.5px;font-weight:400}
.cring{--p:0;--c:#2f7d5b;flex:none;width:58px;height:58px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(closest-side,var(--surface,#fffdf6) 76%,transparent 78% 100%),conic-gradient(var(--c) calc(var(--p)*1%),#e7e0cc 0)}
.cring b{font-size:15px}
.compat.mid .cring{--c:#c48a2c}.compat.low .cring{--c:#a3262b}.compat.great .cring{--c:#05382e}
.cpill{display:inline-block;margin-top:4px;padding:1px 8px;border-radius:999px;font-size:12px;font-weight:600;background:#e4efe7;color:#05382e}
.cpill.mid{background:#f7ecd6;color:#7a5410}.cpill.low{background:#f6e0e0;color:#8d1f24}
.ps-why{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:4px;font-size:14px}
.ps-why li{padding-left:22px;position:relative}
.ps-why li.pro:before{content:"✓";position:absolute;left:4px;color:#2f7d5b;font-weight:700}
.ps-why li.con:before{content:"!";position:absolute;left:7px;color:#a3262b;font-weight:700}
.ps-alert{margin:8px 0 0;background:#f6e0e0;color:#7a1d22;border-radius:12px;padding:8px 12px;font-size:14px}
/* chat Pergunte */
.chat{display:flex;flex-direction:column;gap:10px;min-height:46vh}
.chat-log{display:flex;flex-direction:column;gap:10px}
.msg{max-width:88%;padding:10px 14px;border-radius:18px;font-size:15px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.msg.me{align-self:flex-end;background:var(--ink);color:#fbf4f2;border-bottom-right-radius:6px}
.msg.ai{align-self:flex-start;background:var(--surface);border:1px solid var(--line);border-bottom-left-radius:6px}
.msg.ai .cp{display:block;margin-top:6px;font-size:12.5px;color:var(--muted);background:none;border:0;padding:0;cursor:pointer;text-decoration:underline}
.msg.wait{color:var(--muted);font-style:italic}
.chat-sug{display:flex;flex-wrap:wrap;gap:8px}
.chat-sug button{border:1px solid var(--line);background:var(--surface);border-radius:999px;padding:7px 12px;font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer}
.chat-in{position:sticky;bottom:calc(76px + env(safe-area-inset-bottom));display:flex;gap:8px;align-items:flex-end;background:var(--bg);padding:8px 0}
.chat-in textarea{flex:1;resize:none;min-height:44px;max-height:140px;border-radius:22px;padding:11px 16px}
.chat-in .btn{flex:none;border-radius:50%;width:44px;height:44px;padding:0}
.chat-hd{display:flex;align-items:center;gap:10px}
.chat-hd b{font-family:"Playfair Display",serif;font-size:19px;font-weight:600;display:block}
.chat-hd small{color:var(--muted);font-size:13px}
.ai-dot{flex:none;width:12px;height:12px;border-radius:50%;background:#ff93d6;box-shadow:0 0 0 4px #ffe8f6;animation:aiPulse 1.8s ease-in-out infinite}
@keyframes aiPulse{50%{box-shadow:0 0 0 7px rgba(255,147,214,.18)}}
@media (prefers-reduced-motion:reduce){.ai-dot{animation:none}}
select.autofill{animation:autoFill 1.2s ease}
@keyframes autoFill{0%{box-shadow:0 0 0 0 rgba(255,147,214,.0)}30%{box-shadow:0 0 0 4px rgba(255,147,214,.55)}100%{box-shadow:0 0 0 0 rgba(255,147,214,0)}}
/* o que há de novo */
.news .nw-h{font-family:"Playfair Display",serif;font-weight:600;font-size:26px;margin:4px 0 0;line-height:1.15}
.news .nw-d{margin:2px 0 10px;color:var(--muted);font-size:13px}
.news .nw-list{list-style:none;padding:0;margin:0;display:grid;gap:12px}
.news .nw-list li{padding-left:18px;position:relative}
.news .nw-list li:before{content:"";position:absolute;left:2px;top:8px;width:7px;height:7px;border-radius:50%;background:#ff93d6}
.news .nw-list b{display:block;font-size:15px}
.news .nw-list span{display:block;color:var(--muted);font-size:14px;line-height:1.45;margin-top:2px}
.news .nw-sep{border:0;border-top:1px solid var(--line);margin:18px 0 6px}
/* fila, validade e passar para frente */
.step .queue{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap;margin-top:6px;font-size:12.5px;color:var(--muted)}
.step .queue .link{font-size:12.5px;padding:0}
.ps-val{margin:10px 0 0;font-size:14px;font-weight:600}
.ps-val.low{color:#8d1f24}.ps-val.mid{color:#7a5410}.ps-val.good{color:var(--muted);font-weight:500}
.ps-mm,.ps-pass{margin-top:12px;border-radius:14px;padding:12px 14px;display:grid;gap:4px}
.ps-mm{background:#fff4ec;border:1px solid #f3cfb2}
.ps-pass{background:#ffe8f6;border:1px solid #f7bfe3}
.ps-mm small,.ps-pass small{color:var(--muted);font-size:13px}
.ps-pass ul{margin:4px 0;padding-left:18px;font-size:14px;display:grid;gap:4px}
.q.val{margin:4px 0 12px;padding:10px 14px}
.q.val summary{font-weight:600;font-size:15px;cursor:pointer}
.q.val summary small{color:var(--muted);font-weight:400}
.cpill.good{background:#e4efe7;color:#05382e}
.ps-why-box{margin:12px 0 0;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px;display:grid;gap:3px;font-size:14px;line-height:1.45}
.ps-why-box b{font-size:14px}
.ps-why-box span{color:var(--muted)}
.ps-why-box.manual{background:#fff4ec;border-color:#f3cfb2}
p.ps-why-box{display:block}
.why-line{display:block;color:var(--muted);font-size:12.5px;line-height:1.35;margin-top:3px}
.wp{position:relative;transition:border-color .15s,box-shadow .15s}
.wp.on{border:2px solid var(--accent,#05382e);box-shadow:0 0 0 3px var(--accent-soft,#e4efe7)}
.wp.on:after{content:"✓";position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;background:var(--accent,#05382e);color:#fbf4f2;font-size:12px;font-weight:700;display:grid;place-items:center}
.wp-row{padding-top:7px;padding-right:7px}
.toast.act{pointer-events:auto;display:flex;width:min(92vw,380px);align-items:center;gap:14px;padding:10px 10px 10px 16px}
.toast.act button{flex:none;border:0;background:#ff93d6;color:#05382e;font:inherit;font-weight:700;font-size:14px;padding:7px 12px;border-radius:999px;cursor:pointer}
/* modo guiado: espera e som */
.gtop{display:flex;justify-content:space-between;align-items:center;gap:8px}
.gtop .gsound{font-size:14px;padding:4px 0}
.gwait-info{margin:14px auto 0;max-width:320px;background:var(--accent-soft,#e4efe7);border-radius:14px;padding:10px 14px;display:grid;gap:2px;text-align:center}
.gwait-info b{font-size:15px}
.gwait-info span{font-size:14px;color:var(--muted)}
.gwait-now{margin:10px 0 0;font-weight:600;color:var(--accent)}
.dots i.cur{background:var(--accent);opacity:.45}
/* selo de cuidado */
.carecard{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px 14px;margin:0 0 14px}
.carecard b{display:block;font-size:15px}
.carecard small{display:block;color:var(--muted);font-size:13px;line-height:1.4;margin-top:2px}
.seal{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#05382e;color:#f9f0c9;font-weight:700;box-shadow:0 0 0 3px #ff93d6}
.seal.off{background:var(--accent-soft,#e4efe7);color:var(--accent);box-shadow:none;font-size:18px}
.cp-tips{margin:0;padding-left:18px;font-size:14px;color:var(--muted);display:grid;gap:3px}
/* evolução */
.evo .evo-cmp{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:3/4;background:#eee;margin-top:6px}
.evo .evo-cmp img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.evo .evo-line{position:absolute;top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);pointer-events:none}
.evo .evo-cmp input{position:absolute;left:0;right:0;bottom:10px;width:90%;margin:0 5%}
.evo .evo-l,.evo .evo-r{position:absolute;top:8px;background:rgba(5,56,46,.75);color:#fbf4f2;font-size:12px;padding:2px 8px;border-radius:999px}
.evo .evo-l{left:8px}.evo .evo-r{right:8px}
.evo-strip{display:flex;gap:8px;overflow-x:auto;margin-top:10px;scrollbar-width:none}
.evo-strip figure{margin:0;flex:none;width:72px}
.evo-strip img{width:72px;height:96px;object-fit:cover;border-radius:10px;display:block}
.evo-strip figcaption{font-size:11px;color:var(--muted);text-align:center;margin-top:2px}
/* pontinhos */
.topline{margin-bottom:6px}
.topbadges{display:flex;gap:6px;align-items:center;flex:none}
.ptspill{display:flex;align-items:center;gap:4px;border:0;background:#ffe8f6;color:#c2357f;border-radius:999px;padding:9px 12px;font:inherit;font-size:15px;cursor:pointer}
.ptspill b{font-family:var(--display);font-weight:400;font-size:20px;line-height:1;color:var(--ink)}
.ptspill.pop{animation:pawpop .7s cubic-bezier(.2,.8,.2,1)}
.leve-line{margin:0 0 14px;font-size:13px;color:var(--muted);line-height:1.4}
.ptsfloat{position:fixed;top:calc(env(safe-area-inset-top,0px) + 14px);right:18px;z-index:60;background:#05382e;color:#f9f0c9;font-weight:700;font-size:15px;padding:6px 12px;border-radius:999px;box-shadow:0 6px 18px rgba(5,56,46,.25);pointer-events:none;animation:ptsUp 1.4s cubic-bezier(.2,.8,.2,1) forwards}
.ptsfloat.neg{background:var(--surface);color:var(--muted);border:1px solid var(--line);box-shadow:none}
@keyframes ptsUp{0%{opacity:0;transform:translateY(14px) scale(.9)}18%{opacity:1;transform:translateY(0) scale(1.06)}70%{opacity:1;transform:translateY(-6px) scale(1)}100%{opacity:0;transform:translateY(-22px)}}
@media (prefers-reduced-motion:reduce){.ptsfloat{animation:none;opacity:1}}
.leve{background:var(--accent-soft,#e4efe7);border-radius:14px;padding:10px 14px;display:grid;gap:3px;font-size:14px;line-height:1.45}
.leve span{color:var(--muted)}
.pt-list{list-style:none;padding:0;margin:0;display:grid;gap:6px;font-size:14px}
.pt-list li{display:flex;justify-content:space-between;gap:10px;border-bottom:1px solid var(--line);padding-bottom:6px}
.pt-list b{color:#c2357f;flex:none}
/* lembretes */
.lemb-row{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:6px 0}
.lemb-row input[type=time]{width:auto;min-width:110px;padding:8px 10px}
/* painel de correções */
.admin .ad-item{background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:10px 14px;margin:8px 0;display:grid;gap:2px}
.admin .ad-item small{color:var(--muted);font-size:13px;line-height:1.4}
.linkbox{margin:2px 0 10px}
.linkbox summary{font-size:14px;color:var(--accent);font-weight:600;cursor:pointer}
.ps-local{margin-top:12px;border-radius:14px;padding:12px 14px;display:grid;gap:3px;background:#f3eefa;border:1px solid #ddd0ef;font-size:14px;line-height:1.45}
.ps-local span{color:var(--muted)}
.ps-local.on{background:var(--accent-soft,#e4efe7);border-color:transparent}
.ps-serve{margin-top:12px;border-radius:14px;padding:12px 14px;display:grid;gap:4px;background:var(--surface);border:1px solid var(--line);font-size:14px;line-height:1.45}
.ps-serve span{color:var(--ink)}
.ps-serve ul{margin:2px 0 0;padding-left:18px;display:grid;gap:3px}
.ps-serve small{color:var(--muted);font-size:12.5px}
.act.good{background:#e4efe7;color:#05382e}
/* planos */
.planos{display:grid;gap:10px;margin-top:10px}
.plano{border:1px solid var(--line);border-radius:16px;padding:14px;background:var(--surface);display:grid;gap:8px;position:relative}
.plano.destaque{border-color:#05382e;box-shadow:0 0 0 2px #ffe8f6}
.plano>b{font-family:"Playfair Display",serif;font-size:20px;font-weight:600}
.plano .tag{position:absolute;top:12px;right:12px;background:#ff93d6;color:#05382e;font-size:12px;font-weight:700;padding:2px 10px;border-radius:999px}
.plano .precos{display:grid;gap:6px}
.plano .precos small{font-weight:400;opacity:.85;margin-left:4px}
.plano ul{margin:0;padding-left:18px;font-size:14px;color:var(--muted);display:grid;gap:2px}
.paywall{padding:48px 22px 24px;max-width:520px;margin:0 auto}
/* cuidados: caixa Pele / Saúde */
.care-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.care-hd h1{margin-bottom:0}
.boxsw{display:inline-flex;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:3px;gap:2px}
.boxsw button{border:0;background:transparent;font:inherit;font-size:14px;font-weight:600;padding:7px 14px;border-radius:999px;color:var(--muted);cursor:pointer}
.boxsw button[aria-pressed="true"]{background:#05382e;color:#f9f0c9}
.care-hd + .subnav{margin-top:14px}
.subnav.three button{flex:1}
.sd-prog{font-size:15px;margin:2px 0 6px;color:var(--muted)}
.sd-prog b{color:var(--ink)}
.sd-dose{display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 12px;margin-bottom:8px}
.sd-dose.on{opacity:.75}
.sd-open{flex:1;display:flex;align-items:center;gap:10px;background:none;border:0;font:inherit;text-align:left;cursor:pointer;color:inherit;min-width:0}
.sd-open span{display:grid;min-width:0}
.sd-open small{color:var(--muted);font-size:13px}
.ck-round{width:40px;height:40px;border-radius:50%;border:2px solid #05382e;background:transparent;color:transparent;display:grid;place-items:center;cursor:pointer;flex:none}
.ck-round svg{width:20px;height:20px}
.ck-round[aria-pressed="true"]{background:#05382e;color:#f9f0c9}
.sd-aviso{font-size:12.5px;line-height:1.45;margin-top:14px}
.sd-flag{color:#9b4b2a;font-weight:600}
.sd-row{width:100%;display:flex;align-items:center;gap:10px;background:none;border:0;font:inherit;text-align:left;cursor:pointer;color:inherit}
.sd-row small{display:block;color:var(--muted)}
.sd-box{border-radius:14px;padding:12px 14px;display:grid;gap:4px;background:var(--surface);border:1px solid var(--line);font-size:14px;line-height:1.45}
.sd-box.warn{background:#fff4ec;border-color:#f1d2bd}
.sd-box ul{margin:4px 0 0;padding-left:18px;display:grid;gap:4px}
.sd-box small{color:var(--muted);font-size:12.5px}
/* onde usar */
.ps-area{display:grid;grid-template-columns:auto 1fr;gap:6px 10px;align-items:center;margin-top:12px;font-size:14px}
.ps-area label{font-weight:600}
.ps-area select{width:auto;justify-self:start;padding:4px 10px;font-size:13px}
.ps-area input{grid-column:1/-1}
.ps-area small{grid-column:1/-1;color:var(--muted);font-size:12.5px}
.corpo-it{width:100%;display:flex;align-items:center;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 12px;margin-bottom:8px;font:inherit;text-align:left;cursor:pointer;color:inherit}
.corpo-it span{flex:1;min-width:0}
.corpo-it small{display:block;color:var(--muted);font-size:13px}
/* proposta de rotina no chat */
.prop{margin-top:10px;padding:12px;border-radius:14px;background:#fbf4f2;border:1px solid #f0d6e6;display:grid;gap:6px;color:var(--ink)}
.prop>b{font-family:"Playfair Display",serif;font-size:17px}
.prop p{margin:0}
.prop h4{margin:4px 0 0;font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:#8a6a2a}
.prop ol{margin:0;padding-left:20px;display:grid;gap:3px;font-size:14px}
.prop ol small{color:var(--muted)}
.prop-ok{color:#05382e;font-weight:700;margin:4px 0 0}
.ia-uso{margin:0;font-size:13px;color:var(--muted);text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:6px 12px;justify-self:center;align-self:center}
.ia-uso.fim{color:#9b4b2a;border-radius:14px}
.ap-tile.add{border-style:dashed;background:transparent}
.ap-tile.add .plus{position:static;font-size:32px;line-height:1;color:#05382e;background:none;font-weight:300}
