:root{--oceano: #0a6e8a;--oceano-escuro: #074a5e;--areia: #f4ecdc;--fundo: #fbfaf6;--texto: #1d2b30;--texto-suave: #5a6b70;--borda: #e4e0d4;--destaque: #e08a3c}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--fundo);color:var(--texto)}a{color:inherit;text-decoration:none}.header{background:var(--oceano-escuro);color:#fff;padding:16px 24px}.header h1{margin:0;font-size:20px;letter-spacing:.5px}.header p{margin:4px 0 0;opacity:.8;font-size:13px}.container{max-width:1100px;margin:0 auto;padding:24px}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:20px}.card{background:#fff;border:1px solid var(--borda);border-radius:14px;overflow:hidden;transition:transform .15s,box-shadow .15s;display:flex;flex-direction:column}.card:hover{transform:translateY(-3px);box-shadow:0 8px 24px #074a5e1f}.card-img{aspect-ratio:4 / 3;object-fit:cover;width:100%;background:var(--areia)}.card-body{padding:14px 16px;display:flex;flex-direction:column;gap:6px;flex:1}.card-cat{font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--oceano);font-weight:700}.card-title{font-size:17px;font-weight:700;margin:0}.card-desc{font-size:13px;color:var(--texto-suave);flex:1}.card-foot{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.preco{font-weight:800;color:var(--oceano-escuro)}.badge{font-size:11px;background:var(--areia);padding:3px 8px;border-radius:999px;color:var(--texto-suave)}.detalhe-hero{aspect-ratio:16 / 7;width:100%;object-fit:cover;border-radius:16px;background:var(--areia)}.chip{display:inline-block;background:var(--areia);border-radius:999px;padding:4px 12px;font-size:13px;margin:0 8px 8px 0}.var-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--borda)}.btn{display:inline-block;background:var(--destaque);color:#fff;border:none;border-radius:10px;padding:12px 20px;font-weight:700;cursor:pointer}.muted{color:var(--texto-suave)}.back{font-size:14px;color:var(--oceano);display:inline-block;margin-bottom:16px}input,select,textarea{width:100%;padding:9px 11px;border:1px solid var(--borda);border-radius:8px;font:inherit;background:#fff;margin-top:4px}label{display:block;font-size:13px;font-weight:600;color:var(--texto-suave);margin-bottom:10px}.check{display:flex;align-items:center;gap:8px}.check input{width:auto;margin:0}.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}.erro{color:#c0392b;font-size:13px}.ok-msg{color:#1e7e44;font-size:13px}.btn.sm{padding:7px 12px;font-size:13px}.link-btn{background:none;border:none;color:var(--oceano);cursor:pointer;font:inherit;padding:0}.link-btn.danger{color:#c0392b}.reservar{margin-top:28px;padding:20px;background:#fff;border:1px solid var(--borda);border-radius:14px}.reservar-form{display:flex;flex-direction:column;gap:4px}.ok-box{border-color:#2e9e5b}.cal-dias{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.cal-dia{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 14px;border:1px solid var(--borda);border-radius:10px;background:#fff;cursor:pointer;font-weight:600;text-transform:capitalize}.cal-dia small{font-weight:400;color:var(--texto-suave);font-size:11px}.cal-dia.sel{border-color:var(--oceano);background:#eaf6fa;color:var(--oceano-escuro)}.cal-horas{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.cal-hora{padding:8px 14px;border:1px solid var(--borda);border-radius:10px;background:#fff;cursor:pointer;font-weight:600}.cal-hora small{font-weight:400;color:var(--texto-suave)}.cal-hora.sel{border-color:var(--destaque);background:#fdf1e6;color:#a85a1a}.admin-login{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--areia)}.admin-card{background:#fff;padding:28px;border-radius:14px;width:320px;box-shadow:0 8px 30px #00000014}.admin-shell{display:flex;min-height:100vh}.admin-side{width:220px;background:var(--oceano-escuro);color:#fff;padding:22px 18px;display:flex;flex-direction:column;gap:10px}.admin-side h1{font-size:18px;margin:0 0 12px}.admin-side nav{display:flex;flex-direction:column;gap:4px;flex:1}.admin-side nav a{padding:9px 12px;border-radius:8px;color:#dbe9ee;font-size:14px}.admin-side nav a:hover,.admin-side nav a.active{background:#ffffff24;color:#fff}.admin-side .link-btn{color:#cfe3ea;text-align:left}.admin-main{flex:1;padding:28px 32px;background:var(--fundo);overflow:auto}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.admin-form{background:#fff;border:1px solid var(--borda);border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:4px;max-width:820px}.admin-block{margin-top:26px;background:#fff;border:1px solid var(--borda);border-radius:12px;padding:20px;max-width:820px}.admin-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--borda);border-radius:12px;overflow:hidden}.admin-table th,.admin-table td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--borda);font-size:14px}.admin-table th{background:var(--areia);font-size:12px;text-transform:uppercase;letter-spacing:.5px}.var-edit{border:1px solid var(--borda);border-radius:10px;padding:14px;margin-bottom:12px}.var-actions{display:flex;justify-content:space-between;align-items:center;margin-top:8px}.disp-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-bottom:14px}.disp-form label{margin-bottom:0}.status{padding:3px 9px;border-radius:999px;font-size:12px;font-weight:700}.status.pendente{background:#fdf0d5;color:#9a6700}.status.confirmada{background:#d7f0e0;color:#1e7e44}.status.cancelada{background:#f6dada;color:#b02a2a}.agenda-slot{border-top:1px solid var(--borda);padding:10px 0}.agenda-slot:first-of-type{border-top:none}.agenda-slot-head{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.agenda-slot-head strong{min-width:48px}.badge.vazio{opacity:.6}.agenda-reservas{margin:6px 0 0;padding-left:18px;font-size:14px}.agenda-reservas li{margin:2px 0}.agenda-mes{text-transform:capitalize;color:var(--oceano-escuro);border-bottom:2px solid var(--borda);padding-bottom:4px;margin:22px 0 0}.agenda-dia{text-transform:capitalize;margin:0 0 8px;font-size:15px}.infobox{background:#eaf6fa;border:1px solid #bfe0ea;border-left:4px solid var(--oceano);border-radius:10px;padding:12px 16px;margin-bottom:18px;max-width:900px}.infobox-titulo{font-weight:700;color:var(--oceano-escuro);font-size:13px;margin-bottom:4px}.infobox-corpo{font-size:14px;color:#234;line-height:1.5}.infobox code{background:#fff;padding:1px 5px;border-radius:4px}.demo{max-width:860px;line-height:1.6}.demo h3{margin-top:28px;color:var(--oceano-escuro)}.demo-lista{padding-left:20px}.demo-lista li{margin:4px 0}.aviso{background:#fff7ed;border:1px solid #f0c992;border-left:4px solid var(--destaque);border-radius:10px;padding:14px 18px;margin:16px 0 8px}.aviso p{margin:8px 0 0;font-size:14px}.print{margin:12px 0 4px}.print img{max-width:100%;border:1px solid var(--borda);border-radius:12px;box-shadow:0 6px 20px #074a5e1a;display:block}.print figcaption{font-size:13px;color:var(--texto-suave);margin-top:8px;font-style:italic}.print-falta{border:2px dashed var(--borda);border-radius:12px;padding:28px;text-align:center;color:var(--texto-suave);background:#fbfaf6}
