/* Tombol & panel chat layanan kanan bawah (views/temp/chat_layanan). bottom 44px: memberi ruang tombol gulir ke atas Ace. */
#cl-akar { font-family: "Open Sans", Arial, sans-serif; font-size: 13px; line-height: 1.45; }
#cl-akar [hidden] { display: none !important; }
#cl-akar *, #cl-akar *::before { box-sizing: border-box; }

.cl-tombol { position: fixed; right: 20px; bottom: 44px; z-index: 1030; display: flex; align-items: center; justify-content: center; width: 54px; height: 54px; padding: 0;
	border: 0; border-radius: 50%; background: #438eb9; color: #fff; cursor: pointer; box-shadow: 0 3px 12px rgba(0, 0, 0, .3); transition: background-color .2s, transform .2s; }
.cl-tombol:hover, .cl-tombol:focus { background: #2e7aa6; color: #fff; text-decoration: none; transform: scale(1.05); }
.cl-tombol:focus-visible, .cl-kirim:focus-visible, .cl-tutup:focus-visible { outline: 2px solid #1b5e85; outline-offset: 2px; }
.cl-tombol-wa { background: #128c4b; }
.cl-tombol-wa:hover, .cl-tombol-wa:focus { background: #0e733d; }
.cl-angka { position: absolute; top: -3px; right: -3px; min-width: 20px; height: 20px; padding: 0 5px; border: 2px solid #fff; border-radius: 10px; background: #d15b47; color: #fff;
	font-size: 11px; font-weight: bold; line-height: 16px; text-align: center; }

.cl-panel { position: fixed; right: 20px; bottom: 108px; z-index: 1030; display: flex; flex-direction: column; width: 360px; max-width: calc(100vw - 32px); height: 500px; max-height: calc(100vh - 130px);
	overflow: hidden; border-radius: 10px; background: #fff; color: #333; box-shadow: 0 6px 28px rgba(0, 0, 0, .3); }
.cl-kepala { display: flex; align-items: center; justify-content: space-between; flex: none; padding: 10px 14px; background: #438eb9; color: #fff; }
.cl-judul { font-size: 15px; font-weight: 600; }
.cl-keadaan { font-size: 11.5px; opacity: .95; }
.cl-titik { display: inline-block; width: 8px; height: 8px; margin-right: 5px; border-radius: 50%; background: #cfd8dc; }
.cl-titik.buka { background: #7be0a0; }
.cl-tutup { width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: #fff; font-size: 22px; line-height: 28px; cursor: pointer; }
.cl-tutup:hover { background: rgba(255, 255, 255, .2); }

.cl-isi { flex: 1; min-height: 0; overflow-y: auto; padding: 10px 12px; background: #f4f6f8; }
.cl-tanya { margin-bottom: 8px; border: 1px solid #dde3e8; border-radius: 8px; background: #fff; }
.cl-tanya > summary { padding: 8px 10px; color: #2e6f96; font-weight: 600; cursor: pointer; }
.cl-tanya details { border-top: 1px solid #eef1f4; }
.cl-tanya details > summary { padding: 7px 10px; cursor: pointer; }
.cl-tanya details > div { padding: 0 10px 9px 22px; color: #555; white-space: pre-wrap; }
.cl-catatan { margin-bottom: 8px; padding: 7px 10px; border-radius: 8px; background: #fff6e0; color: #6d5316; font-size: 12px; }

.cl-baris { display: flex; margin-bottom: 7px; }
.cl-baris.saya { justify-content: flex-end; }
.cl-gelembung { max-width: 82%; padding: 7px 10px; border-radius: 10px; background: #fff; box-shadow: 0 1px 1px rgba(0, 0, 0, .08); white-space: pre-wrap; overflow-wrap: anywhere; }
.cl-baris.saya .cl-gelembung { background: #d6ebf7; }
.cl-waktu { display: block; margin-top: 2px; color: #6b7680; font-size: 10.5px; text-align: right; }
.cl-baris.gagal .cl-waktu { color: #b23a2a; }

.cl-tulis { display: flex; flex: none; align-items: flex-end; gap: 6px; margin: 0; padding: 8px 10px; border-top: 1px solid #e3e7eb; background: #fff; }
.cl-tulis textarea { flex: 1; max-height: 96px; padding: 7px 10px; border: 1px solid #cfd6dc; border-radius: 8px; font: inherit; resize: none; }
.cl-tulis textarea:focus { border-color: #438eb9; outline: 0; }
.cl-kirim { display: flex; flex: none; align-items: center; justify-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: #438eb9; color: #fff; cursor: pointer; }
.cl-kirim:hover { background: #2e7aa6; }
.cl-lanjut-wa { flex: none; padding: 0 10px 8px; background: #fff; color: #0e733d; font-size: 12px; font-weight: 600; text-align: center; }
.cl-lanjut-wa:hover { color: #0a5a30; }

@media (max-width: 480px) {
	.cl-tombol { right: 14px; bottom: 40px; }
	.cl-panel { right: 8px; left: 8px; bottom: 8px; width: auto; max-width: none; height: auto; top: 8px; max-height: none; }
	.cl-terbuka .cl-tombol { display: none; }
}
@media print { #cl-akar { display: none !important; } }
