  :root{
    --ink:#1E3229; --ink-soft:#3C5548;
    --paper:#EFEDE2; --paper-warm:#E7E2D2; --paper-dark:#16241C;
    --sage:#8A9683; --gild:#A9812E; --gild-light:#C9A24A; --rose:#A15D5A;
    --line:rgba(30,50,41,0.16); --radius:2px; --max:1180px;
  }
  *{box-sizing:border-box;}
  [hidden]{display:none !important;}
  html{scroll-behavior:smooth;}
  body{margin:0; background:var(--paper); color:var(--ink); font-family:'Work Sans',sans-serif; line-height:1.6; -webkit-font-smoothing:antialiased;}
  h1,h2,h3{font-family:'Fraunces',serif; font-weight:450; line-height:1.08; margin:0; color:var(--ink);}
  a{color:inherit;} img,svg{display:block; max-width:100%;}
  .eyebrow{font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gild); margin:0 0 .9rem;}
  .wrap{max-width:var(--max); margin:0 auto; padding:0 6vw;}
  section{padding:6.5rem 0;}
  @media(max-width:720px){section{padding:4rem 0;}}
  a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible{outline:2px solid var(--gild); outline-offset:3px;}

  .btn{display:inline-flex; align-items:center; gap:.55rem; font-family:'IBM Plex Mono',monospace; font-size:.82rem; letter-spacing:.03em; text-decoration:none; padding:.85rem 1.5rem; border-radius:var(--radius); border:1px solid transparent; cursor:pointer; transition:transform .25s,background .25s,border-color .25s;}
  .btn-solid{background:var(--ink); color:var(--paper);}
  .btn-solid:hover{background:var(--ink-soft); transform:translateY(-2px);}
  .btn-ghost{border-color:var(--ink); color:var(--ink); background:transparent;}
  .btn-ghost:hover{border-color:var(--gild); color:var(--gild); transform:translateY(-2px);}
  .btn-gild{background:var(--gild); color:var(--paper-dark);}
  .btn-gild:hover{background:var(--gild-light); transform:translateY(-2px);}
  .btn-block{width:100%; justify-content:center;}

  header{position:sticky; top:0; z-index:50; background:rgba(239,237,226,.92); backdrop-filter:blur(6px); border-bottom:1px solid var(--line);}
  nav.wrap{display:flex; align-items:center; justify-content:space-between; padding:1.1rem 6vw; gap:1.5rem;}
  .brand{font-family:'Fraunces',serif; font-size:1.15rem;}
  .brand small{display:block; font-family:'IBM Plex Mono',monospace; font-size:.6rem; letter-spacing:.13em; text-transform:uppercase; color:var(--sage); margin-top:.15rem;}
  .navlinks{display:flex; gap:1.1rem; list-style:none; margin:0; padding:0; font-size:.85rem;}
  .navlinks a{text-decoration:none; position:relative; padding-bottom:2px;}
  .navlinks a::after{content:''; position:absolute; left:0; bottom:0; width:0; height:1px; background:var(--gild); transition:width .3s;}
  .navlinks a:hover::after{width:100%;}
  .nav-cta{display:flex; align-items:center; gap:1rem;}
  @media(max-width:900px){.navlinks{display:none;}}
  .icon-btn{width:38px; height:38px; border:1px solid transparent; background:var(--paper-warm); border-radius:50%; display:flex; align-items:center; justify-content:center; flex-shrink:0; transition:background .25s, transform .25s;}
  .icon-btn:hover{background:var(--gild); transform:translateY(-2px);}
  .icon-btn svg{width:16px; height:16px; stroke:var(--ink);}
  .icon-btn:hover svg{stroke:#fff;}

  .hero{position:relative; padding-top:5rem; overflow:hidden;}
  .hero-grid{display:grid; grid-template-columns:1.15fr 1fr; gap:3rem; align-items:center;}
  @media(max-width:900px){.hero-grid{grid-template-columns:1fr;}}
  .hero h1{font-size:clamp(2.3rem,4.6vw,3.6rem); max-width:14ch;}
  .hero p.lede{font-size:1.08rem; color:var(--ink-soft); max-width:42ch; margin:1.6rem 0 2.2rem;}
  .hero-ctas{display:flex; gap:1rem; flex-wrap:wrap;}
  .hero-stats{display:flex; gap:2.4rem; margin-top:3rem; flex-wrap:wrap;}
  .hero-stats div strong{display:block; font-family:'Fraunces',serif; font-size:1.6rem;}
  .hero-stats div span{font-family:'IBM Plex Mono',monospace; font-size:.68rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sage);}
  .reveal{opacity:0; transform:translateY(18px); transition:opacity .8s ease, transform .8s ease;}
  .reveal.is-visible{opacity:1; transform:translateY(0);}

  .filosofia{background:var(--paper-warm); border-top:1px solid var(--line); border-bottom:1px solid var(--line);}
  .filosofia-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:4rem; align-items:start;}
  @media(max-width:900px){.filosofia-grid{grid-template-columns:1fr; gap:2.5rem;}}
  .filosofia h2{font-size:clamp(1.8rem,3vw,2.4rem); max-width:14ch;}
  .pull{font-family:'Fraunces',serif; font-style:italic; font-weight:450; font-size:1.3rem; color:var(--ink-soft); line-height:1.5; border-left:2px solid var(--gild); padding-left:1.5rem; margin:1.8rem 0;}
  .filosofia p{color:var(--ink-soft); max-width:56ch;}

  .servicos h2{font-size:clamp(1.8rem,3vw,2.4rem); max-width:16ch; margin-bottom:3rem;}
  .service-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:1px; background:var(--line); border:1px solid var(--line);}
  .service-card{background:var(--paper); padding:2.4rem;}
  .service-card h3{font-size:1.25rem; margin-bottom:.7rem;}
  .duracao-tag{font-family:'IBM Plex Mono',monospace; font-size:.62rem; font-weight:400; letter-spacing:.04em; color:var(--sage); background:var(--paper-warm); border:1px solid var(--line); border-radius:20px; padding:.2rem .55rem; vertical-align:middle; margin-left:.4rem; white-space:nowrap; display:inline-block;}
  .service-card p{color:var(--ink-soft); font-size:.95rem; max-width:36ch; margin:0 0 1.3rem;}
  .service-card a{font-family:'IBM Plex Mono',monospace; font-size:.78rem; text-decoration:none; color:var(--gild); border-bottom:1px solid var(--gild); padding-bottom:2px;}
  .service-card a:hover{color:var(--rose); border-color:var(--rose);}

  .galeria h2{font-size:clamp(1.6rem,2.6vw,2rem); max-width:22ch; margin-bottom:.6rem;}
  .galeria .note{color:var(--sage); font-family:'IBM Plex Mono',monospace; font-size:.75rem; margin-bottom:2.2rem;}
  .gal-grid{display:grid; grid-template-columns:1.2fr 1fr 1fr; gap:1rem;}
  @media(max-width:720px){.gal-grid{grid-template-columns:1fr 1fr;}}
  .gal-grid img{width:100%; height:100%; object-fit:cover; border:1px solid var(--line); background:var(--paper-warm); aspect-ratio:3/4;}
  .gal-grid a:first-child img{aspect-ratio:4/5;}

  .prova{background:var(--ink); color:var(--paper);}
  .prova .eyebrow{color:var(--gild-light);}
  .prova h2{color:var(--paper); font-size:clamp(1.8rem,3vw,2.4rem); max-width:18ch; margin-bottom:3rem;}
  .quote-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:2.2rem;}
  @media(max-width:900px){.quote-grid{grid-template-columns:1fr;}}
  .quote-card{border-top:1px solid rgba(239,237,226,.25); padding-top:1.4rem;}
  .stars{color:var(--gild-light); letter-spacing:2px; font-size:.9rem; margin-bottom:.9rem;}
  .quote-card p{font-family:'Fraunces',serif; font-style:italic; font-size:1.08rem; line-height:1.5; margin:0 0 1rem;}
  .quote-card span{font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--sage);}

  .jornada h2{font-size:clamp(1.8rem,3vw,2.4rem); max-width:16ch; margin-bottom:1rem;}
  .jornada>.wrap>p{color:var(--ink-soft); max-width:50ch; margin-bottom:3.5rem;}
  .steps{position:relative; display:grid; grid-template-columns:repeat(4,1fr); gap:2rem;}
  @media(max-width:860px){.steps{grid-template-columns:1fr; gap:2.6rem;}}
  .step-line{position:absolute; top:22px; left:0; width:100%; height:40px; pointer-events:none;}
  @media(max-width:860px){.step-line{display:none;}}
  .step-line path{fill:none; stroke:var(--gild); stroke-width:1.4; stroke-linecap:round; stroke-dasharray:1000; stroke-dashoffset:1000; transition:stroke-dashoffset 1.6s ease;}
  .step-line.is-visible path{stroke-dashoffset:0;}
  .step{position:relative;}
  .step .num{width:44px; height:44px; border-radius:50%; border:1.4px solid var(--ink); display:flex; align-items:center; justify-content:center; font-family:'IBM Plex Mono',monospace; font-size:.85rem; background:var(--paper); position:relative; z-index:2; margin-bottom:1.1rem;}
  .step h3{font-size:1.05rem; margin-bottom:.5rem;}
  .step p{color:var(--ink-soft); font-size:.92rem; margin:0;}

  .marcar{background:var(--paper-dark); color:var(--paper);}
  .marcar .eyebrow{color:var(--gild-light);}
  .marcar h2{color:var(--paper); font-size:clamp(1.8rem,3vw,2.4rem); max-width:18ch;}
  .marcar p.sub{color:#C7CFC5; max-width:48ch; margin:1.1rem 0 2.6rem;}
  .marcar-grid{display:grid; grid-template-columns:1fr 1fr; gap:3rem;}
  @media(max-width:860px){.marcar-grid{grid-template-columns:1fr;}}
  .field{margin-bottom:1.2rem;}
  .field label{display:block; font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.06em; text-transform:uppercase; color:var(--sage); margin-bottom:.5rem;}
  .field input, .field select, .field textarea{
    width:100%; background:rgba(239,237,226,.06); border:1px solid rgba(239,237,226,.3); color:var(--paper);
    padding:.75rem .9rem; font-family:'Work Sans',sans-serif; font-size:16px; border-radius:var(--radius);
  }
  .field select option, .client-modal .admin-field select option{ color:var(--ink); background:#fff; }
  .field textarea{resize:vertical; min-height:80px;}
  .field input::placeholder, .field textarea::placeholder{color:#8A9683;}
  .form-note{font-family:'IBM Plex Mono',monospace; font-size:.75rem; color:#8A9683; margin-top:1rem;}
  .marcar .confirm-soft{ background:rgba(239,237,226,.08); border-color:rgba(239,237,226,.25); }
  .marcar .confirm-soft p{ color:#C7CFC5; }
  .marcar-alt{border-top:1px solid rgba(239,237,226,.18); margin-top:2rem; padding-top:2rem;}
  .marcar-alt p{color:#C7CFC5; margin:0 0 1rem; font-size:.92rem;}

  .local-grid{display:grid; grid-template-columns:1fr 1fr; gap:3rem;}
  @media(max-width:860px){.local-grid{grid-template-columns:1fr;}}
  .local-grid h2{font-size:clamp(1.8rem,3vw,2.4rem); margin-bottom:1.4rem; max-width:14ch;}
  .info-row{display:flex; gap:1rem; padding:1.1rem 0; border-bottom:1px solid var(--line);}
  .info-row .label{font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.08em; text-transform:uppercase; color:var(--sage); width:110px; flex-shrink:0; padding-top:.15rem;}
  .map-frame{border:1px solid var(--line); background:var(--paper-warm); aspect-ratio:4/3; display:flex; align-items:center; justify-content:center; padding:2rem; text-align:center;}
  .map-frame a{font-family:'IBM Plex Mono',monospace; font-size:.8rem; color:var(--gild); text-decoration:none; border-bottom:1px solid var(--gild); padding-bottom:2px;}

  footer{background:var(--ink); color:var(--paper); padding:4rem 0 2.2rem;}
  .foot-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:3rem; padding-bottom:3rem; border-bottom:1px solid rgba(239,237,226,.18);}
  @media(max-width:760px){.foot-grid{grid-template-columns:1fr; gap:2.2rem;}}
  footer h4{font-family:'IBM Plex Mono',monospace; font-size:.7rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gild-light); margin:0 0 1rem;}
  footer .brand-foot{font-family:'Fraunces',serif; font-size:1.4rem; margin-bottom:.8rem;}
  footer p{color:#C7CFC5; font-size:.92rem; max-width:34ch;}
  footer a{color:#C7CFC5; text-decoration:none; display:block; margin-bottom:.6rem; font-size:.92rem;}
  footer a:hover{color:var(--gild-light);}
  .bottom-bar{display:flex; justify-content:space-between; flex-wrap:wrap; gap:1rem; padding-top:1.6rem; font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:var(--sage);}
  .bottom-bar button{background:none; border:none; color:var(--sage); font-family:'IBM Plex Mono',monospace; font-size:.72rem; cursor:pointer; text-decoration:underline; padding:0;}
  .bottom-bar button:hover{color:var(--gild-light);}

  /* ADMIN */
  .admin-overlay{position:fixed; inset:0; background:rgba(22,36,28,.72); z-index:200; display:flex; align-items:center; justify-content:center; padding:4vw;}
  .admin-modal{background:var(--paper); width:min(720px,100%); max-height:88vh; overflow-y:auto; border-radius:4px; padding:2.2rem;}
  .admin-modal h3{font-family:'Fraunces',serif; font-size:1.4rem; margin-bottom:.4rem;}
  .admin-modal .sub{color:var(--ink-soft); font-size:.88rem; margin-bottom:1.6rem;}
  .admin-close{float:right; background:none; border:none; font-size:1.3rem; cursor:pointer; color:var(--ink-soft); line-height:1;}
  .admin-field{margin-bottom:1.1rem;}
  .admin-field label{display:block; font-family:'IBM Plex Mono',monospace; font-size:.68rem; letter-spacing:.05em; text-transform:uppercase; color:var(--sage); margin-bottom:.4rem;}
  .admin-field input, .admin-field textarea{width:100%; border:1px solid var(--line); background:#fff; padding:.65rem .8rem; font-family:'Work Sans',sans-serif; font-size:16px; border-radius:2px;}
  .admin-field textarea{resize:vertical; min-height:64px;}
  .admin-tabs{display:flex; gap:1.5rem; border-bottom:1px solid var(--line); margin-bottom:1.6rem; flex-wrap:wrap;}
  .admin-tab-btn{background:none; border:none; padding:.6rem 0; font-family:'IBM Plex Mono',monospace; font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; color:var(--sage); cursor:pointer; border-bottom:2px solid transparent;}
  .admin-tab-btn.active{color:var(--ink); border-color:var(--gild);}
  .admin-panel-view{display:none;}
  .admin-panel-view.active{display:block;}
  .pedido-card{border:1px solid var(--line); padding:1rem 1.2rem; margin-bottom:.9rem; border-radius:2px; background:var(--paper-warm);}
  .pedido-card .top{display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; margin-bottom:.4rem;}
  .pedido-card strong{font-family:'Fraunces',serif; font-size:1.05rem;}
  .pedido-card .meta{font-family:'IBM Plex Mono',monospace; font-size:.7rem; color:var(--sage);}
  .pedido-card p{margin:.3rem 0; font-size:.9rem; color:var(--ink-soft);}
  .pedido-card .status-btn{margin-top:.5rem; font-family:'IBM Plex Mono',monospace; font-size:.7rem; padding:.35rem .7rem; border:1px solid var(--ink); background:none; border-radius:20px; cursor:pointer;}
  .pedido-card.tratado{opacity:.55;}
  .pedido-card .meta.novo{color:#8a6a3f;}
  .pedido-card .meta.confirmado{color:#3f5a3f;}
  .pedido-card .meta.concluido{color:#2f4a2f;}
  .pedido-card .meta.cancelado{color:#909090;}
  .pedido-card .meta.nao_compareceu{color:#8a5652;}
  .pedido-card .estado-select{font-family:'IBM Plex Mono',monospace; font-size:.72rem; padding:.4rem .6rem; border:1px solid var(--ink); border-radius:20px; background:#fff; cursor:pointer;}
  .pedido-card .pago-btn{font-family:'IBM Plex Mono',monospace; font-size:.72rem; padding:.4rem .8rem; border:1px solid var(--rose); color:var(--rose); background:none; border-radius:20px; cursor:pointer;}
  .pedido-card .pago-btn.pago{border-color:var(--gild); background:var(--gild); color:#fff;}
  .admin-save-row{display:flex; align-items:center; gap:1rem; margin-top:1.6rem; position:sticky; bottom:0; background:var(--paper); padding-top:1rem;}
  .admin-status{font-family:'IBM Plex Mono',monospace; font-size:.78rem; color:var(--gild);}
  #adminLoginErr{color:var(--rose); font-family:'IBM Plex Mono',monospace; font-size:.78rem; margin-top:.6rem; display:none;}
  #notConfiguredNotice{color:var(--rose); font-family:'IBM Plex Mono',monospace; font-size:.76rem; border:1px dashed var(--rose); padding:.8rem 1rem; margin-top:1rem;}
  .link-row{display:flex; align-items:center; justify-content:space-between; gap:1rem; border:1px solid var(--line); padding:.7rem 1rem; border-radius:2px; margin-bottom:.6rem; background:#fff;}
  .link-row span{font-size:.9rem;}
  .link-row span small{display:block; color:var(--sage); font-family:'IBM Plex Mono',monospace; font-size:.7rem;}
  .link-row button{background:none; border:none; color:var(--rose); font-family:'IBM Plex Mono',monospace; font-size:.72rem; cursor:pointer; text-decoration:underline;}
  .stat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:1rem; margin-bottom:1.8rem;}
  .stat-box{border:1px solid var(--line); background:var(--paper-warm); padding:1rem; border-radius:2px; text-align:center;}
  .stat-box strong{display:block; font-family:'Fraunces',serif; font-size:1.6rem;}
  .stat-box span{font-family:'IBM Plex Mono',monospace; font-size:.65rem; letter-spacing:.05em; text-transform:uppercase; color:var(--sage);}
  .visita-row{display:flex; justify-content:space-between; gap:1rem; font-size:.85rem; padding:.5rem 0; border-bottom:1px solid var(--line); color:var(--ink-soft);}
  .visita-row span:last-child{font-family:'IBM Plex Mono',monospace; font-size:.72rem; color:var(--sage); text-align:right;}

  /* CLIENT MODAL — mais suave, mais terapêutico, distinto do painel de gestão */
  .client-modal{ border-radius:20px; width:min(880px,94vw)!important; max-height:90vh!important; }
  .client-modal h3{ font-family:'Fraunces',serif; font-weight:450; font-size:1.5rem; }
  .client-modal .admin-field label{
    font-family:'Work Sans',sans-serif; text-transform:none; letter-spacing:0;
    font-size:.88rem; color:var(--ink-soft); font-weight:500; margin-bottom:.5rem;
  }
  .client-modal .admin-field input,
  .client-modal .admin-field textarea,
  .client-modal .admin-field select{
    border-radius:12px; border-color:var(--line); background:var(--paper-warm);
    padding:.8rem 1rem; font-size:16px; transition:border-color .2s, background .2s;
  }
  .client-modal .admin-field input:focus,
  .client-modal .admin-field textarea:focus,
  .client-modal .admin-field select:focus{
    border-color:var(--gild); background:#fff;
  }
  .client-modal .eyebrow{ font-size:.68rem; }
  .client-tabs{display:flex; gap:.4rem; flex-wrap:wrap; margin:1.4rem 0 1.5rem; border-bottom:1px solid var(--line); padding-bottom:0;}
  .client-tab-btn{background:none; border:none; border-bottom:2px solid transparent; padding:.6rem .3rem; margin-right:1rem; font-family:'IBM Plex Mono',monospace; font-size:.72rem; letter-spacing:.03em; color:var(--sage); cursor:pointer;}
  .client-tab-btn.active{color:var(--ink); border-bottom-color:var(--gild);}
  .client-tab-view{display:none;}
  .client-tab-view.active{display:block;}
  #clientNotesText{width:100%; border:1px solid var(--line); border-radius:14px; padding:.9rem 1rem; font-family:'Work Sans',sans-serif; font-size:.92rem; background:#fff; resize:vertical;}
  .duracao-pill{
    display:inline-block; font-family:'Fraunces',serif; font-style:italic; color:var(--gild);
    font-size:.95rem; margin:.5rem 0 0;
  }
  .pay-toggle{ display:flex; gap:.7rem; margin-top:.4rem; flex-wrap:wrap; }
  .pay-option{
    flex:1; border:1.4px solid var(--line); border-radius:12px; padding:.9rem 1rem;
    cursor:pointer; text-align:center; font-family:'Work Sans',sans-serif; font-size:.88rem;
    color:var(--ink-soft); transition:border-color .2s, background .2s; user-select:none;
  }
  .pay-option input{ display:none; }
  .pay-option.selected{ border-color:var(--gild); background:rgba(169,129,46,.08); color:var(--ink); }
  .confirm-soft{
    border-radius:14px; background:var(--paper-warm); border:1px solid var(--line);
    padding:1.3rem 1.4rem; margin-top:1rem; display:none;
  }
  .confirm-soft p{ margin:0 0 .8rem; font-size:.92rem; color:var(--ink-soft); line-height:1.55; }
  .confirm-soft p:last-child{ margin-bottom:0; }

/* ================================================================
   NOVA DIREÇÃO VISUAL — mais suave, mais humana, menos "formulário"
   ================================================================ */
:root{
  --ink:#34453B; --ink-soft:#5F6D63;
  --paper:#F7F3EC; --paper-warm:#EEE7DB; --paper-dark:#2E3B34;
  --sage:#91A091; --gild:#B28B62; --gild-light:#D7B993; --rose:#C99C98;
  --line:rgba(52,69,59,.13); --radius:14px;
}
body{background:var(--paper); color:var(--ink); line-height:1.7;}
.eyebrow{font-family:'Work Sans',sans-serif; font-size:.72rem; letter-spacing:.12em;}
.btn{border-radius:999px; transition:transform .15s ease,background .3s ease,box-shadow .3s ease;}
.btn:hover{transform:translateY(-1px); box-shadow:0 8px 24px rgba(52,69,59,.08);}
.btn:active{transform:translateY(0) scale(.97); box-shadow:0 2px 8px rgba(52,69,59,.1); transition-duration:.08s;}
.mini-action, .status-btn, .pay-option, .client-tab-btn, .admin-tab-btn, .admin-subtab, .month-cell, .client-modal .btn, .btn-filtro{transition:transform .15s ease,border-color .2s ease,background .2s ease,color .2s ease;}
.mini-action:active, .status-btn:active, .pay-option:active, .month-cell:active, .btn-filtro:active{transform:scale(.96);}
.filtros-tratamento{display:flex; gap:.7rem; justify-content:center; margin-bottom:2.2rem; flex-wrap:wrap;}
.btn-filtro{font-family:'Work Sans',sans-serif; font-size:.88rem; padding:.6rem 1.4rem; border-radius:999px; border:1px solid var(--line); background:transparent; color:var(--ink); cursor:pointer;}
.btn-filtro:hover{background:rgba(178,139,98,.12); border-color:var(--gild);}
.btn-filtro.active{background:var(--ink); color:var(--paper); border-color:var(--ink); box-shadow:0 4px 14px rgba(52,69,59,.18);}
.service-card.filtro-escondido{display:none;}
.btn-soft{background:#E7D9CB; color:var(--ink); border:1px solid transparent;}
header{background:rgba(247,243,236,.9); backdrop-filter:blur(12px);}

.hero{padding:4rem 0 7rem;}
.hero h1{letter-spacing:-.02em;}
.hero-media{position:relative; min-height:600px; border-radius:28px; overflow:hidden; background:linear-gradient(145deg,#e5d8ca,#bfc6bb); box-shadow:0 24px 70px rgba(52,69,59,.12);}
.hero-media-image{position:absolute; inset:0; background-image:linear-gradient(180deg,rgba(46,59,52,.03),rgba(46,59,52,.32)),url('https://static.wixstatic.com/media/c52d67_0662f6bcff744036bdd5a2dd524f12fe~mv2.png'); background-size:cover; background-position:center; filter:saturate(.85);}
.hero-media-note{position:absolute; left:1.5rem; bottom:1.5rem; background:rgba(247,243,236,.88); backdrop-filter:blur(8px); border-radius:14px; padding:.9rem 1.1rem; box-shadow:0 10px 30px rgba(0,0,0,.08);}
.hero-media-note span{display:block; font-family:'Fraunces',serif; font-size:1.05rem;}
.hero-media-note small{color:var(--sage); font-size:.72rem;}
@media(max-width:900px){ .hero-media{min-height:480px;} }
@media(max-width:720px){ .hero{padding-top:2.5rem;} .hero-media{min-height:420px; border-radius:22px;} }

.pull{border-left:0; padding-left:0; font-size:1.45rem;}

.service-card{border-radius:18px; transition:transform .35s ease, box-shadow .35s ease, border-color .35s ease;}
.service-card:hover{transform:translateY(-4px); box-shadow:0 16px 40px rgba(52,69,59,.08); border-color:rgba(178,139,98,.35);}

.em-breve{padding:3rem 0;}
.em-breve h2{font-size:clamp(1.7rem,2.8vw,2.3rem); max-width:18ch; margin-bottom:2rem;}
.em-breve-grid{display:grid; grid-template-columns:1fr 1fr; gap:1rem;}
@media(max-width:720px){ .em-breve-grid{grid-template-columns:1fr;} }
.em-breve-card{border:1.4px dashed var(--gild); border-radius:18px; padding:1.6rem 1.8rem; background:rgba(178,139,98,.06);}
.em-breve-card h3{font-family:'Fraunces',serif; font-size:1.2rem; margin-bottom:.4rem;}
.em-breve-card p{color:var(--ink-soft); margin:0; font-size:.92rem;}
.sobre{padding-top:5rem;}
.sobre-grid{display:grid; grid-template-columns:.85fr 1.15fr; gap:4rem; align-items:center;}
@media(max-width:900px){ .sobre-grid{grid-template-columns:1fr; gap:2.2rem;} }
.sobre-media-image{aspect-ratio:4/5; border-radius:24px; background:linear-gradient(150deg,#e5d8ca,#c7cdbf) center/cover; box-shadow:0 20px 55px rgba(52,69,59,.1);}
.sobre-copy h2{font-size:clamp(1.9rem,3.2vw,2.6rem); margin-bottom:1.1rem;}
.sobre-copy p{color:var(--ink-soft); max-width:48ch; margin-bottom:1.6rem; font-size:1.02rem;}

.porque{background:var(--paper-warm); padding:6rem 0;}
.porque h2{font-size:clamp(1.8rem,3vw,2.4rem); max-width:20ch; margin-bottom:2.8rem;}
.porque-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:1.2rem;}
@media(max-width:900px){ .porque-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:600px){ .porque-grid{grid-template-columns:1fr;} }
.porque-card{background:#fff; border:1px solid var(--line); border-radius:18px; padding:1.8rem 1.5rem;}
.porque-icon{font-size:1.6rem; display:block; margin-bottom:.8rem;}
.porque-card h3{font-family:'Fraunces',serif; font-size:1.1rem; margin-bottom:.5rem;}
.porque-card p{color:var(--ink-soft); font-size:.9rem; margin:0;}

.experiencia{background:var(--paper-warm);}
.experience-grid{display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center;}
.experience-copy h2{font-size:clamp(2.2rem,4vw,3.4rem); max-width:11ch;}
.experience-copy>p:not(.eyebrow){color:var(--ink-soft); max-width:50ch; margin:1.2rem 0 1.8rem;}
.experience-list{display:grid; gap:1rem;}
.experience-list>div{display:grid; grid-template-columns:42px 1fr; column-gap:1rem; padding:1.1rem 0; border-bottom:1px solid var(--line);}
.experience-list span{font-family:'Fraunces',serif; color:var(--gild); font-size:1.15rem;}
.experience-list strong{font-family:'Fraunces',serif; font-size:1.15rem;}
.experience-list p{grid-column:2; margin:.1rem 0 0; color:var(--ink-soft); font-size:.9rem;}

.reels{padding-top:6rem;}
.section-head{display:grid; grid-template-columns:1fr .8fr; gap:4rem; align-items:end; margin-bottom:2.5rem;}
.section-head h2{font-size:clamp(2rem,3.6vw,3rem); max-width:14ch;}
.section-head>p{color:var(--ink-soft); max-width:45ch;}
.reels-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:1rem;}
.video-real{position:relative; border-radius:20px; overflow:hidden; aspect-ratio:9/16; background:#000; box-shadow:0 12px 35px rgba(52,69,59,.08);}
.video-real video{width:100%; height:100%; object-fit:cover; display:block;}
.video-real iframe{width:100%; height:100%; border:0; display:block;}
.video-embed-instagram, .video-embed-tiktok{display:flex; align-items:center; justify-content:center;}
.video-embed-instagram iframe, .video-embed-tiktok iframe{max-width:100%; max-height:100%;}
.campaign-popup{position:fixed; inset:0; background:rgba(46,59,52,.5); z-index:300; display:flex; align-items:center; justify-content:center; padding:5vw;}
.campaign-popup-box{background:var(--paper); border-radius:22px; max-width:420px; width:100%; padding:2.2rem; position:relative; box-shadow:0 30px 80px rgba(0,0,0,.25); text-align:center;}
.campaign-popup-box img{width:100%; border-radius:14px; margin-bottom:1.2rem; aspect-ratio:4/3; object-fit:cover;}
.campaign-popup-box h3{font-family:'Fraunces',serif; font-size:1.6rem; margin-bottom:.7rem;}
.campaign-popup-box p{color:var(--ink-soft); margin-bottom:1.4rem;}
.campaign-channel-choice{display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap;}
.campaign-channel-choice .btn{flex:1 1 45%; min-width:120px; padding:.7rem 1rem; font-size:.85rem;}
.client-campaign-banner{border:1px solid var(--gild); background:rgba(178,139,98,.08); border-radius:16px; padding:1.2rem 1.4rem; margin:1rem 0;}
.client-campaign-banner strong{font-family:'Fraunces',serif; font-size:1.15rem; display:block; margin:.2rem 0 .4rem;}
.client-campaign-banner p{color:var(--ink-soft); font-size:.9rem; margin:0;}
.reel-card{min-height:320px; border-radius:20px; overflow:hidden; position:relative; display:flex; flex-direction:column; justify-content:flex-end; padding:1.3rem; text-decoration:none; color:white; background:#6c756d center/cover no-repeat; box-shadow:0 12px 35px rgba(52,69,59,.08); transition:transform .35s ease;}
.reel-card::before{content:''; position:absolute; inset:0; background:linear-gradient(180deg,rgba(30,40,35,.02),rgba(30,40,35,.68));}
.reel-card>*{position:relative; z-index:1;}
.reel-card:hover{transform:translateY(-4px);}
.reel-card span:not(.play){font-family:'Fraunces',serif; font-size:1.3rem;}
.reel-card small{opacity:.82;}
.play{width:48px; height:48px; border-radius:50%; display:grid; place-items:center; background:rgba(247,243,236,.9); color:var(--ink); margin-bottom:auto; font-size:.85rem;}
.reel-one{background-image:url('https://static.wixstatic.com/media/cda177_c2b794fd4da3474fbaed3a30b85bc06e~mv2_d_5616_3261_s_4_2.jpg')}
.reel-two{background-image:url('https://static.wixstatic.com/media/c52d67_0662f6bcff744036bdd5a2dd524f12fe~mv2.png')}
.reel-three{background-image:url('https://static.wixstatic.com/media/c52d67_b271f4a5a26f482d8bd87ad8911cb256~mv2.jpeg')}
@media(max-width:900px){ .reels-grid{grid-template-columns:1fr 1fr;} }
@media(max-width:720px){ .reels-grid{grid-template-columns:1fr;} .reel-card{min-height:280px;} }

.galeria{padding-top:4rem;}
.gal-grid img{border:0; border-radius:18px;}

.opiniao-top{display:flex; justify-content:space-between; align-items:end; gap:2rem; margin-bottom:3rem;}
.opiniao-top h2{font-size:clamp(2rem,3.6vw,3rem); max-width:14ch;}
.google-score{text-align:right;}
.google-score strong{display:block; font-family:'Fraunces',serif; font-size:3rem;}
.google-score span{letter-spacing:3px; color:var(--gild);}
.google-score small{display:block; color:var(--sage);}
.prova .quote-card{border:1px solid var(--line); border-radius:18px; padding:1.7rem; background:#fff;}
.quote-mark{font-family:'Fraunces',serif; font-size:2.4rem; color:var(--gild); line-height:1;}
.prova .quote-card p{font-family:'Fraunces',serif; font-style:italic; color:var(--ink);}
.review-actions{display:flex; justify-content:center; gap:1rem; flex-wrap:wrap; margin-top:2rem;}
.review-note{text-align:center; color:var(--sage); font-size:.72rem; max-width:70ch; margin:1rem auto 0;}
@media(max-width:900px){ .opiniao-top{align-items:start; flex-direction:column;} .google-score{text-align:left;} }

.client-review-box{margin-top:1.8rem; padding:1.3rem 1.4rem; border-radius:16px; background:var(--paper-warm); border:1px solid var(--line);}
.client-review-box h4{font-family:'Fraunces',serif; font-size:1.35rem; margin:.15rem 0;}
.client-review-box p{color:var(--ink-soft); font-size:.9rem;}

.mobile-cta{display:none;}
@media(max-width:720px){
  .mobile-cta{position:fixed; display:grid; grid-template-columns:1fr 1fr; left:0; right:0; bottom:0; z-index:100; padding:.55rem .55rem calc(.55rem + env(safe-area-inset-bottom)); background:rgba(247,243,236,.94); backdrop-filter:blur(12px); border-top:1px solid var(--line); box-shadow:0 -8px 25px rgba(52,69,59,.08);}
  .mobile-cta a{text-align:center; padding:.65rem; border-radius:999px; text-decoration:none; font-size:.82rem;}
  .mobile-cta a:first-child{color:var(--ink); border:1px solid var(--line);}
  .mobile-cta a:last-child{background:var(--ink); color:var(--paper);}
  body{padding-bottom:calc(64px + env(safe-area-inset-bottom));}
  .nav-cta .icon-btn{display:none;}
}

  @media (prefers-reduced-motion:reduce){
    *{animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; scroll-behavior:auto !important;}
  }

/* =========================
   PAINEL PROFISSIONAL — Agenda, Contactos, Dashboard
   ========================= */
.admin-shell{max-width:1440px!important;width:96vw!important;max-height:94vh!important;padding:2rem!important;border-radius:22px!important;background:var(--paper)!important;color:var(--ink)!important;overflow-x:hidden!important;box-sizing:border-box!important}
.admin-shell *{max-width:100%; box-sizing:border-box;}
.admin-overlay{padding:2vh 2vw!important;}
.admin-head{display:flex;justify-content:space-between;gap:2rem;align-items:flex-start;padding-bottom:1.3rem;border-bottom:1px solid var(--line)}
.admin-head h3{font-family:'Fraunces',serif;font-size:2rem;margin:.1rem 0 .35rem}.admin-kicker{font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;color:var(--sage);margin:0 0 .4rem}.admin-logout{border:0;background:none;text-decoration:underline;color:var(--sage);cursor:pointer}
.admin-main-tabs{display:flex!important;gap:.45rem!important;margin:1.2rem 0!important;overflow:auto}.admin-main-tabs .admin-tab-btn{border:1px solid var(--line);background:transparent!important;border-radius:999px!important;padding:.75rem 1.1rem!important;white-space:nowrap!important}.admin-main-tabs .admin-tab-btn.active{background:var(--ink)!important;color:var(--paper)!important;border-color:var(--ink)!important}
.admin-subtabs{display:flex;gap:.35rem;flex-wrap:wrap;margin:0 0 1.4rem;padding-bottom:.7rem;border-bottom:1px solid var(--line)}.admin-subtab{border:0;background:none;color:var(--sage);padding:.5rem .7rem;cursor:pointer;border-radius:999px;font-size:.82rem}.admin-subtab.active{background:var(--paper-warm);color:var(--ink)}
.admin-subview{display:none}.admin-subview.active{display:block}.admin-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}@media(max-width:720px){.admin-editor-grid{grid-template-columns:1fr}}
.admin-field-wide{grid-column:1/-1}.admin-section-title{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.admin-section-title h4{font-family:'Fraunces',serif;font-size:1.35rem;margin:0}.admin-section-title p{font-size:.85rem;color:var(--ink-soft);margin:.3rem 0 0}
.site-save-global{margin-top:1.4rem}
.contact-toolbar input,.contact-toolbar select,.agenda-toolbar input,.agenda-toolbar select{border:1px solid var(--line);background:white;color:var(--ink);padding:.7rem .8rem;border-radius:10px;font:inherit}.contact-card,.history-row,.service-admin-card{border:1px solid var(--line);background:#fff;border-radius:14px;padding:.9rem 1rem;margin:.6rem 0}.contact-card{display:flex;justify-content:space-between;align-items:center;gap:1rem}.contact-card span{display:block;color:var(--sage);font-size:.75rem;margin-top:.2rem}.service-admin-card{display:grid;grid-template-columns:180px 1fr auto;gap:1rem;align-items:start}.service-admin-card textarea,.service-admin-card input{width:100%;border:1px solid var(--line);border-radius:10px;padding:.65rem;font:inherit;background:#fff}.service-admin-card textarea{min-height:70px;margin-bottom:.5rem}@media(max-width:800px){.service-admin-card{grid-template-columns:1fr}}
.agenda-toolbar{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;margin-bottom:1rem}.agenda-toolbar input,.agenda-toolbar select{flex:1;min-width:160px;}
.agenda-summary{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:1rem}.agenda-summary span{padding:.65rem .8rem;background:var(--paper-warm);border-radius:12px;color:var(--sage);font-size:.78rem}.agenda-summary strong{color:var(--ink);font-size:1rem;margin-right:.25rem}.admin-list-heading{display:flex;justify-content:space-between;align-items:center;padding:.3rem 0 .7rem;color:var(--sage);font-size:.8rem}.admin-appointment-card{display:grid;grid-template-columns:75px 1fr auto;gap:1rem;align-items:center;border:1px solid var(--line);border-left-width:4px;background:#fff;border-radius:16px;padding:1rem;margin:.6rem 0}.appt-time{font-family:'Fraunces',serif;font-size:1.35rem}.appt-title{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.appt-main p{margin:.25rem 0;color:var(--ink)}.appt-main small{color:var(--sage)}.status-pill{font-size:.68rem;padding:.25rem .5rem;border-radius:999px;background:var(--paper-warm);color:var(--sage)}.appt-actions{display:flex;gap:.35rem;flex-wrap:wrap;justify-content:flex-end}.mini-action{border:1px solid var(--line);background:#fff;color:var(--ink);padding:.5rem 1rem;border-radius:999px;text-decoration:none;font-family:'Work Sans',sans-serif;font-weight:500;font-size:.74rem;cursor:pointer;display:inline-block;transition:border-color .2s ease,background .2s ease,color .2s ease;}.mini-action:hover{border-color:var(--gild);background:var(--paper-warm);}.admin-appointment-card.cancelado{opacity:.55}.admin-appointment-card.concluido{background:#fafaf6}.admin-appointment-card.nao_compareceu{opacity:.6;border-color:var(--rose);}
.admin-appointment-card.novo{border-left-color:var(--gild);}
.admin-appointment-card.confirmado{border-left-color:var(--sage);}
.admin-appointment-card.concluido{border-left-color:#7a9a7a;}
.admin-appointment-card.cancelado{border-left-color:#bbb;}
.admin-appointment-card.nao_compareceu{border-left-color:var(--rose);}
.status-pill.novo{background:rgba(178,139,98,.2); color:#8a6a3f;}
.status-pill.confirmado{background:rgba(145,160,145,.25); color:#3f5a3f;}
.status-pill.concluido{background:rgba(122,154,122,.3); color:#2f4a2f;}
.status-pill.cancelado{background:rgba(150,150,150,.2); color:#707070;}
.status-pill.nao_compareceu{background:rgba(201,156,152,.28); color:#8a5652;}
.week-day{padding:1rem 0;border-bottom:1px solid var(--line)}.week-day>div:first-child{display:flex;justify-content:space-between;align-items:center}.week-day>div:first-child span{font-size:.78rem;color:var(--sage)}.month-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.35rem}.month-head{font-size:.7rem;color:var(--sage);padding:.4rem}.month-cell{min-height:75px;border:1px solid var(--line);border-radius:10px;background:#fff;text-align:left;padding:.5rem;cursor:pointer}.month-cell strong,.month-cell span{display:block}.month-cell span{font-size:.68rem;color:var(--sage);margin-top:.3rem}.month-cell.selected{border-color:var(--gild);box-shadow:0 0 0 2px rgba(181,150,88,.12) inset}.month-cell.empty{background:transparent;border-style:dashed}
@media(max-width:600px){.month-grid{gap:.2rem}.month-cell{min-height:44px;padding:.3rem .25rem;border-radius:6px}.month-cell strong{font-size:.78rem}.month-cell span{font-size:.6rem;margin-top:.1rem}.month-head{font-size:.6rem;padding:.2rem}}
.contact-toolbar{display:grid;grid-template-columns:2fr 1fr auto;gap:.6rem;margin-bottom:1rem}@media(max-width:700px){.contact-toolbar{grid-template-columns:1fr}.contact-toolbar button{width:100%}}.contact-card strong{display:block}
.contact-detail{position:fixed; inset:0; z-index:250; background:rgba(46,59,52,.5); display:flex; align-items:flex-start; justify-content:center; padding:4vh 5vw; overflow-y:auto;}
.contact-detail-box{background:var(--paper); border-radius:22px; max-width:640px; width:100%; padding:2rem 2.2rem; box-shadow:0 30px 80px rgba(0,0,0,.25); margin:auto;}
.contact-detail-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.contact-detail h4{font-family:'Fraunces',serif;font-size:1.7rem;margin:.2rem 0}.contact-actions{display:flex;gap:.5rem;margin:1rem 0}.history-row{display:grid;grid-template-columns:180px 1fr;gap:.5rem}.history-row small{grid-column:2;color:var(--sage)}@media(max-width:650px){.history-row{grid-template-columns:1fr}.history-row small{grid-column:1}}
.dashboard-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.7rem;margin-bottom:1rem}.dashboard-cards>div{background:#fff;border:1px solid var(--line);border-radius:16px;padding:1rem}.dashboard-cards span,.dashboard-cards small{display:block;color:var(--sage);font-size:.72rem}.dashboard-cards strong{display:block;font-family:'Fraunces',serif;font-size:2rem;margin:.25rem 0}.dashboard-panel{border:1px solid var(--line);border-radius:16px;padding:1rem;background:#fff}.dashboard-panel h4{font-family:'Fraunces',serif;margin:0 0 .8rem;font-size:1.25rem}.metric-row{display:flex;justify-content:space-between;padding:.7rem 0;border-bottom:1px solid var(--line)}
@media(max-width:720px){.admin-modal{padding:1rem!important}.admin-shell{padding:1rem!important;border-radius:18px!important}.admin-appointment-card{grid-template-columns:60px 1fr}.appt-actions{grid-column:1/-1;justify-content:flex-start}.admin-head{align-items:center}}
.cookie-banner{position:fixed; left:1.2rem; right:1.2rem; bottom:1.2rem; z-index:250; background:var(--paper-dark); color:var(--paper); border-radius:16px; padding:1.1rem 1.4rem; display:flex; align-items:center; gap:1.2rem; flex-wrap:wrap; box-shadow:0 20px 50px rgba(0,0,0,.25); max-width:640px;}
@media(max-width:720px){ .cookie-banner{ bottom:calc(64px + 1rem + env(safe-area-inset-bottom)); left:.8rem; right:.8rem; } }
.cookie-banner p{margin:0; font-size:.85rem; color:#C7CFC5; flex:1; min-width:220px;}
.cookie-banner a{color:var(--gild-light);}
.placeholder-nif{background:rgba(178,139,98,.18); padding:.1rem .35rem; border-radius:4px; color:var(--ink);}

.global-search-wrap{position:relative; margin:1rem 0 1.4rem;}
.global-search-wrap input{width:100%; border:1px solid var(--line); border-radius:12px; padding:.8rem 1rem; font:inherit; background:#fff;}
#globalSearchResults{position:absolute; top:calc(100% + .4rem); left:0; right:0; background:#fff; border:1px solid var(--line); border-radius:14px; box-shadow:0 20px 50px rgba(0,0,0,.12); max-height:360px; overflow-y:auto; z-index:50; padding:.5rem;}
#globalSearchResults h5{font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--sage); margin:.6rem .6rem .3rem;}
.gs-row{padding:.6rem .6rem; border-radius:8px; cursor:pointer;}
.gs-row:hover{background:var(--paper-warm);}
.gs-row strong{display:block; font-size:.92rem;}
.gs-row span{font-size:.76rem; color:var(--sage);}

.centro-atencao{border:1px solid var(--gild); border-radius:16px; background:rgba(178,139,98,.06); padding:1.2rem 1.4rem; margin-bottom:1.2rem;}
.centro-atencao h4{font-family:'Fraunces',serif; font-size:1.15rem; margin:0 0 .7rem;}
.centro-atencao .ca-row{display:flex; align-items:center; gap:.6rem; padding:.4rem 0; font-size:.9rem;}
.centro-atencao .ca-dot{width:8px; height:8px; border-radius:50%; flex-shrink:0;}
.centro-atencao .ca-ok{color:var(--sage); font-size:.85rem; padding:.3rem 0;}

/* ============================================
   PÁGINA DEDICADA DE GESTÃO (gestao.html)
   ============================================ */
.gestao-body{background:var(--paper-warm); min-height:100vh;}
.gestao-shell{width:100%;}
#adminLogin{max-width:420px; margin:8vh auto; background:var(--paper); border-radius:20px; padding:2.4rem; box-shadow:0 20px 60px rgba(0,0,0,.08);}
.gestao-layout{display:flex; min-height:100vh; align-items:stretch;}
.gestao-sidebar{width:260px; flex-shrink:0; background:var(--ink); color:var(--paper); display:flex; flex-direction:column; padding:1.6rem 1.2rem; position:sticky; top:0; height:100vh;}
.gestao-brand{margin-bottom:1.8rem;}
.gestao-brand strong{display:block; font-family:'Fraunces',serif; font-size:1.2rem;}
.gestao-brand small{color:rgba(247,243,236,.6); font-size:.72rem;}
.gestao-nav.admin-main-tabs{display:flex!important; flex-direction:column!important; gap:.3rem!important; margin:0!important; overflow:visible!important;}
.gestao-nav .admin-tab-btn{text-align:left!important; background:transparent!important; border:none!important; color:rgba(247,243,236,.75)!important; padding:.8rem 1rem!important; border-radius:12px!important; white-space:normal!important;}
.gestao-nav .admin-tab-btn.active{background:rgba(247,243,236,.12)!important; color:var(--paper)!important;}
.gestao-nav .admin-tab-btn:hover{background:rgba(247,243,236,.08)!important;}
.gestao-sidebar-foot{margin-top:auto; display:flex; flex-direction:column; gap:.6rem; padding-top:1.2rem; border-top:1px solid rgba(247,243,236,.15);}
.gestao-back{color:rgba(247,243,236,.7); font-size:.85rem; text-decoration:none;}
.gestao-back:hover{color:var(--paper);}
.gestao-sidebar-foot .admin-logout{color:rgba(247,243,236,.7); background:none; border:1px solid rgba(247,243,236,.25); border-radius:10px; padding:.6rem; cursor:pointer;}
.gestao-main{flex:1; padding:2.4rem 3rem; max-width:1400px; overflow-y:auto; max-height:100vh;}
@media(max-width:900px){
  .gestao-layout{flex-direction:column;}
  .gestao-sidebar{width:100%; height:auto; position:relative; flex-direction:row; align-items:center; flex-wrap:wrap; padding:1rem;}
  .gestao-brand{margin-bottom:0; margin-right:1rem;}
  .gestao-nav.admin-main-tabs{flex-direction:row!important; flex-wrap:wrap!important;}
  .gestao-sidebar-foot{flex-direction:row; margin-top:.6rem; margin-left:auto; border-top:none; padding-top:0;}
  .gestao-main{padding:1.2rem; max-height:none;}
}

/* Transição subtil ao trocar de separador na gestão */
@keyframes gestaoFadeIn{ from{opacity:0; transform:translateY(8px);} to{opacity:1; transform:translateY(0);} }
.admin-subview.active{ animation:gestaoFadeIn .25s ease; }
@media(prefers-reduced-motion:reduce){ .admin-subview.active{ animation:none; } }

/* Notificações "toast" */
.toast-wrap{position:fixed; bottom:1.5rem; right:1.5rem; z-index:400; display:flex; flex-direction:column; gap:.6rem; align-items:flex-end;}
.toast{background:var(--ink); color:var(--paper); padding:.8rem 1.2rem; border-radius:12px; font-size:.88rem; box-shadow:0 12px 35px rgba(0,0,0,.2); max-width:320px; animation:toastIn .25s ease;}
.toast.toast-erro{background:var(--rose);}
.toast.toast-sucesso{background:var(--ink);}
@keyframes toastIn{ from{opacity:0; transform:translateX(12px);} to{opacity:1; transform:translateX(0);} }
@media(max-width:600px){ .toast-wrap{left:1rem; right:1rem; align-items:stretch;} .toast{max-width:none;} }

/* ============================================
   PÁGINA DEDICADA "A MINHA CONTA" (conta.html)
   ============================================ */
.conta-body{background:var(--paper-warm); min-height:100vh;}
.conta-head{display:flex; justify-content:space-between; align-items:center; padding:1.4rem 2rem; background:var(--paper);}
.conta-brand{font-family:'Fraunces',serif; font-size:1.1rem; color:var(--ink); text-decoration:none; display:flex; flex-direction:column; line-height:1.3;}
.conta-brand small{font-family:'IBM Plex Mono',monospace; font-size:.62rem; color:var(--sage); text-transform:uppercase; letter-spacing:.05em;}
.conta-back{font-size:.85rem; color:var(--sage); text-decoration:none;}
.conta-back:hover{color:var(--ink);}
.conta-wrap{max-width:600px; margin:4vh auto 6vh; padding:2.4rem; background:var(--paper); border-radius:20px; box-shadow:0 20px 60px rgba(0,0,0,.08);}
@media(max-width:720px){ .conta-head{padding:1rem 1.2rem;} .conta-wrap{margin:2vh auto 4vh; padding:1.6rem; border-radius:16px; width:94vw;} }

/* Painel de integrações */
.integ-row{display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:1rem 1.2rem; border:1px solid var(--line); border-radius:14px; background:#fff; margin-bottom:.7rem;}
.integ-row strong{display:block; font-family:'Fraunces',serif; font-size:1.05rem;}
.integ-row small{color:var(--sage); font-size:.78rem;}
.integ-badge{font-size:.72rem; padding:.35rem .7rem; border-radius:999px; white-space:nowrap; font-family:'IBM Plex Mono',monospace;}
.integ-badge.on{background:rgba(178,139,98,.15); color:var(--ink);}
.integ-badge.manual{background:rgba(201,156,152,.18); color:#8a5652;}
.integ-badge.off{background:var(--paper-warm); color:var(--sage);}

.faq-list{display:flex; flex-direction:column; gap:.9rem; max-width:760px;}
.faq-item{background:#fff; border:1px solid var(--line); border-radius:18px; padding:0 1.6rem;}
.faq-item summary{font-family:'Fraunces',serif; font-size:1.05rem; color:var(--ink); padding:1.3rem 0; cursor:pointer; list-style:none; display:flex; justify-content:space-between; align-items:center; gap:1rem;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:'+'; font-family:'IBM Plex Mono',monospace; font-size:1.2rem; color:var(--gild); flex-shrink:0; transition:transform .2s ease;}
.faq-item[open] summary::after{transform:rotate(45deg);}
.faq-item p{color:var(--ink-soft); font-size:.94rem; line-height:1.6; margin:0 0 1.3rem;}
