/* Shared public theme tokens update immediately for preset, custom and dark themes. */
:where(.ce-launch,#ce-dialog,#ce-image-viewer,.ce-faq-attachments){
  --ce-ink:var(--ink,#193c34);--ce-paper:var(--paper,#fafaf4);--ce-soft:var(--soft,#eff1e7);
  --ce-muted:var(--muted,#65716b);--ce-line:var(--line,#dce1d4);--ce-accent:var(--accent,#d6ed9c);
  --ce-danger:#a33128;color-scheme:light;
}
html[data-mode=dark] :where(.ce-launch,#ce-dialog,#ce-image-viewer,.ce-faq-attachments){--ce-danger:#ffb4a6;color-scheme:dark}
.ce-launch{position:fixed;z-index:90;right:22px;bottom:55px;display:flex;align-items:center;gap:9px;padding:12px 18px;border-radius:40px;border:1px solid var(--ce-line);background:var(--ce-ink);color:var(--ce-paper);font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;box-shadow:0 6px 20px color-mix(in srgb,var(--ce-ink) 15%,transparent);cursor:pointer}.ce-launch span{font-size:21px}.ce-dialog{box-sizing:border-box;width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 32px);margin:auto;padding:0;border:1px solid var(--ce-line);border-radius:22px;background:var(--ce-paper);color:var(--ce-ink);box-shadow:0 30px 100px color-mix(in srgb,var(--deep,#173c34) 32%,transparent);font-family:inherit;overflow:auto}.ce-dialog::backdrop{background:color-mix(in srgb,var(--deep,#173c34) 60%,transparent)}.ce-dialog *{box-sizing:border-box}.ce-dialog [hidden]{display:none!important}.ce-head{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:23px;background:linear-gradient(120deg,var(--ce-soft),color-mix(in srgb,var(--ce-accent) 22%,var(--ce-paper)));border-bottom:1px solid var(--ce-line)}.ce-head small{font-size:10px;letter-spacing:.14em;font-weight:800}.ce-head h2{font-size:21px;line-height:1.35;margin:7px 0 0;letter-spacing:-.5px}.ce-head button{border:0;background:var(--ce-paper);border-radius:50%;width:36px;height:36px;font-size:25px;cursor:pointer;flex-shrink:0}.ce-tabs{display:flex;gap:6px;padding:14px 20px;border-bottom:1px solid var(--ce-line)}.ce-tabs button{flex:1;border:0;background:var(--ce-soft);padding:11px 6px;border-radius:10px;color:var(--ce-ink);font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer}.ce-tabs button[aria-pressed=true]{background:var(--ce-ink);color:var(--ce-paper)}.ce-dialog section{padding:18px 22px}.ce-dialog input:not([type=checkbox]),.ce-dialog textarea,.ce-dialog select{display:block;width:100%;max-width:100%;margin:6px 0 14px;padding:11px 12px;border:1px solid var(--ce-line);border-radius:10px;background:var(--ce-paper);color:var(--ce-ink);font:inherit;font-size:14px;line-height:1.6}.ce-dialog textarea{resize:vertical;min-height:65px}.ce-dialog label{display:block;font-size:13px;font-weight:650;line-height:1.6}.ce-dialog small,.ce-muted{color:var(--ce-muted);font-size:12px;line-height:1.7}.ce-dialog p{font-size:13px;line-height:1.7;margin:8px 0 15px}.ce-dialog details{padding:12px 0;border-bottom:1px solid var(--ce-line);margin-bottom:13px}.ce-dialog summary{font-size:13px;font-weight:650;cursor:pointer}.ce-dialog details p{white-space:pre-wrap;overflow-wrap:anywhere}.ce-check{display:flex!important;gap:9px;align-items:flex-start;font-size:12px!important;font-weight:400!important}.ce-check input{margin:4px 0;flex-shrink:0}.ce-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 10px}.ce-fields label:last-child{grid-column:1/-1}.ce-primary{border:0;border-radius:12px;background:var(--ce-ink);color:var(--ce-paper);padding:12px 18px;font-family:inherit;font-size:13px;font-weight:600;line-height:1.5;cursor:pointer}.ce-secondary{padding:9px 0;border:0;color:var(--ce-muted);background:none;font:inherit;font-size:12px;cursor:pointer;margin-top:10px}.ce-dialog button:disabled{opacity:.55;cursor:wait}.ce-dialog :focus-visible{outline:3px solid var(--ce-ink);outline-offset:3px}.ce-privacy{padding:15px 22px;background:var(--ce-soft);border-top:1px solid var(--ce-line)}.ce-privacy small{display:block;margin-bottom:9px;font-size:10px}.ce-error{margin:0 22px 16px!important;padding:10px;background:color-mix(in srgb,var(--ce-danger) 9%,var(--ce-paper));color:var(--ce-danger);border-radius:10px}.ce-messages{max-height:35vh;min-height:100px;overflow:auto;overscroll-behavior:contain;padding:5px 2px;display:flex;flex-direction:column;gap:10px;margin-bottom:15px}.ce-bubble{max-width:92%;padding:11px 13px;background:var(--ce-soft);border-radius:14px 14px 14px 3px;align-self:flex-start}.ce-bubble[data-sender=visitor]{background:color-mix(in srgb,var(--ce-accent) 24%,var(--ce-paper));align-self:flex-end;border-radius:14px 14px 3px 14px}.ce-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:4px 0;font-size:13px}.ce-bubble small{font-size:10px}.ce-dialog #ce-faq-list:empty:after{content:'Belum ada jawaban yang sesuai. Silakan hubungi petugas.';font-size:13px;color:var(--ce-muted);display:block;padding:14px 0}@media(max-width:600px){.ce-launch{right:12px;bottom:56px;padding:9px 13px;font-size:11px}.ce-dialog{max-height:calc(100dvh - 16px)}.ce-head{padding:18px}.ce-dialog section{padding:15px 18px}}@media(prefers-reduced-motion:no-preference){.ce-launch{transition:transform .18s,box-shadow .18s}.ce-launch:hover{transform:translateY(-2px);box-shadow:0 9px 25px color-mix(in srgb,var(--ce-ink) 20%,transparent)}}
/* The public theme also styles dialogs/forms; keep this widget self contained. */
.ce-faq-attachments{margin:12px 0}.ce-faq-image{display:block;width:100%;padding:0;border:1px solid var(--ce-line);border-radius:12px;background:var(--ce-soft);overflow:hidden;cursor:zoom-in;color:var(--ce-ink)}.ce-faq-image img{display:block;width:100%;height:auto;max-height:240px;object-fit:contain;background:var(--ce-soft)}.ce-faq-image span{display:block;padding:10px;font-size:11px;font-family:inherit}.ce-file-card{padding:14px;border:1px solid var(--ce-line);border-radius:12px;background:var(--ce-soft);margin:12px 0;overflow-wrap:anywhere}.ce-file-card strong{font-size:13px;line-height:1.6;display:block;color:var(--ce-ink)}.ce-file-card>div{display:flex;gap:14px;flex-wrap:wrap;margin-top:7px}.ce-file-card a{font-family:inherit;font-size:12px;line-height:1.8;color:var(--ce-ink);text-decoration:underline;text-underline-offset:3px}
#ce-image-viewer{box-sizing:border-box;width:min(1000px,calc(100vw - 24px));max-height:calc(100dvh - 24px);padding:0;border:1px solid var(--ce-line);border-radius:18px;background:var(--ce-paper);color:var(--ce-ink);overflow:hidden;font-family:inherit}
#ce-image-viewer[open]{display:flex;flex-direction:column}
#ce-image-viewer::backdrop{background:color-mix(in srgb,var(--deep,#173c34) 90%,transparent)}
#ce-image-viewer header{position:static;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;background:var(--ce-soft);flex:0 0 auto;box-shadow:none}
#ce-image-viewer header strong{font-size:13px;color:var(--ce-ink)}
#ce-image-viewer header div{display:flex;gap:7px}
#ce-image-viewer button{width:36px;height:36px;min-height:36px;padding:0;border:1px solid var(--ce-line);border-radius:9px;background:var(--ce-paper);color:var(--ce-ink);font-size:21px;cursor:pointer}
#ce-image-viewer button:disabled{opacity:.4}
#ce-image-viewer .ce-image-scroll{flex:1;overflow:auto;max-height:calc(100dvh - 150px);min-height:60px;background:var(--ce-soft);overscroll-behavior:contain}
#ce-image-viewer img{display:block;width:100%;max-width:none;height:auto;max-height:none;object-fit:contain}
#ce-image-viewer>a{display:block;padding:12px 16px;color:var(--ce-ink);font-size:12px;text-decoration:underline;flex:0 0 auto}
#ce-dialog.ce-chatting #ce-chat{overflow:hidden}
#ce-dialog.ce-chatting #ce-hours{display:none}
#ce-dialog.ce-chatting #ce-conversation:not([hidden]){min-height:0}
#ce-dialog.ce-chatting .ce-messages{min-height:50px}
#ce-dialog.ce-chatting #ce-send textarea{height:54px;min-height:54px;max-height:75px;margin:4px 0 7px;resize:none}
#ce-dialog.ce-chatting #ce-end{min-height:25px;padding:4px 10px;margin-top:2px;font-size:10px}
#ce-dialog{height:min(680px,calc(100dvh - 32px));overflow:hidden;padding:0;isolation:isolate}
#ce-dialog[open]{display:flex;flex-direction:column}
#ce-dialog .ce-head{flex:0 0 auto;padding:20px 22px}
#ce-dialog .ce-head h2{font-family:inherit;font-style:normal;font-size:20px;line-height:1.4}
#ce-dialog .ce-head button{display:grid;place-items:center;padding:0;color:var(--ce-ink);line-height:1;min-height:36px}
#ce-dialog .ce-tabs{flex:0 0 auto;padding:12px 20px;display:flex}
#ce-dialog .ce-tabs button{width:auto;min-height:40px;padding:10px 8px}
#ce-dialog>section{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--ce-ink) 30%,var(--ce-paper)) transparent}
#ce-dialog #ce-chat:not([hidden]){display:flex;flex-direction:column}
#ce-dialog #ce-conversation:not([hidden]){display:flex;flex-direction:column;flex:1 1 auto;min-height:200px}
#ce-dialog .ce-messages{flex:1 1 auto;min-height:95px;max-height:none;padding:10px 0;margin:0 0 12px}
#ce-dialog #ce-presence{font-size:11px;line-height:1.6;margin:0 0 5px;color:var(--ce-muted)}
#ce-dialog #ce-hours{font-size:12px;margin:0 0 12px;padding-bottom:12px;border-bottom:1px solid var(--ce-line)}
#ce-dialog #ce-send{flex:0 0 auto}
#ce-dialog #ce-send label{font-size:11px;color:var(--ce-muted)}
#ce-dialog #ce-send textarea{min-height:65px;max-height:130px;margin-bottom:8px}
#ce-dialog .ce-primary{width:100%;min-height:43px;box-shadow:0 3px 0 color-mix(in srgb,var(--ce-ink) 14%,transparent);border:1px solid var(--ce-ink)}
#ce-dialog #ce-end{align-self:center;margin:8px 0 0;padding:8px 12px;min-height:34px}
#ce-dialog .ce-privacy{flex:0 0 auto;padding:11px 22px}
#ce-dialog .ce-privacy details{border:0;margin:0;padding:0}
#ce-dialog .ce-privacy summary{font-size:11px;color:var(--ce-muted);min-height:22px;line-height:22px}
#ce-dialog .ce-privacy small{font-size:10px;line-height:1.6;margin-top:8px}
#ce-dialog .ce-check{width:100%;min-width:0;display:flex;align-items:flex-start;gap:9px;white-space:normal;line-height:1.7}
#ce-dialog .ce-check input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;display:inline-block;width:16px!important;min-width:16px!important;max-width:16px!important;height:16px!important;min-height:16px!important;max-height:16px!important;flex:0 0 16px;margin:3px 0 0;padding:0;border:1px solid var(--ce-line);accent-color:var(--ce-ink)}
#ce-dialog .ce-check span{flex:1;min-width:0}
#ce-dialog input:not([type=checkbox]),#ce-dialog select,#ce-dialog textarea{min-width:0;box-shadow:none;letter-spacing:normal;font-family:inherit}
#ce-dialog .ce-error{flex:0 0 auto;font-size:12px;line-height:1.6;max-height:90px;overflow:auto;margin:0 22px 10px!important}
@media(max-width:600px){#ce-dialog{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);width:calc(100vw - 20px);border-radius:18px}#ce-dialog .ce-head{padding:16px 18px}#ce-dialog .ce-head h2{font-size:18px}#ce-dialog .ce-tabs{padding:9px 14px}#ce-dialog .ce-privacy{padding:9px 18px}}
