:root{
  /* Paleta adaptada à marca Caminhar e Cuidar */
  --brand:#8A7767; 
  --text:#5E5147; 
  --muted:#8F857D; 
  --bg:#F6F0E8; 
  --white:#fff; 
  --danger:#ef4444; 
  --ok:#16a34a;
  --radius:14px;
}
*{box-sizing:border-box}
a {text-decoration: none;}
html,body{margin:0;padding:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
.container{max-width:980px;margin:0 auto;padding:24px}
.header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}
.logo{display:flex;align-items:center;gap:12px;font-weight:800}
.logo img{width:36px;height:36px;border-radius:8px;object-fit:cover;background:#f0e7dd}
.card{background:var(--white);border-radius:var(--radius);box-shadow:0 6px 24px rgba(2,6,23,.08);padding:24px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;background:var(--brand);color:#fff;border-radius:12px;padding:12px 16px;font-weight:700;cursor:pointer;transition:transform .03s}
.btn:active{transform:translateY(1px)}
.btn.outline{background:#E9E0D8;color:#4B3F37}
.btn.muted{background:#E6DFD7;color:#4B3F37}
.grid{display:grid;gap:16px}
.center{text-align:center}
.muted{color:var(--muted)}
.spacer{height:12px}
.footer{margin-top:24px;color:var(--muted);font-size:.9rem}

/* Calendar */
.calendar{display:grid;gap:12px}
.calendar .nav{display:flex;align-items:center;justify-content:space-between}
.calendar .month{font-weight:800;font-size:1.2rem}
.calendar .weekdays,.calendar .days{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.calendar .weekday{font-size:.8rem;color:var(--muted);text-align:center}
.day{background:#fff;border-radius:10px;border:1px solid #e5e7eb;min-height:84px;padding:8px;display:flex;flex-direction:column;gap:6px}
.day.dim{opacity:.35}
.day .num{font-weight:700}
.badge{display:inline-flex;align-items:center;gap:6px;background:#EFE5DC;color:#6B5B4F;border-radius:999px;padding:2px 8px;font-size:.75rem;width:max-content}
.day button{margin-top:auto}
.scroll{max-height:260px;overflow:auto;border:1px dashed #e5e7eb;border-radius:10px;padding:8px}

/* Slots & form */
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slot{border:1px solid #e2e8f0;border-radius:10px;padding:8px 10px;background:#fff;cursor:pointer;min-width:110px;display:flex;align-items:center;justify-content:space-between}
.slot.full{opacity:.45;pointer-events:none}
.kv{display:grid;gap:8px}
.kv label{font-size:.9rem;color:var(--muted)}
.kv input[type="text"], .kv input[type="email"], .kv input[type="tel"]{
  width:100%;padding:12px;border:1px solid #e5e7eb;border-radius:10px;background:#fff
}

/* Modal */
.modal-backdrop{position:fixed;inset:0;background:rgba(30,26,22,.35);display:none;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal{background:#fff;border-radius:16px;max-width:560px;width:100%;padding:20px;box-shadow:0 20px 60px rgba(2,6,23,.25)}
.modal.open{display:flex}

/* Alerts */
.alert{padding:12px 14px;border-radius:10px}
.alert.error{background:#fee2e2;color:#7f1d1d;border:1px solid #fecaca}
.alert.ok{background:#dcfce7;color:#14532d;border:1px solid #bbf7d0}

/* Responsive */
@media (max-width:720px){
  .calendar .weekday{font-size:.7rem}
  .day{min-height:74px}
  .slo
