/* Presentation only. The existing application owns every data control. */
.geokal-mobile-tools { position:fixed; bottom:calc(38px + env(safe-area-inset-bottom)); right:12px; z-index:100; }
.geokal-mobile-tools summary { cursor:pointer; border:1px solid #94a9b7; border-radius:24px; background:#132d40; color:white; padding:12px 18px; font:600 14px system-ui; }
.geokal-mobile-tools section { width:min(300px,calc(100vw - 48px)); padding:16px; background:#fff; color:#132d40; border:1px solid #94a9b7; border-radius:12px; font:14px/1.5 system-ui; box-shadow:0 4px 20px #0003; }
.geokal-mobile-tools section p { color:#132d40; opacity:1; margin:12px 0; font:14px/1.5 system-ui; }
.geokal-mobile-tools section { max-height:calc(100dvh - 160px); overflow-y:auto; box-sizing:border-box; }
.geokal-mobile-tools button { min-height:44px; font:inherit; }
.geokal-mobile-tools [hidden] { display:none !important; }
.geokal-connection { position:fixed; top:0; left:0; right:0; z-index:10000; padding:12px; background:#fff1bc; color:#442f00; text-align:center; font:600 14px system-ui; }
.geokal-connection[hidden] { display:none; }
@media (max-width:900px) {
  body { padding-left:env(safe-area-inset-left); padding-right:env(safe-area-inset-right); }
  button, select, input:not([type=checkbox]):not([type=radio]) { min-height:44px; }
  input, select, textarea { font-size:16px; }
  dialog { max-width:calc(100vw - 24px); max-height:calc(100dvh - 24px); }
  .workspace { height:calc(100dvh - 96px - env(safe-area-inset-bottom)); }
  footer { padding-bottom:env(safe-area-inset-bottom); }
}
@media print { .geokal-mobile-tools, .geokal-connection { display:none !important; } }
