/* AI Ruang Maslahat — one chat surface for all configured providers. */
.rm-gemini-dialog,.rm-gemini-dialog *,.rm-gemini-launcher{box-sizing:border-box}
.rm-gemini-launcher{position:fixed;z-index:43999;right:148px;bottom:calc(88px + env(safe-area-inset-bottom,0px));min-height:46px;padding:0 16px;border:1px solid #c8eeeb;border-radius:14px;color:#073e42;background:#e4fbf4;box-shadow:0 5px 16px #10293d16;font:700 13px system-ui,sans-serif;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.rm-gemini-launcher span{color:#167a75;font-size:23px}
.webgis-overlay-right .rm-gemini-launcher{position:static;flex:0 0 auto;min-height:44px;height:44px;padding:0 14px;font-size:12px;z-index:auto}
html body .rm-gemini-dialog{position:fixed;inset:84px 18px 18px auto;width:min(520px,calc(100vw - 36px));height:calc(100dvh - 102px);max-height:calc(100dvh - 102px);max-width:none;margin:0;padding:0;z-index:50050;border:1px solid #d7e3e8;border-radius:20px;color:#17384d;background:#fff;box-shadow:0 20px 60px #10293d29;font:14px/1.6 system-ui,sans-serif;overflow:hidden}
html body .rm-gemini-dialog:not([open]){display:none}
.rm-gemini-dialog[open]{display:flex;flex-direction:column}
.rm-gemini-dialog [hidden]{display:none!important}
.rm-gemini-dialog button,.rm-gemini-dialog textarea,.rm-gemini-dialog select{font:inherit}
.rm-gemini-dialog button{cursor:pointer;border:1px solid #d7e3e8;border-radius:10px;background:#fff;color:#23475a;padding:7px 12px;font-size:12px;font-weight:650;min-height:38px}
.rm-gemini-dialog button:hover{background:#f0f7f5}
.rm-gemini-dialog button:disabled,.rm-gemini-dialog textarea:disabled{cursor:not-allowed;opacity:.55}
.rm-gemini-dialog :focus-visible,.rm-gemini-launcher:focus-visible{outline:2px solid #0f766e;outline-offset:3px}
.rm-gemini-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px 12px;border-bottom:1px solid #e2eaee;background:#f8fafb;flex:none}
.rm-gemini-head h2{font:700 19px/1.3 system-ui,sans-serif;margin:0 0 3px;color:#17384d}
#rmGeminiBadge{color:#54717b;font-size:11px}
.rm-gemini-head button{width:36px;height:36px;min-height:36px;padding:8px;border-radius:11px;flex:none}
.rm-gemini-head button svg{display:block;width:18px;height:18px}
.rm-gemini-tools{display:flex;align-items:center;gap:8px;padding:8px 20px;border-bottom:1px solid #e9eff2;flex:none}
.rm-gemini-tools button{white-space:nowrap;flex:0 0 auto;border-color:transparent;font-size:12px;padding:5px 9px}
#rmGeminiOptionsToggle{margin-left:auto}
.rm-gemini-tools button[aria-expanded=true]{background:#eaf4f1;color:#0e6861}
.rm-gemini-messages,.rm-gemini-options{min-height:0;flex:1 1 0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable;padding:22px 20px;background:#f8fafb}
.rm-gemini-options{background:#fff;padding-top:12px}
.rm-gemini-empty{text-align:center;max-width:330px;margin:clamp(12px,8vh,80px) auto 20px}
.rm-gemini-spark{display:block;font-size:36px;color:#0f766e;margin-bottom:8px}
.rm-gemini-empty h3{font-size:19px;font-weight:650;color:#17384d;margin:0 0 10px}
.rm-gemini-empty p{font-size:14px;line-height:1.8;color:#637983;margin:0}
.rm-gemini-message{padding:16px 18px;margin:0 0 20px;border:1px solid #e2eaee;border-radius:14px;background:#fff;overflow-wrap:anywhere}
.rm-gemini-message>strong{display:block;font-size:11px;font-weight:650;color:#607e88;margin-bottom:8px}
.rm-gemini-user{margin-left:40px;background:#eaf5f1;border-color:#dcece5}
.rm-gemini-message-text{white-space:pre-wrap;font-size:15px;line-height:1.8;color:#213c4a}
.rm-gemini-copy{margin-top:12px;font-size:11px!important;min-height:32px!important;background:transparent!important;border-color:transparent!important;padding-left:0!important;color:#597580!important}
.rm-gemini-feedback{flex:none;max-height:100px;overflow:auto;padding:0 20px;font-size:12px}
#rmGeminiNotice{margin:8px 0;color:#526d78}
#rmGeminiNotice[data-error=true]{color:#a12c23}
#rmGeminiLogin{display:inline-flex;align-items:center;min-height:44px;color:#0f766e;font-weight:650}
#rmGeminiSetup{padding-block:8px}
.rm-gemini-form{flex:none;padding:12px 20px 16px;border-top:1px solid #e2eaee;background:#fff}
.rm-gemini-label{display:block;font-size:12px;font-weight:650;margin-bottom:6px}
#rmGeminiForm>.rm-gemini-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
#rmGeminiInput{display:block;width:100%;min-height:66px;max-height:130px;resize:vertical;border:1px solid #cbdce1;border-radius:12px;padding:10px 12px;color:#17384d;background:#fff;font-size:15px;line-height:1.5}
.rm-gemini-send-row{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin-top:8px}
.rm-gemini-send-row small{margin-right:auto;color:#72858b;font-size:10px}
#rmGeminiSend{background:#0e6861;border-color:#0e6861;color:white;min-width:78px}
.rm-gemini-options details{padding:12px 0;border-bottom:1px solid #e8eef0}
.rm-gemini-options summary{cursor:pointer;min-height:32px;color:#17384d;font-weight:650;line-height:1.8}
.rm-gemini-options p{font-size:12px;color:#607783;margin:8px 0}
.rm-gemini-options select{display:flex;align-items:center;justify-content:space-between;width:100%;min-height:42px;padding:8px;border:1px solid #cbdce1;border-radius:9px;background:#fff;color:#17384d;font-size:13px}
#rmGeminiDatasetCount,#rmGeminiModelChoice{font-size:11px;color:#637e86;margin-left:8px;font-weight:400}
.rm-gemini-dataset-list{display:grid;gap:6px;max-height:200px;overflow:auto;margin-block:8px}
.rm-gemini-dataset-option{display:flex;align-items:center;gap:10px;min-height:46px;padding:8px;border:1px solid #dce7eb;border-radius:9px;cursor:pointer}
.rm-gemini-dataset-option:has(input:checked){border-color:#8bbab1;background:#f2f8f6}
.rm-gemini-dataset-option span{display:grid;gap:2px;min-width:0;overflow-wrap:anywhere}
.rm-gemini-dataset-option strong{font-size:12px}
.rm-gemini-dataset-option small{font-size:11px;color:#637b88}
.rm-gemini-dataset input,.rm-gemini-context input{flex:none;width:17px;height:17px;accent-color:#0f766e}
.rm-gemini-dataset-buttons{display:flex;gap:8px;flex-wrap:wrap}
.rm-gemini-action-toggle,.rm-gemini-context label{display:flex;gap:8px;align-items:center;min-height:42px;font-size:12px}
.rm-gemini-context{display:flex;justify-content:space-between;align-items:center;gap:8px}
#rmGeminiContextPreview{font:11px/1.6 system-ui,sans-serif;white-space:pre-wrap;overflow-wrap:anywhere;padding:10px;background:#f1f7f5;max-height:120px;overflow:auto}
.rm-gemini-connection{padding:12px 0}
.rm-gemini-model{display:block;margin-top:8px;font-size:11px;color:#637b88;overflow-wrap:anywhere}
#rmGeminiOptionsDone{margin-top:16px}
.rm-gemini-message>a{display:inline-flex;align-items:center;min-height:40px;color:#126860;font-size:12px}
html[data-page="dashboard-admin"] .rm-gemini-launcher{right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(76px + env(safe-area-inset-bottom,0px));min-width:116px;justify-content:center}
html[data-page="dashboard-admin"] .rm5450-help-launcher{right:calc(18px + env(safe-area-inset-right,0px));bottom:calc(18px + env(safe-area-inset-bottom,0px));min-width:116px;height:46px;justify-content:center;border-radius:14px}
@media(max-width:720px){
 html body .rm-gemini-dialog{inset:112px 8px 76px;width:auto;height:calc(100dvh - 188px);max-height:calc(100dvh - 188px);border-radius:16px;padding-bottom:env(safe-area-inset-bottom)}
 html[data-page="dashboard-admin"] body .rm-gemini-dialog{inset:80px 10px 10px;height:calc(100dvh - 90px);max-height:calc(100dvh - 90px)}
 .webgis-overlay-right .rm-gemini-launcher{height:40px;min-height:40px;padding:0 9px;font-size:11px}
 html[data-page="dashboard-admin"] .rm5450-help-launcher{bottom:calc(78px + env(safe-area-inset-bottom,0px))}
 html[data-page="dashboard-admin"] .rm-gemini-launcher{bottom:calc(136px + env(safe-area-inset-bottom,0px))}
 .rm-gemini-head{padding:12px 14px}.rm-gemini-head h2{font-size:17px}.rm-gemini-tools{padding:4px 10px}
 .rm-gemini-messages,.rm-gemini-options{padding:16px 12px}.rm-gemini-message{padding:13px;margin-bottom:16px}.rm-gemini-user{margin-left:24px}
 .rm-gemini-form{padding:10px 12px}.rm-gemini-message-text{font-size:14px}.rm-gemini-empty{margin-top:24px}
}
@media(max-height:540px){html body .rm-gemini-dialog,html[data-page="dashboard-admin"] body .rm-gemini-dialog{top:10px;height:calc(100dvh - 20px);max-height:calc(100dvh - 20px)}.rm-gemini-head{padding-block:8px}.rm-gemini-form{padding-block:8px}#rmGeminiInput{min-height:48px;max-height:70px}.rm-gemini-empty{margin:0 auto}.rm-gemini-empty .rm-gemini-spark{display:none}.rm-gemini-feedback{max-height:60px}}
@media print{.rm-gemini-launcher,.rm-gemini-dialog{display:none!important}}
@media(forced-colors:active){.rm-gemini-dialog button,.rm-gemini-launcher{border:1px solid ButtonText}}
.rm-gemini-result-table { overflow: auto; max-height: 320px; margin-top: 10px; }
.rm-gemini-result-table table { border-collapse: collapse; font-size: 11px; width: 100%; }
.rm-gemini-result-table caption { text-align: left; padding: 8px 0; color: #546d70; }
.rm-gemini-result-table th, .rm-gemini-result-table td { text-align: left; padding: 7px; border: 1px solid #d4e5e4; min-width: 70px; max-width: 200px; overflow-wrap: anywhere; }
.rm-gemini-result-table th { background: #e4f3ef; }
/* Grounded answers retain the provider's text and source links. */
.rm-gemini-sources{margin:12px 0 0;padding-left:22px;display:grid;gap:10px;font-size:13px}
.rm-gemini-sources a,.rm-gemini-citation{color:#175b77;text-decoration:underline;text-underline-offset:2px;overflow-wrap:anywhere}
.rm-gemini-source-provider{display:block;font-family:Roboto,Arial,sans-serif;font-style:normal;font-weight:400;font-size:12px;color:#5e5e5e;letter-spacing:normal;white-space:nowrap}
.rm-gemini-search-suggestions{display:block;width:100%;height:200px;border:0;background:white;margin-top:12px;border-radius:8px}
